Files

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`.