Comment utiliser Claude Code avec GitHub ? La réponse directe : Claude Code s’intègre à GitHub de trois façons complémentaires. D’abord dans un dépôt cloné localement (Claude lit le contexte git en temps réel : branches, commits, diffs). Ensuite via GitHub Actions pour automatiser les revues de code et la création de pull requests en CI/CD. Enfin via le serveur MCP GitHub officiel pour des opérations avancées sur l’API sans passer par la ligne de commande. En moins de 15 minutes, vous pouvez configurer un workflow complet qui réduit de 40 % le temps consacré aux descriptions de PR et aux revues de routine, selon les benchmarks de l’équipe GitHub Copilot publiés en juin 2026.

Prérequis avant d’intégrer Claude Code à GitHub

Avant de commencer, vérifiez que votre environnement est correctement configuré. Vous avez besoin de Node.js 18 ou supérieur, de git installé et authentifié sur GitHub (SSH recommandé pour les dépôts privés), et de Claude Code version 2.2 minimum. Si vous n’avez pas encore installé Claude Code, notre guide d’installation complet couvre Windows, Mac, Ubuntu et VS Code.

La GitHub CLI (gh) n’est pas obligatoire mais simplifie considérablement la création de pull requests depuis le terminal. Claude Code peut appeler gh directement via ses outils bash. Installez-la avec brew install gh sur macOS ou via le gestionnaire de paquets de votre distribution Linux.

# Vérifier les prérequis
node --version          # doit retourner >= 18.0.0
git --version           # doit retourner >= 2.40
claude --version        # doit retourner >= 2.2.0
gh --version            # GitHub CLI (optionnel)

# Tester l'authentification GitHub
ssh -T git@github.com
# Résultat attendu : Hi <username>! You've successfully authenticated.

# Ou avec HTTPS
git ls-remote https://github.com/votre-orga/votre-repo.git HEAD

Pour les équipes utilisant des dépôts privés, créez un Personal Access Token (PAT) sur GitHub avec les scopes repo, read:org et workflow. Ce token servira aussi bien pour la GitHub CLI que pour le serveur MCP décrit plus loin. Les fine-grained tokens (Settings > Developer settings > Personal access tokens > Fine-grained tokens) sont préférables car ils limitent l’accès aux seuls dépôts nécessaires.

Utiliser Claude Code dans un dépôt GitHub cloné

La façon la plus simple d’utiliser Claude Code avec GitHub est de le lancer directement dans un dépôt cloné. Claude Code lit automatiquement le contexte git au démarrage : il détecte la branche courante, les fichiers modifiés, le dernier commit et les éventuelles différences stagées. Il n’y a aucune configuration spécifique à GitHub à faire : il suffit de cd dans le dépôt cloné et de taper claude.

# Cloner et lancer Claude Code
git clone git@github.com:votre-orga/votre-repo.git
cd votre-repo
claude

# Exemples de prompts naturels dans Claude Code
# "Analyse les changements en cours et résume ce que cette PR va apporter"
# "Crée une branche feature/auth-refactor et implémente un système de login OAuth2"
# "Quel est l'historique des modifications sur le fichier src/auth/session.ts ?"
# "Y a-t-il des conflits potentiels si je merge main dans ma branche ?"

Claude Code comprend nativement les commandes git et les enchaîne de façon autonome. Quand vous lui demandez d’implémenter une fonctionnalité, il peut créer la branche, éditer les fichiers, ajouter les tests, faire un git commit avec un message structuré, puis pousser vers l’origine, le tout sans intervention manuelle. Cette automatisation end-to-end est l’un des gains les plus tangibles sur le flux de travail quotidien d’une équipe.

Un point important sur la confidentialité : Claude Code accède uniquement aux fichiers locaux après le git clone. Il n’envoie pas le contenu de votre dépôt à GitHub. Seul le contenu que vous soumettez explicitement via l’interface ou les prompts est transmis à l’API Anthropic. Les dépôts privés clonés en local fonctionnent exactement comme les dépôts publics, sans restriction supplémentaire.

Générer des messages de commit et des descriptions de PR professionnels

