34 lines
1.6 KiB
Markdown
34 lines
1.6 KiB
Markdown
# Gemini Global Configuration (GEMINI.md)
|
|
|
|
This document provides a set of global instructions and principles for the Gemini CLI to follow during our interactions.
|
|
|
|
**Reference:**
|
|
- **[Project Architecture](file:///Users/moritz/src/fitness_antigravity/ARCHITECTURE.md)**: ALWAYS refer to this document for the technical layout and data flows of the system.
|
|
|
|
## Environment Management
|
|
- **Startup Rule:** ALWAYS start the application using `bash fitmop.sh`. NEVER try to start individual services (uvicorn, npm) manually.
|
|
- **Shutdown:** Use `Ctrl+C` to stop the services when running via `fitmop.sh`.
|
|
|
|
## Code Quality & Standards
|
|
|
|
### 1. Linting & Formatting
|
|
ALWAYS run linters and formatters before completing a task:
|
|
- **Backend (Ruff)**: `uv run ruff check . --fix`
|
|
- **Frontend (ESLint/Prettier)**: `npm run lint` and `npm run format` (in `/frontend`)
|
|
- **Action**: Fix ALL errors and warnings before proceeding to verification.
|
|
|
|
### 2. Testing
|
|
ALWAYS run the full test suite to ensure no regressions:
|
|
- **Backend**: `uv run pytest` (in `/backend`)
|
|
- **Frontend**: `npm run test` (in `/frontend`)
|
|
- **Action**: Every new feature or major refactor MUST include or update relevant tests.
|
|
|
|
### 3. Error Handling & Logging
|
|
- **No Print Statements**: Use `logging` in Python and `console.error` (with prefix) in Vue.
|
|
- **Fail Fast**: Let exceptions bubble up to the global handler in `backend/src/main.py`.
|
|
- **Validation**: Use Pydantic models for all API requests and responses.
|
|
|
|
### 4. Documentation
|
|
- Refer to `CONTRIBUTING.md` for detailed guidelines.
|
|
- Keep `task.md` and `implementation_plan.md` updated throughout the task.
|