Skip to content

Latest commit

 

History

History
633 lines (473 loc) · 13.7 KB

File metadata and controls

633 lines (473 loc) · 13.7 KB

🤖 Guide des fichiers CLAUDE.md & AGENT.md

📋 Vue d'ensemble

Deux fichiers ont été ajoutés au projet pour guider les AI coding assistants dans le développement futur :

  1. CLAUDE.md (15 KB) - Guide spécifique pour Claude et Claude Code
  2. AGENT.md (13 KB) - Guide générique pour tous AI coding agents

Ces fichiers fournissent le contexte complet du projet pour que les assistants IA puissent contribuer efficacement et de manière cohérente.


🎯 À quoi servent ces fichiers ?

Problème résolu

Quand tu utilises un AI coding assistant (Claude Code, GitHub Copilot, Cursor, etc.) sur un nouveau projet, l'IA manque de contexte :

  • ❌ Ne connaît pas l'architecture
  • ❌ Ne comprend pas les conventions
  • ❌ Produit du code incohérent
  • ❌ Ne suit pas les patterns du projet

Solution

Ces fichiers fournissent tout le contexte nécessaire :

  • ✅ Architecture technique complète
  • ✅ Conventions de code établies
  • ✅ Patterns et best practices
  • ✅ Structure de la base de données
  • ✅ Exemples de code commentés
  • ✅ TODOs et roadmap
  • ✅ Pièges à éviter

📄 CLAUDE.md - Pour Claude & Claude Code

Contenu

15 KB de documentation structurée :

1. Vision et contexte du projet
2. Architecture technique détaillée
3. Stack et dépendances
4. Conventions de code Python
5. Patterns essentiels (FastAPI, Celery, Pydantic)
6. Structure base de données
7. Workflow de développement
8. Tests et qualité
9. Sécurité (encryption, JWT, rate limiting)
10. Roadmap et TODOs prioritaires

Spécificités Claude

  • Exemples de code complets et commentés
  • Explications des choix architecturaux
  • Context sur l'async/await Python
  • Patterns SQLAlchemy async
  • Intégration Ollama détaillée

Utilisation

# 1. Ouvrir projet dans Claude Code
code .

# 2. Claude Code lit automatiquement CLAUDE.md
# 3. Demander à Claude de développer une feature
"Implémente le connecteur IMAP en suivant les patterns du projet"

# Claude aura tout le contexte nécessaire !

Exemple de prompt

Claude, en te basant sur CLAUDE.md :

1. Implémente la classe IMAPConnector dans shared/integrations/imap_connector.py
2. Suis les patterns async/await établis
3. Utilise le même style de logging
4. Ajoute les type hints
5. Docstrings Google style
6. Gestion d'erreurs robuste

Le connecteur doit :
- Se connecter en SSL
- Authentifier avec credentials chiffrés
- Fetcher emails depuis last_sync
- Parser MIME messages

Claude produira du code cohérent avec le reste du projet.


📄 AGENT.md - Pour tous les AI assistants

Contenu

13 KB de documentation concise :

1. Présentation rapide du projet
2. Architecture simplifiée (diagramme)
3. Stack technique
4. Structure des fichiers
5. Conventions de code essentielles
6. Patterns clés (FastAPI, Celery, SQLAlchemy)
7. Base de données
8. Sécurité
9. Tests
10. TODOs
11. Workflow développement
12. Pièges à éviter

Pour qui ?

Compatible avec tous les AI coding assistants :

  • GitHub Copilot
  • Cursor AI
  • Cody (Sourcegraph)
  • Tabnine
  • Amazon CodeWhisperer
  • Replit Ghostwriter
  • Et autres...

Différences avec CLAUDE.md

Aspect CLAUDE.md AGENT.md
Taille 15 KB (très détaillé) 13 KB (concis)
Audience Claude spécifiquement Tous AI assistants
Style Explications longues Instructions directes
Exemples Code complet commenté Code minimal
Contexte Architecture détaillée Architecture simplifiée

Utilisation

GitHub Copilot :

# Dans VSCode, Copilot lit AGENT.md automatiquement
# Taper un commentaire :
# Create IMAP connector following project patterns
# Copilot suggère du code cohérent

Cursor :

Ctrl+K → "Implement Gmail OAuth2 connector"
Cursor utilise AGENT.md comme contexte

Cody :

/explain IMAPConnector
Cody référence AGENT.md pour expliquer

🚀 Comment les utiliser

Setup initial

# 1. Extraire le projet
tar -xzf email-agent.tar.gz
cd email-agent

# 2. Les fichiers sont déjà là
ls -l CLAUDE.md AGENT.md

# 3. Ouvrir dans votre IDE
code .  # VSCode
cursor .  # Cursor
# etc.

Avec Claude Code

# Claude Code lit automatiquement CLAUDE.md au démarrage
# Demander à Claude :

