FitMop/GEMINI.md

33 lines
1.7 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)**: CRITICAL: You MUST read this file at the start of every session to understand the enforced tooling (`uv`, `google-genai`) and architectural patterns.
## Environment Management
- **Startup Rule:** ALWAYS start the application using `make run`. NEVER try to start individual services manually or use the old `fitmop.sh`.
- **Shutdown:** Use `Ctrl+C` to stop the services.
## Code Quality & Standards
### 1. Verification & Quality Gates
**Strict Rule:** ALWAYS run `make check` before marking a task as complete. This command performs:
- **Linting & Formatting**: (Ruff, ESLint, Prettier)
- **Testing**: Runs all unit tests.
- **Coverage**: Enforces **100% line coverage** for both backend and frontend.
**Action:**
- If `make check` fails, the task is **NOT DONE**. Fix ALL errors, warnings, and coverage drops.
- DO NOT rely on individual commands (like `pytest` or `npm test`) for final verification. `make check` is the single source of truth.
- **New Code**: Must have 100% test coverage and adhere to best practices.
### 2. 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.
### 3. Documentation
- Refer to `CONTRIBUTING.md` for detailed guidelines.
- Keep `task.md` and `implementation_plan.md` updated throughout the task.