31 lines
1.3 KiB
Markdown
31 lines
1.3 KiB
Markdown
# Project Architecture & Guidelines
|
|
|
|
## Monorepo Layout
|
|
- **Backend**: `./brewman` (Python, managed via `uv`)
|
|
- **Frontend**: `./overlord` (Angular, managed via `npm`/`ng`)
|
|
- **Environment**: Root `.env` file containing shared/database variables.
|
|
|
|
---
|
|
|
|
## Execution Rules & Commands
|
|
|
|
### Backend (`/brewman`)
|
|
- **Working Directory**: Always execute backend commands within `./brewman` OR pass `--directory brewman` to `uv`.
|
|
- **Package & Script Management**:
|
|
- Use `uv` exclusively. Never run bare `pip` or global `python`.
|
|
- Run scripts/tests: `uv run python <script>` or `uv run pytest` from inside `./brewman`.
|
|
- Manage dependencies: `uv add <package>` or `uv remove <package>`.
|
|
- **Environment**: The root `.env` file (`../.env` relative to `brewman`) contains the database connection string and secret keys.
|
|
|
|
### Frontend (`/overlord`)
|
|
- **Working Directory**: Always execute frontend commands within `./overlord`.
|
|
- **Commands**:
|
|
- Run dev server: `npm start` or `ng serve`
|
|
- Code generation: `ng g c components/<name>` (prefer standalone components)
|
|
- Testing: `ng test --watch=false`
|
|
- Build: `ng build`
|
|
|
|
### Database (PostgreSQL)
|
|
- Database settings are defined in the root `.env`.
|
|
- Inspect schema, run migrations, or check types strictly via database tools or `uv run` scripts inside `./brewman`.
|