AIMER is a Python monorepo that groups three complementary projects behind a single quality and CI/CD surface. Runtime dependencies are locked per package so the web, ML/API, and federated-learning services can evolve independently.
services/aimer-web/: primary Django web application, UI templates, static assets, and RAG code.services/MAGE/: ML/API service, model-oriented tests, and FastAPI/MCP endpoints.services/FARM/: supporting Django service for data and platform workflows.infra/dev-stack/: local integration stack for stores, observability, workflow tools, and RAG dependencies..github/: GitHub Actions, Dependabot, release automation, and issue templates.pyproject.toml: repository-level Python and tooling configuration.renovate.json: Renovate dependency automation configuration.
See docs/PROJECT_STRUCTURE.md for the detailed layout and docs/MICROSERVICES.md for service boundaries.
Production readiness and regulated-operation artefacts live under
docs/operations, with the evidence index in
docs/operations/README.md. infra/dev-stack is
local-only; use infra/prod as the starting checklist for
production planning.
Run the production evidence gate locally with:
python scripts/validate_production_evidence.pyRun the deployment manifest tests locally with:
python scripts/validate_deployment_manifests.py- Clone the repository.
- Choose the service you want to work on:
services/aimer-web,services/MAGE, orservices/FARM. - Use Python 3.13.
- Install dependencies from that package directory with the local
uv.lock. - Run package-specific tests and linters before opening a pull request.
Each package may carry its own README and operational constraints. Prefer local package documentation for day-to-day commands.
- Keep changes scoped to the relevant package.
- Do not commit local environments, caches,
.envfiles, or SQLite databases. - Keep dependency automation in sync with real manifests and Dockerfiles.
- Ensure CI checks are green before merge.
Refer to the repository license and package-level metadata.