doc v1.6.2
Documentation : ADR, RTFM, génération docs, framework docs.
Installation
/plugin install doc@atournayreSkills Disponibles
Le plugin doc fournit 4 skills (format natif Claude Code) :
/doc:adr
Génère un Architecture Decision Record (ADR) formaté et structuré.
Arguments :
/doc:adr [titre]Exemples :
/doc:adr "Choix architecture API"
/doc:adr "Migration vers PostgreSQL"Template ADR :
# ADR-001: [Titre]
Date: YYYY-MM-DD
Status: Proposed
## Context
[Contexte et problématique]
## Decision
[Décision prise]
## Consequences
### Positives
- [Avantage 1]
### Negatives
- [Inconvénient 1]
## Alternatives Considered
- [Alternative 1] - [Raison rejet]Sauvegarde :
docs/adr/NNNN-titre.md- Numérotation automatique
- Index mis à jour
/doc:rtfm
Lit la documentation technique - RTFM (Read The Fucking Manual).
Arguments :
/doc:rtfm [url|doc-name]Exemples :
# Par URL
/doc:rtfm https://symfony.com/doc/current/security.html
# Par nom de doc locale
/doc:rtfm docs/symfony/security.mdWorkflow :
- Fetch URL ou lit fichier local
- Parse documentation
- Extrait sections pertinentes
- Présente structuré
/doc:update
Crée/met à jour la documentation pour la fonctionnalité en cours.
Usage :
/doc:updateWorkflow :
- Analyse modifications récentes (git diff)
- Identifie fonctionnalités impactées
- Génère/met à jour docs :
- Docs techniques dans
docs/ - README global si nécessaire
- Docs techniques dans
- Lie documents entre eux
- Évite docs orphelines
Structure générée :
docs/
├── features/
│ ├── authentication.md
│ └── user-management.md
├── api/
│ └── endpoints.md
└── README.md (index)Contenu type :
# Feature: Authentication
## Overview
[Description]
## Usage
[Exemples code]
## API
[Endpoints]
## Configuration
[Config requise]
## See Also
- [user-management.md](user-management.md)
- [api/endpoints.md](../api/endpoints.md)/doc:framework-load
🔹 Skill disponible : doc-loader
Charge la documentation d'un framework depuis son site web dans des fichiers markdown locaux.
Arguments :
/doc:framework-load <framework-name> [version]Frameworks supportés :
symfony→ Agent:symfony-docs-scraperapi-platform→ Agent:api-platform-docs-scrapermeilisearch→ Agent:meilisearch-docs-scraperatournayre-framework→ Agent:atournayre-framework-docs-scraperclaude→ Agent:claude-docs-scraper
Exemples :
# Symfony version courante
/doc:framework-load symfony
# API Platform version spécifique
/doc:framework-load api-platform 3.2
# Meilisearch
/doc:framework-load meilisearch 1.5Fonctionnalités :
- Cache intelligent 24h (ignore fichiers récents, supprime anciens)
- Délégation aux agents scraper spécialisés
- Support multi-version (argument optionnel)
- Anti-rate-limiting (délai 2s entre URLs)
- Stockage
docs/{framework}/[version]/ - Disponible offline après chargement
- Statistiques détaillées (couverture, taille, fichiers)
Workflow :
- Validation framework supporté
- Lecture README avec liste URLs (
~/.claude/docs/<framework>/[version]/README.md) - Gestion cache (skip/delete)
- Pour chaque URL :
- Délégation à agent scraper via Task tool
- Sauvegarde markdown
- Délai 2s anti-rate-limit
- Rapport final (URLs traitées, fichiers créés, erreurs)
Sauvegarde :
docs/
├── symfony/
│ ├── 6.4/
│ │ ├── security.md
│ │ ├── routing.md
│ │ └── ...
│ └── latest/
│ └── ...
├── api-platform/
│ ├── 3.2/
│ │ └── ...
└── claude/
├── commands.md
└── .../doc:framework-question
Interroge la documentation locale d'un framework pour répondre à une question.
Arguments :
/doc:framework-question <framework-name> [version] <question>Exemples :
/doc:framework-question symfony "Comment configurer la sécurité ?"
/doc:framework-question api-platform 3.2 "Créer une ressource API ?"Workflow :
- Cherche dans docs locales
docs/{framework}/ - Grep avec mots-clés
- Parse sections pertinentes
- Présente réponse structurée avec :
- Explication
- Code examples
- Références fichiers sources
Prérequis :
- Documentation chargée via
/doc:framework-load
Workflow Documentation Complet
ADR pour décision architecture
/doc:adr "Migration vers PostgreSQL"
# Éditer ADR généré
# Commit ADRDocumenter nouvelle feature
# Après implémentation
/doc:update
# Génère docs automatiquement
# Lie avec docs existantesApprendre framework
# 1. Charger docs
/doc:framework-load symfony
# 2. Poser questions
/doc:framework-question symfony "Comment créer un controller ?"
# 3. Travailler offline avec docs localesLire doc externe
/doc:rtfm https://www.doctrine-project.org/projects/doctrine-orm/en/latest/reference/events.htmlConfiguration
.claude/settings.json :
{
"doc": {
"adr_path": "docs/adr",
"auto_number": true,
"frameworks": {
"symfony": "https://symfony.com/doc/current",
"api-platform": "https://api-platform.com/docs"
}
}
}Best Practices
ADR :
- 1 ADR par décision importante
- Status : Proposed → Accepted/Rejected
- Documenter alternatives
Documentation code :
- Mise à jour après chaque feature
- Exemples concrets
- Liens entre docs
Framework docs :
- Reload hebdomadaire pour updates
- Version spécifique pour prod
- Cache local pour perf
Skills Disponibles
doc-loader
Localisation : skills/doc-loader/
Skill générique pour le chargement de documentation de frameworks. Utilisé automatiquement par /doc:framework-load, /symfony:doc:load, et /claude:doc:load.
Fonctionnalités :
- Support multi-framework (5 frameworks)
- Support multi-version (optionnel)
- Gestion cache intelligent (24h)
- Délégation aux agents scraper spécialisés
- Anti-rate-limiting (délai 2s)
- Statistiques détaillées (couverture, taille)
- Gestion erreurs non bloquante
Configuration :
CACHE_HOURS: 24h- Délai entre URLs: 2s
- README requis:
~/.claude/docs/<framework>/[version]/README.md
Modèle : sonnet-4.5
Outils : Task, WebFetch, Write, Edit, Bash, Read, Glob
Licence
MIT