L’un des cas d’usage les plus immédiats est la rédaction de messages de commit structurés et de descriptions de pull requests complètes. Au lieu d’écrire manuellement un résumé des changements, Claude Code analyse le diff complet et produit un message conforme à la convention Conventional Commits (feat/fix/chore/docs/refactor/test). La qualité des messages générés est nettement supérieure à ce que la plupart des développeurs écrivent sous la pression d’une deadline.

# Stagez vos changements
git add -A

# Dans Claude Code, demandez un message de commit :
# "Génère un message de commit Conventional Commits pour les changements stagés"

# Exemple de résultat pour une PR d'authentification :
# feat(auth): add OAuth2 PKCE flow with automatic token refresh
#
# - Implement authorization code exchange with PKCE verifier/challenge
# - Store tokens in encrypted localStorage (AES-256-GCM)
# - Add automatic refresh 5 minutes before expiry
# - Handle 401 responses with transparent retry after refresh
# - Add unit tests for TokenManager (coverage: 94%)
#
# Closes #142

# Créer une PR via GitHub CLI
# Dans Claude Code : "Crée une pull request vers main avec une description complète"
# Claude Code exécute automatiquement :
gh pr create   --title "feat(auth): add OAuth2 PKCE flow with automatic token refresh"   --body "## Summary
- Implement authorization code exchange with PKCE verifier
...
## Testing
- [ ] Unit tests (npm test)
- [ ] Manual flow with GitHub OAuth app
## Breaking changes
None"   --base main

Pour les descriptions de PR, Claude Code produit automatiquement les sections Summary, Changes, Testing et Breaking Changes à partir du diff. Sur un projet d’équipe, cela représente un gain de 10 à 20 minutes par PR et améliore la qualité des revues car les reviewers disposent immédiatement du contexte complet. Plusieurs équipes rapportent une réduction du temps de revue de 30 à 40 % après adoption de cette pratique.

Automatiser la revue de pull requests avec GitHub Actions

L’intégration la plus puissante est la revue automatique de pull requests via GitHub Actions. À chaque PR ouverte ou mise à jour, un workflow déclenche Claude Code pour analyser les changements, identifier les problèmes potentiels (sécurité, performance, maintenabilité) et poster un commentaire structuré directement sur la PR. Cette approche est utilisée par plusieurs équipes open source comme alternative légère aux outils de revue payants comme CodeRabbit ou Qodo.

# .github/workflows/claude-review.yml
name: Claude Code Review
on:
  pull_request:
    types: [opened, synchronize]

jobs:
  review:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write

    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Setup Node.js 20
        uses: actions/setup-node@v4
        with:
          node-version: '20'

      - name: Install Claude Code
        run: npm install -g @anthropic-ai/claude-code@latest

      - name: Générer la revue de code
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        run: |
          git diff origin/${{ github.base_ref }}...HEAD > /tmp/diff.patch
          claude --print --no-permissions             "Analyse ce diff git. Identifie (1) les problèmes de sécurité, (2) les problèmes de performance, (3) les violations de bonnes pratiques. Pour chaque problème : fichier:ligne, description, suggestion de correction. Sois concis et actionnable. Format markdown."             < /tmp/diff.patch > /tmp/review.md

      - name: Poster le commentaire sur la PR
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          gh pr comment ${{ github.event.pull_request.number }}             --body-file /tmp/review.md

Ce workflow nécessite un secret ANTHROPIC_API_KEY dans les paramètres du dépôt (Settings > Secrets and variables > Actions > New repository secret). Le coût typique d’une revue complète sur une PR de 200 lignes est de l’ordre de 0,02 à 0,05 dollar avec Claude Sonnet 5 comme modèle par défaut. Pour une équipe de 5 développeurs qui soumet 10 PR par semaine, le coût mensuel reste inférieur à 10 euros, soit dix fois moins cher que les alternatives SaaS spécialisées.

Claude Code dans un pipeline CI/CD complet

Au-delà de la revue de code, Claude Code peut jouer un rôle dans un pipeline CI/CD complet : génération de tests manquants, documentation automatique des endpoints API modifiés, détection de régressions dans les migrations de base de données, génération de changelogs à partir des PR mergées. L’intégration dans un pipeline est identique à un outil CLI classique grâce aux flags --print et --no-permissions.

