project-overview.mdc 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. ---
  2. description: Terse Hue overview + global constraints; always include in all requests.
  3. globs:
  4. alwaysApply: true
  5. ---
  6. # Hue Overview (short)
  7. - Backend: Python/Django; Frontend: React (primary) + some Vue/KO/jQuery.
  8. - Styling: SCSS (BEM). Avoid adding new Less; migrate to SCSS when touching.
  9. - UI libs: Ant Design (antd) + Cloudera UI (cuix).
  10. - TS strict; avoid `any`. Prefer named type imports.
  11. - No CSS Modules; use global SCSS conventions.
  12. ## Golden Rules
  13. - Focus on the task given, do not expand your tasks without requesting confirmation first.
  14. - Do not automatically start coding if you are asked a question. Only code when asked to.
  15. - Always try to follow best practices and avoid hacks
  16. - Write Clean Code with Meaningful names, Single responsibility, Expressive code etc
  17. - Prefer **React + TypeScript** for new UI.
  18. - Maintain KO↔React via `reactWrapper` where used.
  19. - No hardcoded color codes; use tokens/variables.
  20. - All user-facing text must be i18n'd.
  21. ## Project Structure
  22. hue/
  23. ├── apps/ # Backend Django applications
  24. │ ├── beeswax/ # Hive query interface
  25. │ ├── filebrowser/ # File system browser
  26. │ ├── impala/ # Impala query interface
  27. │ ├── jobbrowser/ # Job monitoring
  28. │ ├── metastore/ # DB Table Browser
  29. │ ├── notebook/ # Interactive sql Editor
  30. │ ├── oozie/ # Workflow management
  31. │ ├── rdbms/ # RDBMS connectors
  32. │ └── ... # Other backend apps
  33. ├── desktop/ # Core desktop functionality
  34. │ ├── core/ # Core desktop components
  35. │ │ └── src/desktop/
  36. │ │ ├── js/ # Frontend JavaScript/TypeScript
  37. │ │ │ ├── apps/ # Application-specific components
  38. │ │ │ │ ├── editor/ # SQL Editor app
  39. │ │ │ │ ├── notebook/ # Notebook app
  40. │ │ │ │ ├── tableBrowser/
  41. │ │ │ │ └── jobBrowser/
  42. │ │ │ ├── reactComponents/ # Shared React components
  43. │ │ │ ├── vue/ # Vue.js components
  44. │ │ │ ├── ko/ # Knockout.js components
  45. │ │ │ ├── components/ # Legacy components
  46. │ │ │ ├── utils/ # Utility functions
  47. │ │ │ ├── api/ # API utilities
  48. │ │ │ └── types/ # TypeScript type definitions
  49. │ │ ├── static/ # Static assets
  50. │ │ └── templates/ # Django templates
  51. │ └── libs/ # Shared libraries
  52. ├── tools/ # Build and development tools
  53. ├── docs/ # Documentation
  54. ├── ext/ # External dependencies
  55. ├── maven/ # Maven build configuration
  56. ├── package.json # Frontend dependencies
  57. ├── pyproject.toml # Python project configuration
  58. ├── webpack.config.js # Webpack configuration
  59. ├── tsconfig.json # TypeScript configuration
  60. ├── jest.config.js # Jest testing configuration
  61. ├── .eslintrc.js # ESLint configuration
  62. ├── .prettierrc # Prettier configuration
  63. ├── .stylelintrc # Stylelint configuration
  64. └── Makefile # Build automation