Files
dance-lessons-coach/AGENTS.md
Gabriel Radureau 88a934dfd2 📝 docs(restructure): rewrite AGENTS.md as short directive (Tâche 6 Phase C)
AGENTS.md passe de 1296 → 130 lignes, sous la cible 200 fixée en
D-004 (lazy loading 128k). Ne contient plus que :
- Project overview (court)
- Tools & technologies (table)
- Project structure (tree)
- Tableau "Detailed Guides" pointant vers documentation/*.md
  (12 entrées, tous liens vérifiés valides)
- Index des ADR-clés avec liens (13 entrées, tous valides)
- AI agent info (court, pointe vers AGENT_USAGE_GUIDE)
- Commit conventions (court, pointe vers .vibe/skills/commit-message/)
- BDD feature structure (court, pointe vers ADR-0008 + BDD_GUIDE)
- Retention policy (gardée intégralement, directive ARCODANGE)
- Support (procédure escalade en 5 étapes)

Section Version Management (ex-928-1076, ~150 lignes) entièrement
SUPPRIMÉE — totalement redondante avec documentation/version-management-
guide.md (cf. analyse Phase A `~/.vibe/plans/task-6-phase-a-results.md`).

Lien cassé ligne 1277 corrigé : `0019-bdd-feature-structure.md`
(inexistant) remplacé par référence à ADR-0008 (bdd-testing) + ADR-0025
(scenario-isolation) qui sont les vraies sources autoritaires.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 23:28:24 +02:00

131 lines
6.9 KiB
Markdown

# dance-lessons-coach — AI Agent Documentation
This file is the directive document auto-loaded by Mistral Vibe (and Claude Code) when working on `dance-lessons-coach`. It stays short by design (≤ 200 lines, lazy-loading compatible with 128k context). Detailed content lives in `documentation/` and is loaded on demand.
> **Restructured 2026-05-02** : the original 1296-line `AGENTS.md` was split into focused guides under `documentation/` (Tâche 6 of the ARCODANGE migration Claude → Mistral Vibe). See [`documentation/HISTORY.md`](documentation/HISTORY.md) for context.
## 🎯 Project Overview
**dance-lessons-coach** is a Go-based web service with CLI capabilities, featuring:
- RESTful JSON API with Chi router
- High-performance Zerolog logging
- Interface-based architecture
- Context-aware services
- Comprehensive testing (unit + BDD with Godog)
## 🛠️ Tools & Technologies
| Component | Technology | Version |
|---|---|---|
| Language | Go | 1.26.1 |
| Router | Chi | v5.2.5 |
| Logging | Zerolog | v1.35.0 |
| Configuration | Viper | v1.21.0 |
| Testing | Godog (BDD) + std lib | v0.15.1 |
| Telemetry | OpenTelemetry | v1.43.0 |
| Tracing | Jaeger compatible | — |
## 🗺️ Project Structure
```
dance-lessons-coach/
├── adr/ # Architecture Decision Records (25+)
├── cmd/ # Entry points (greet, server)
├── pkg/ # Core logic (config, greet, server, telemetry, bdd, user, ...)
├── features/ # BDD scenarios (.feature files)
├── fixtures/ # BDD test fixtures
├── scripts/ # Server lifecycle, build, test scripts
├── documentation/ # Detailed guides (CLI, API, BDD, etc.)
├── .vibe/skills/ # Project-scoped vibe skills
├── AGENTS.md # This file (auto-loaded by vibe)
├── AGENT_CHANGELOG.md # Trace of structural decisions by AI agents
├── CHANGELOG.md # User-facing changelog
└── README.md # User documentation
```
## 📚 Detailed Guides (load on demand)
The directive content is intentionally short. For details, point Mistral / Claude at the relevant guide:
| Topic | Reference |
|---|---|
| **CLI commands & server lifecycle** | [`documentation/CLI.md`](documentation/CLI.md) |
| **REST API endpoints** | [`documentation/API.md`](documentation/API.md) |
| **OpenTelemetry / Jaeger** | [`documentation/OBSERVABILITY.md`](documentation/OBSERVABILITY.md) |
| **Troubleshooting** | [`documentation/TROUBLESHOOTING.md`](documentation/TROUBLESHOOTING.md) |
| **Code patterns & examples** | [`documentation/CODE_EXAMPLES.md`](documentation/CODE_EXAMPLES.md) |
| **Roadmap & future enhancements** | [`documentation/ROADMAP.md`](documentation/ROADMAP.md) |
| **Development phases (history)** | [`documentation/HISTORY.md`](documentation/HISTORY.md) |
| **Agent workflows & best practices** | [`documentation/AGENT_USAGE_GUIDE.md`](documentation/AGENT_USAGE_GUIDE.md) |
| **BDD testing** | [`documentation/BDD_GUIDE.md`](documentation/BDD_GUIDE.md) |
| **Version management** | [`documentation/version-management-guide.md`](documentation/version-management-guide.md) |
| **Local CI/CD testing** | [`documentation/local-ci-cd-testing.md`](documentation/local-ci-cd-testing.md) |
| **Gitmoji cheatsheet** | [`documentation/GITMOJI_CHEATSHEET.md`](documentation/GITMOJI_CHEATSHEET.md) |
| **User-facing changelog** | [`CHANGELOG.md`](CHANGELOG.md) |
| **AI agent decisions log** | [`AGENT_CHANGELOG.md`](AGENT_CHANGELOG.md) |
## 📝 Architecture Decision Records (ADRs)
The project maintains comprehensive ADRs documenting all major architectural choices. See [`adr/README.md`](adr/README.md) for the index and process.
**Key decisions** (load the corresponding ADR for full context):
- **Language**: Go 1.26.1 ([ADR-0001](adr/0001-go-1.26.1-standard.md))
- **Routing**: Chi router ([ADR-0002](adr/0002-chi-router.md))
- **Logging**: Zerolog ([ADR-0003](adr/0003-zerolog-logging.md))
- **Design**: Interface-based ([ADR-0004](adr/0004-interface-based-design.md))
- **Shutdown**: Graceful with readiness ([ADR-0005](adr/0005-graceful-shutdown.md))
- **Config**: Viper ([ADR-0006](adr/0006-configuration-management.md))
- **Observability**: OpenTelemetry ([ADR-0007](adr/0007-opentelemetry-integration.md))
- **Testing**: BDD with Godog ([ADR-0008](adr/0008-bdd-testing.md))
- **Hybrid testing strategy**: ([ADR-0009](adr/0009-hybrid-testing-approach.md))
- **CLI**: Cobra subcommands ([ADR-0015](adr/0015-cli-subcommands-cobra.md))
- **CI/CD**: Trunk-based development ([ADR-0017](adr/0017-trunk-based-development-workflow.md))
To add a new ADR: copy an existing one (`adr/0001-*.md`) as a template, edit, then update `adr/README.md`.
## 🤖 AI Agent Information
**Default agent** (Mistral Vibe CLI):
- **Model**: `mistral-medium-3.5` (via alias `mistral-vibe-cli-latest` — devstral-2 lineage)
- **Role**: Development assistant
- **Capabilities**: code generation, refactoring, test creation, documentation, architecture guidance, best-practices enforcement
For agent-specific workflows (programmer agent, product owner agent, BDD test generation), see [`documentation/AGENT_USAGE_GUIDE.md`](documentation/AGENT_USAGE_GUIDE.md).
For migration context (Claude Code → Mistral Vibe in progress), see `~/.vibe/plans/migration-claude-vers-mistral-phase-1.md`.
## 📝 Commit Conventions
Conventional Commits + gitmoji. Full reference and tooling in the project skill:
- **Skill**: [`.vibe/skills/commit-message/`](.vibe/skills/commit-message/) (auto-loaded by vibe in this project)
- **Cheatsheet**: [`documentation/GITMOJI_CHEATSHEET.md`](documentation/GITMOJI_CHEATSHEET.md)
Quick rule: every commit starts with a gitmoji + conventional type (e.g., `✨ feat: add user authentication`, `🐛 fix: prevent race condition`, `📝 docs: update API guide`).
## 📋 BDD Feature Structure
All user stories and BDD features follow the conventions in [ADR-0008 — BDD Testing](adr/0008-bdd-testing.md) and the practical guide [`documentation/BDD_GUIDE.md`](documentation/BDD_GUIDE.md). Scenario isolation pattern is detailed in [ADR-0025](adr/0025-bdd-scenario-isolation-strategies.md).
## 🗑️ Retention Policy
| Domain | Policy |
|---|---|
| **ADRs** | Review quarterly. Deprecate via `Status: Deprecated`. Remove after 6 months of deprecation. |
| **Documentation** | Archive completed projects to `archive/`. Remove after 12 months. |
| **Scripts** | Move unused to `scripts/deprecated/`. Remove after 6 months. |
| **Skills** | Move unused to `.vibe/skills/deprecated/`. Remove after 6 months. |
## 📞 Support
For issues or questions:
1. Check the relevant guide above (table "Detailed Guides")
2. Review the corresponding ADR
3. Examine existing implementations in `pkg/`
4. Consult the agent's reasoning trace (sessions in `~/.vibe/logs/session/`) for context-rich help
5. As last resort, consult Go / Chi / Zerolog / Viper upstream documentation