# .github/workflows/claude-quality.yml
name: Claude Code Quality Gate
on: [push]

jobs:
  quality:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'

      - run: npm install -g @anthropic-ai/claude-code

      - name: Vérifier la documentation des nouvelles routes API
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        run: |
          # Trouver les routes modifiées dans ce commit
          git diff HEAD~1 -- src/routes/ > /tmp/routes.diff
          if [ -s /tmp/routes.diff ]; then
            claude --print --no-permissions               "Ces routes API modifiées sont-elles toutes documentées dans docs/api.md ?
               Liste les manquantes avec leurs paramètres."               < /tmp/routes.diff
          fi

      - name: Générer un changelog pour la release
        if: startsWith(github.ref, 'refs/tags/')
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          gh pr list --state merged --search "merged:>=$(git log -1 --format=%ai HEAD~20)"             --json title,body,number > /tmp/prs.json
          claude --print --no-permissions             "Génère un CHANGELOG.md structuré (Features/Fixes/Breaking)              à partir de cette liste de PR mergées."             < /tmp/prs.json > CHANGELOG.md

Le flag --no-permissions est crucial en environnement CI/CD : il désactive les demandes de confirmation interactives et permet à Claude Code de s’exécuter de façon entièrement non supervisée. Sans ce flag, Claude Code attend une confirmation utilisateur sur les opérations potentiellement destructrices, ce qui bloque le pipeline indéfiniment.

Le serveur MCP GitHub pour des opérations avancées

Le protocole MCP (Model Context Protocol) permet à Claude Code d’accéder directement à l’API GitHub, sans passer par la CLI. Le serveur MCP officiel de GitHub donne accès en lecture et en écriture aux issues, pull requests, releases, gists, actions et à la gestion des branches. C’est particulièrement utile pour des tâches d’administration qui nécessitent plusieurs appels d’API enchaînés, comme la gestion de releases ou la synchronisation de milestones entre dépôts. Pour les équipes qui explorent aussi d’autres configurations, notre guide Claude Code avec Ollama explique comment combiner plusieurs backends IA.

# Ajouter le serveur MCP GitHub dans ~/.claude.json (config globale)
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_votre_token_ici"
      }
    }
  }
}

# Redémarrer Claude Code pour prendre en compte le serveur MCP
claude --mcp-debug  # Vérifier que le serveur github est bien chargé

# Exemples de prompts une fois le MCP configuré :
# "Ferme toutes les issues avec le label 'wontfix' ouvertes depuis plus de 90 jours"
# "Génère un rapport des PR mergées cette semaine avec leurs auteurs"
# "Crée une release v2.3.0 avec le tag correspondant et le changelog auto-généré"

Une fois le serveur MCP GitHub configuré, Claude Code peut exécuter des tâches d’administration complexes en langage naturel sans que vous ayez à écrire le moindre script d’automatisation. La différence avec la GitHub CLI seule est que Claude Code enchaîne intelligemment plusieurs opérations en fonction du résultat de chaque étape : il peut, par exemple, créer une release uniquement si tous les checks CI sont verts, ou assigner automatiquement les issues selon les fichiers modifiés dans une PR.

Bonnes pratiques de sécurité pour Claude Code sur GitHub

Quand Claude Code opère sur des dépôts GitHub, surtout en CI/CD, il est essentiel de limiter ses permissions au strict nécessaire. Claude Code respecte le fichier .claude/settings.json à la racine du projet pour définir quelles commandes bash il est autorisé à exécuter. Cette configuration suit le principe du moindre privilège et peut être versionnée avec le reste du projet pour s’appliquer à toute l’équipe.

# .claude/settings.json — exemple pour un projet web
{
  "permissions": {
    "allow": [
      "Bash(git add:*)",
      "Bash(git commit:*)",
      "Bash(git push:*)",
      "Bash(git checkout:*)",
      "Bash(gh pr:*)",
      "Bash(gh issue:*)",
      "Bash(npm run:*)",
      "Bash(node:*)"
    ],
    "deny": [
      "Bash(rm -rf:*)",
      "Bash(git push --force:*)",
      "Bash(git reset --hard:*)",
      "Bash(gh repo delete:*)",
      "Bash(gh org:*)"
    ]
  }
}

