FitMop/GEMINI.md

1.6 KiB

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