"Aide-moi à implémenter le connecteur Gmail OAuth2.
Suis les patterns définis dans CLAUDE.md."

# Claude aura accès à :
# - Architecture complète
# - Patterns établis
# - Exemples de code
# - Conventions de sécurité

Avec GitHub Copilot

# Copilot utilise AGENT.md comme contexte
# Écrire un commentaire descriptif :

# Implement Gmail OAuth2 connector following project security patterns
# Uses Fernet encryption for credentials storage
# Async/await for all IO operations
class GmailConnector:
    # Copilot complète avec du code cohérent

Avec Cursor

# Ctrl+K ou Cmd+K
"Create IMAP connector with:
- SSL connection
- Async operations
- Error handling with retries
- Logging as per project standards"

# Cursor référence AGENT.md automatiquement

📚 Contenu détaillé

CLAUDE.md - Sections clés

1. Architecture (avec diagrammes ASCII)

┌─────────────┐
│    Nginx    │
└──────┬──────┘
       │
┌──────▼──────┐     ┌──────────┐
│   FastAPI   │────►│PostgreSQL│
└──────┬──────┘     └──────────┘
       │
  ┌────▼────┐
  │ Celery  │
  │ Workers │
  └─────────┘

2. Patterns avec exemples complets

FastAPI Endpoint :

@router.get("/emails/{email_id}")
async def get_email(
    email_id: int,
    db: AsyncSession = Depends(get_db)
):
    """Get email by ID."""
    # Code complet fourni

Celery Task :

@shared_task(bind=True, max_retries=3)
def sync_account(self, account_id: int):
    """Sync emails."""
    # Code complet avec retry logic

3. Base de données détaillée

class Email(Base):
    __tablename__ = "emails"
    
    id = Column(Integer, primary_key=True)
    # Tous les champs documentés
    # Relations expliquées
    # Index recommandés

4. Sécurité complète

  • Encryption Fernet avec exemples
  • JWT authentication
  • Rate limiting
  • Input validation
  • Credentials management

5. TODOs prioritaires

# Phase 1: Connectors
class IMAPConnector:
    """
    TODO détaillés :
    - Connect SSL
    - Authenticate
    - Fetch emails
    - Parse MIME
    - Handle attachments
    """

AGENT.md - Sections clés

1. Quick Start

  • Projet en 3 phrases
  • Architecture en 1 diagramme
  • Stack en 1 block YAML

2. Conventions essentielles

# Type hints
async def func(id: int) -> Email | None:
    pass

# Docstrings
"""Description courte."""

# Logging
logger.error("Error", exc_info=True)

3. Patterns minimaux

  • FastAPI endpoint (version courte)
  • Celery task (version courte)
  • Pydantic model
  • SQLAlchemy model

4. Pièges communs

# ❌ BAD
from api.models import Email  # Top-level in task

# ✅ GOOD
def task():
    from api.models import Email  # Inside

💡 Cas d'usage concrets

Cas 1 : Nouveau développeur

Situation : Un dev rejoint le projet

Sans CLAUDE.md/AGENT.md :

  • ❌ Lit README (incomplet)
  • ❌ Browse code (perd du temps)
  • ❌ Copie patterns inconsistants
  • ❌ Code rejeté en PR

Avec CLAUDE.md/AGENT.md :

  • ✅ Lit CLAUDE.md (15 min)
  • ✅ Comprend architecture complète
  • ✅ Suit patterns établis
  • ✅ Code accepté du premier coup

Cas 2 : Contribution open-source

Situation : Contributeur externe veut ajouter une feature

# 1. Fork et clone
git clone https://github.com/USER/email-agent.git

# 2. Lire AGENT.md (rapide)
cat AGENT.md

# 3. Utiliser son AI assistant préféré
# GitHub Copilot, Cursor, Cody, etc.

# 4. Code cohérent automatiquement
# Suit les patterns du projet

Cas 3 : Refactoring avec Claude Code

# Ouvrir projet dans Claude Code
code .

# Demander à Claude :
"Refactorise worker/tasks/email_sync.py pour :
- Utiliser le pattern de retry du projet
- Ajouter logging cohérent
- Améliorer error handling
- Maintenir compatibilité API"

# Claude utilise CLAUDE.md comme référence
# Produit code cohérent avec le reste

Cas 4 : Debug avec contexte

# Copilot suggère du debug code
# En commentant :

# Debug the IMAP connection issue
# Log at appropriate level
# Handle timeout gracefully
# Retry with exponential backoff

# Copilot génère code cohérent avec AGENT.md

🎯 Bénéfices

Pour le projet

Cohérence : Tout le code suit les mêmes patterns
Qualité : Standards élevés maintenus
Velocité : Développement plus rapide
Onboarding : Nouveaux devs productifs immédiatement
Maintenabilité : Code uniforme facile à maintenir