# Dans GitHub Actions, toujours utiliser le minimum de permissions
# permissions:
#   contents: read        # pas write sauf si besoin de committer
#   pull-requests: write  # pour les commentaires de revue
#   issues: read          # si pas besoin d'écriture

En production, ne stockez jamais votre clé API Anthropic directement dans le code ou dans les fichiers de configuration versionnés. Utilisez les GitHub Secrets pour les workflows Actions (${{ secrets.ANTHROPIC_API_KEY }}) et les variables d’environnement système pour les usages locaux. Anthropic recommande la rotation trimestrielle des clés pour les équipes utilisant Claude Code en CI/CD. Pour les détails sur les capacités du modèle qui alimente Claude Code en production, notre guide Claude Sonnet 5 détaille les benchmarks et la grille tarifaire.

Pour les dépôts open source qui reçoivent des contributions de forks, une attention particulière s’impose : les workflows déclenchés sur des PR de forks n’ont pas accès aux secrets du dépôt parent (protection GitHub par défaut contre le vol de secrets). Utilisez l’event pull_request_target uniquement après avoir vérifié explicitement que l’auteur de la PR est un contributeur approuvé, ou mettez en place un workflow en deux étapes avec approbation manuelle d’un mainteneur avant l’exécution de Claude Code.

FAQ : Claude Code et GitHub

Claude Code peut-il créer des pull requests automatiquement sur GitHub ?

Oui. Claude Code peut créer des pull requests via la GitHub CLI (gh pr create) ou via le serveur MCP GitHub. Il génère le titre, la description structurée (Summary, Changes, Testing, Breaking Changes) et les labels appropriés en analysant le diff et l’historique des commits. La GitHub CLI doit être installée et authentifiée, ou un Personal Access Token GitHub doit être configuré dans le serveur MCP.

Comment utiliser Claude Code dans GitHub Actions sans exposer la clé API Anthropic ?

Ajoutez votre clé API Anthropic comme secret dans les paramètres du dépôt GitHub (Settings > Secrets and variables > Actions > New repository secret, nom : ANTHROPIC_API_KEY). Dans le workflow YAML, référencez-la avec ${{ secrets.ANTHROPIC_API_KEY }}. La clé n’apparaît jamais dans les logs grâce au masquage automatique de GitHub Actions, même si une étape tente accidentellement de l’afficher.

Quelle est la différence entre Claude Code et GitHub Copilot pour les pull requests ?

GitHub Copilot est intégré dans l’IDE et suggère du code ligne par ligne ou génère des résumés de PR dans l’interface GitHub. Claude Code est un agent terminal qui exécute des tâches complètes de façon autonome : il peut créer une branche, implémenter une fonctionnalité, écrire les tests, committer et créer la PR en une seule instruction. Pour la revue automatique, Copilot propose des suggestions inline dans l’interface GitHub ; Claude Code via Actions analyse le diff entier en contexte et produit une revue structurée en markdown avec localisation précise des problèmes.

Est-il possible de limiter Claude Code à certains fichiers ou dossiers du dépôt ?

Oui, de deux façons. Dans le fichier .claude/settings.json, vous pouvez restreindre les commandes bash autorisées. Dans vos prompts ou dans les scripts de workflow, vous pouvez passer uniquement les fichiers pertinents à Claude Code plutôt que le dépôt entier. Par exemple, pour limiter la revue aux fichiers Python : git diff HEAD~1 -- "*.py" | claude --print --no-permissions "Revue...".

Claude Code fonctionne-t-il avec GitLab ou Bitbucket en plus de GitHub ?

Claude Code fonctionne avec n’importe quel dépôt git, qu’il soit hébergé sur GitHub, GitLab, Bitbucket ou un serveur git auto-hébergé. Les fonctionnalités de base (lire le contexte git, générer des commits, analyser des diffs) sont universelles. Les intégrations spécifiques à la plateforme (Actions, MCP GitHub, gh CLI) sont propres à GitHub. Des serveurs MCP existent aussi pour GitLab via des projets communautaires, mais ils sont moins matures que le serveur GitHub officiel de Anthropic.

G
WP Admin Lab

Architecte web full-stack. WordPress, performance, data et sécurité. Notes de terrain, tests reproductibles et retours d'expérience.