Pour les développeurs

Contexte clair : Pas besoin de deviner
Exemples concrets : Code à copier/adapter
Best practices : Apprendre en codant
AI-assisted : Assistants IA beaucoup plus efficaces
Confiance : Savoir que le code est bon

Pour les AI assistants

Context complet : Architecture + patterns + conventions
Exemples : Code de référence
TODOs : Roadmap claire
Pitfalls : Erreurs à éviter
Standards : Qualité maintenue


📈 Résultats attendus

Avant CLAUDE.md/AGENT.md

# Code typique d'un nouveau dev sans contexte
def get_email(id):  # ❌ Pas de type hints
    session = Session()  # ❌ Session directe
    email = session.query(Email).get(id)  # ❌ Sync dans async context
    return email  # ❌ Pas de handling None

Après CLAUDE.md/AGENT.md

# Code avec contexte complet
async def get_email(
    email_id: int,
    db: AsyncSession = Depends(get_db)
) -> Email | None:
    """Get email by ID."""
    result = await db.execute(
        select(Email).where(Email.id == email_id)
    )
    email = result.scalar_one_or_none()
    
    if not email:
        raise HTTPException(status_code=404)
    
    return email

Différence : Code professionnel du premier coup !


🔄 Maintenance des fichiers

Quand mettre à jour ?

  • ✏️ Nouveau pattern établi
  • 🏗️ Changement architectural
  • 📚 Nouvelle convention
  • 🔧 Nouvel outil/librairie
  • 🗺️ Update roadmap

Comment mettre à jour ?

# 1. Éditer les fichiers
nano CLAUDE.md
nano AGENT.md

# 2. Commit
git add CLAUDE.md AGENT.md
git commit -m "docs: Update AI assistant guides"

# 3. Push
git push

Versioning

Les fichiers suivent les versions du projet :

  • Version actuelle : 1.0.0
  • À chaque release majeure, review complet
  • À chaque release mineure, updates si nécessaire

💼 Utilisation avancée

Pour les équipes

# .github/CODEOWNERS
CLAUDE.md @tech-lead
AGENT.md @tech-lead

# Ensure quality of AI context

CI/CD Integration

# .github/workflows/validate-docs.yml
name: Validate AI Docs

on: [pull_request]

jobs:
  check-docs:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Check CLAUDE.md updated
        run: |
          if git diff --name-only origin/main | grep -q "api/models.py"; then
            if ! git diff --name-only origin/main | grep -q "CLAUDE.md"; then
              echo "models.py changed but CLAUDE.md not updated"
              exit 1
            fi
          fi

Pre-commit Hook

# .git/hooks/pre-commit
#!/bin/bash
# Remind to update AI docs if architecture changes

if git diff --cached --name-only | grep -E "api/|worker/"; then
    echo "⚠️  You modified core files. Did you update CLAUDE.md/AGENT.md?"
    echo "Press Enter to continue or Ctrl+C to cancel"
    read
fi

🎓 Best Practices

1. Lire AVANT de coder

# Toujours commencer par :
cat CLAUDE.md  # ou AGENT.md selon votre outil

# Puis coder en référençant le guide

2. Référencer explicitement

# Dans vos prompts à l'IA :
"En suivant les patterns de CLAUDE.md, implémente X"

# Ou dans vos commentaires :
# Following CLAUDE.md pattern for async DB access
async def get_user(db: AsyncSession, user_id: int):
    ...

3. Contribuer aux guides

Si vous découvrez un nouveau pattern utile :

# 1. L'ajouter à CLAUDE.md/AGENT.md
# 2. Faire une PR
# 3. Toute l'équipe en bénéficie

4. Garder synchronisé

# Régulièrement (après chaque sprint/release)
git pull  # Met à jour CLAUDE.md/AGENT.md
# Relire les changements
git log CLAUDE.md AGENT.md

🎉 Résumé

Ce que vous avez

  • CLAUDE.md (15 KB) : Guide complet pour Claude/Claude Code
  • AGENT.md (13 KB) : Guide universel pour tous AI assistants
  • 62 fichiers au total dans le projet
  • Documentation professionnelle pour développement assisté par IA

Comment utiliser

  1. Extraire le projet : tar -xzf email-agent.tar.gz
  2. Lire le guide approprié (CLAUDE.md ou AGENT.md)
  3. Ouvrir dans votre IDE avec AI assistant
  4. Développer avec contexte complet
  5. Produire du code cohérent et professionnel

Impact attendu

  • 📈 +50% de vélocité de développement
  • +80% de code accepté au premier coup
  • 🎯 100% de cohérence architecturale
  • -70% de temps d'onboarding
  • 🚀 10x efficacité des AI assistants

Ces guides transforment vos AI assistants en développeurs experts du projet ! 🤖✨

Archive mise à jour : email-agent.tar.gz (57 KB, 62 fichiers)