claude-code-ultimate-guide/CLAUDE.md
Florian BRUNIAUX b0698bfb39 docs: add GitHub Actions workflow guide + desloppify + threat-db v2.7.0
- guide/workflows/github-actions.md (new): 5 production patterns with
  claude-code-action (on-demand @claude, auto push review, issue triage,
  security review, scheduled maintenance), auth alternatives, cost control
- guide/ultimate-guide.md: GitHub Actions cross-ref + desloppify tool
  (vibe code quality fix-loop, community tool, ~2K stars, Feb 2026)
- examples/commands/resources/threat-db.yaml: v2.7.0, +5 threat sources
  (Azure MCP SSRF CVE-2026-26118, OpenClaw, Taskflow, Codex Security,
  DryRun Security 87% vulnerability stat)
- CLAUDE.md: Behavioral Rules section (5 rules from observed friction)
- guide/workflows/README.md: github-actions entry + quick selection row
- IDEAS.md: CI/CD Workflows Gallery marked complete
- CHANGELOG.md: [Unreleased] entries for all items

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 17:19:18 +01:00

561 lines
22 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Claude Code Ultimate Guide - Project Context
## Purpose
This repository is the **comprehensive documentation for Claude Code** (Anthropic's CLI tool). It teaches users how to use Claude Code effectively through guides, examples, and templates.
**Meta-note**: This repo documents Claude Code, so its own configuration should be exemplary.
## Repository Structure
```
guide/ # Core documentation
├── ultimate-guide.md # Main guide (~20K lines, the reference)
├── cheatsheet.md # 1-page printable summary
├── cowork.md # Cowork redirect page
├── core/ # Architecture, methodologies, releases, known-issues, visual-reference
├── security/ # security-hardening, sandbox-isolation, sandbox-native, production-safety, data-privacy
├── ecosystem/ # ai-ecosystem, mcp-servers-ecosystem, third-party-tools, remarkable-ai
├── roles/ # ai-roles, adoption-approaches, learning-with-ai, agent-evaluation
├── ops/ # devops-sre, observability, ai-traceability
├── diagrams/ # Mermaid visual diagrams
└── workflows/ # Step-by-step workflow guides
examples/ # Production-ready templates
├── agents/ # Custom agent templates
├── commands/ # Slash command templates
├── hooks/ # Event hook examples (bash/powershell)
├── skills/ # Skill module templates
└── scripts/ # Utility scripts (audit, health check)
machine-readable/ # For LLM consumption
├── reference.yaml # Condensed index (~2K tokens)
└── llms.txt # AI indexation file
whitepapers/ # Focused whitepapers (FR + EN)
├── fr/ # 10 source files in French (.qmd)
└── en/ # 10 translated files in English (.qmd)
# Published at: https://www.florian.bruniaux.com/guides
tools/ # Interactive utilities
├── audit-prompt.md # Setup audit prompt
└── onboarding-prompt.md # Personalized learning prompt
docs/ # Public documentation (tracked)
└── resource-evaluations/ # External resource evaluations (68 files)
claudedocs/ # Claude working documents (gitignored)
├── resource-evaluations/ # Research working docs (prompts, private audits)
└── *.md # Analysis reports, plans, working docs
```
## Key Files
| File | Purpose |
|------|---------|
| `VERSION` | Single source of truth for version (currently 3.34.1) |
| `guide/ultimate-guide.md` | The main reference (search here first) |
| `guide/cheatsheet.md` | Quick reference for daily use |
| `machine-readable/reference.yaml` | LLM-optimized index with line numbers |
| `CHANGELOG.md` | All changes with detailed descriptions |
## Commands
### Version Management
```bash
# Check version consistency across all docs
./scripts/sync-version.sh --check
# Fix version mismatches (updates from VERSION file)
./scripts/sync-version.sh
# Bump version
echo "3.7.0" > VERSION && ./scripts/sync-version.sh
```
### Whitepaper Generation (PDF + EPUB)
```bash
# --- PDF (default format: whitepaper-typst → Typst → PDF) ---
# Single file
cd whitepapers/fr && quarto render 00-introduction-serie.qmd
# All FR whitepapers
cd whitepapers/fr && quarto render *.qmd
# All EN whitepapers
cd whitepapers/en && quarto render *.qmd
# Preview with hot-reload
cd whitepapers/fr && quarto preview 00-introduction-serie.qmd
# Batch with error summary (loop)
cd whitepapers/fr && for f in *.qmd; do echo "→ $f" && quarto render "$f" 2>&1 | grep -E "(Output created|ERROR)"; done
# --- EPUB (format: epub → Pandoc → EPUB3) ---
# Single file
cd whitepapers/fr && quarto render 00-introduction-serie.qmd --to epub
# All EPUBs (FR + EN) → epub-output/{fr,en}/
cd whitepapers && ./render-epub.sh all
cd whitepapers && ./render-epub.sh fr # French only
cd whitepapers && ./render-epub.sh en # English only
```
**PDF stack** : Quarto → Typst 0.13 → PDF. Template : `whitepapers/_extensions/whitepaper/`. Palette Bold Guy (warm beige + orange brûlé).
**EPUB stack** : Quarto → Pandoc → EPUB3. CSS : `whitepapers/epub-styles.css`. Cover : `_extensions/whitepaper/assets/claude-code-ai-logo.jpg`.
**Skill disponible** : `/pdf-generator` pour aide contextuelle (template YAML, stack, dépannage).
### Recap Cards (Fiches Mémo Thématiques)
Fiches A4 1-page imprimables, format intermédiaire entre cheatsheet et whitepapers.
```bash
# Single card
cd whitepapers/recap-cards/fr && quarto render 01-commandes-essentielles.qmd --to recap-card-typst
# All FR cards (via script)
cd whitepapers/recap-cards && ./render-recap-cards.sh fr
# All cards (FR + EN)
cd whitepapers/recap-cards && ./render-recap-cards.sh all
```
**Stack** : Extension `recap-card` (`whitepapers/_extensions/recap-card/`). Format `recap-card-typst`. Même palette Bold Guy.
**Source des fiches** : `whitepapers/recap-cards/fr/*.qmd` (FR), `whitepapers/recap-cards/en/*.qmd` (EN à venir).
**25 fiches planifiées** — 5 prototypes Phase 1-2 livrés : 01, 03, 04, 06, 25.
### Before Committing
```bash
# Verify versions are synchronized
./scripts/sync-version.sh --check
```
### Slash Commands (Maintenance)
Custom slash commands available in this project:
| Command | Description |
|---------|-------------|
| `/release <bump-type>` | Release guide version (CHANGELOG + VERSION + sync + commit + push) |
| `/update-infos-release [bump-type]` | Update Claude Code releases tracking + optional guide version bump |
| `/version` | Display current guide and Claude Code versions with stats |
| `/changelog [count]` | View recent CHANGELOG entries (default: 5) |
| `/sync` | Check guide/landing synchronization status |
| `/audit-agents-skills [path]` | Audit quality of agents, skills, and commands in .claude/ config |
| `/security-check` | Quick config check against known threats database (~30s) |
| `/security-audit` | Full 6-phase security audit with score /100 (2-5min) |
| `/update-threat-db` | Research & update threat intelligence database |
**Examples:**
```
/release patch # Bump patch + release (3.20.4 → 3.20.5)
/release minor # Bump minor + release (3.20.4 → 3.21.0)
/update-infos-release # Update CC releases only
/update-infos-release patch # Update CC + bump guide (3.9.11 → 3.9.12)
/update-infos-release minor # Update CC + bump guide (3.9.11 → 3.10.0)
/version # Show versions and content stats
/changelog 10 # Last 10 CHANGELOG entries
/sync # Check guide/landing sync status
/audit-agents-skills # Audit current project
/audit-agents-skills --fix # Audit + fix suggestions
/audit-agents-skills ~/other # Audit another project
/security-check # Quick scan config vs known threats
/security-audit # Full audit with posture score /100
/update-threat-db # Research + update threat-db.yaml
```
These commands are defined in `.claude/commands/` and automate:
- Claude Code releases tracking (YAML + Markdown + Landing badge)
- Guide version management (VERSION file + sync across all docs)
- CHANGELOG updates
- Landing site synchronization verification
- Git commit and push to both repositories
### Command Naming Conventions
Implicit prefixes used in `.claude/commands/`:
| Prefix | Pattern | Examples |
|--------|---------|---------|
| `audit-*` | Quality checks with scored output | `audit-agents-skills`, `audit-deps` |
| `update-*` | Sync or refresh data from external source | `update-infos-release`, `update-threat-db` |
| `security-*` | Security scans, ascending depth | `security-check` (quick), `security-audit` (full) |
| *(no prefix)* | Core guide workflow commands | `release`, `sync`, `version`, `changelog` |
When adding a new command, pick the prefix that matches the action type. Avoid creating new prefix categories unless the existing four don't fit.
## Behavioral Rules
These rules come from observed friction patterns in actual sessions on this repo.
### Always update CHANGELOG.md
After any file modification or feature implementation, update `CHANGELOG.md` under `[Unreleased]`. Never skip this step unless explicitly told to. This is the most common missed step.
### Be exhaustive on first pass
When asked to analyze, audit, or review anything — read every relevant file. Do not do a superficial scan. If unsure of scope, ask rather than delivering shallow results. This applies to resource evaluations, doc audits, and codebase reviews.
### Use absolute paths
When referencing files in documentation, reports, or resource evaluations, always use full absolute paths. Never relative paths.
### Closing checklist
After completing all requested tasks, always confirm unprompted:
1. Files changed (list them)
2. CHANGELOG.md updated
3. Committed and pushed (if applicable) — include the commit hash
### Bias toward action
Do not spend extended time in exploration or planning loops. Produce files and concrete output early, then iterate. If stuck for more than 2 attempts on any step, explain the blocker instead of looping.
## Conventions
### Documentation Style
- **Accuracy over marketing**: No invented percentages or unverified claims
- **Practical examples**: Every concept has a concrete example
- **Source attribution**: Credit community contributions with links
- **Version alignment**: All version numbers must match `VERSION` file
### File Organization
- New guides → `guide/`
- New templates → `examples/{agents,commands,hooks,skills}/`
- Navigation updates → Update both `README.md` and `guide/README.md`
### Versioning
- `VERSION` file is the single source of truth
- Run `./scripts/sync-version.sh` after changing version
- Files that contain version: README.md, cheatsheet.md, ultimate-guide.md, reference.yaml
## Current Focus
Check `IDEAS.md` for planned improvements and `CHANGELOG.md [Unreleased]` for work in progress.
## Model Configuration
**Recommended mode**: `/model opusplan`
**Rationale**: This documentation repository benefits from hybrid intelligence:
- **Planning phase** (Opus + thinking): Architecture decisions, research synthesis, multi-file analysis
- **Execution phase** (Sonnet): Doc updates, version syncing, template edits, formatting
**OpusPlan workflow**:
1. `/model opusplan` → Set hybrid mode
2. `/plan` or `Shift+Tab × 2` → Plan with Opus (thinking enabled)
3. `Shift+Tab` → Execute with Sonnet (faster, cheaper)
**Typical task breakdown**:
| Task Type | Model | Justification |
|-----------|-------|---------------|
| Doc edits, typo fixes | Sonnet | Straightforward, no deep reasoning |
| Version sync, formatting | Sonnet | Mechanical pattern matching |
| Guide restructuring | Opus (plan) → Sonnet (execute) | Needs architecture thinking first |
| Research synthesis | Opus (plan) → Sonnet (write) | Complex analysis, then clear writing |
| Multi-file consistency checks | Opus (plan) → Sonnet (fix) | Dependency analysis, then edits |
**Cost optimization**: OpusPlan pays Opus only for planning (typically 10-20% of tokens), Sonnet handles 80-90% of execution work.
## Landing Site Synchronization
**Important**: Ce guide a un site landing associé qui doit être mis à jour après certains changements.
**Landing repo**: `/Users/florianbruniaux/Sites/perso/claude-code-ultimate-guide-landing/`
### Éléments à synchroniser
| Élément | Source (guide) | Destination (landing) |
|---------|----------------|----------------------|
| Version | `VERSION` | index.html footer + FAQ |
| Templates count | Count `examples/` files | Badges, title, meta tags |
| Guide lines | `wc -l guide/ultimate-guide.md` | Badges |
| Golden Rules | README.md | index.html section |
| FAQ | README.md | index.html FAQ |
### Triggers de sync
Après ces modifications, **rappeler** de mettre à jour le landing:
1. **Version bump** → Modifier `VERSION` ici, puis landing
2. **Ajout/suppression templates** → Recalculer count, mettre à jour landing
3. **Modification Golden Rules ou FAQ** → Répercuter sur landing
4. **Changement significatif du guide** (>100 lignes)
### Rebuild du guide reader (à chaque release)
Le landing expose le contenu du guide sur `cc.bruniaux.com/guide/`. Le contenu est généré depuis ce repo au moment du build — **jamais commité dans le landing**.
```bash
# Depuis le repo landing, avant chaque push sur main :
cd ../claude-code-ultimate-guide-landing
node scripts/prepare-guide-content.mjs && pnpm build
```
**Quand le faire** : à chaque release (`/release patch|minor|major`) pour que le site reflète la dernière version du guide.
### Commande de vérification
```bash
./scripts/check-landing-sync.sh
```
**Ce que fait le script (4 vérifications):**
| Check | Source | Comparaison |
|-------|--------|-------------|
| Version | `VERSION` | index.html (footer + FAQ) |
| Templates | `find examples/` | index.html + examples.html |
| Quiz questions | `questions.json` | index.html + quiz.html |
| Guide lines | `wc -l ultimate-guide.md` | index.html (tolérance ±500) |
**Output attendu (si synchronisé):**
```
=== Landing Site Sync Check ===
1. Version
Guide: 3.8.1
Landing: 3.8.1
OK
2. Templates Count
Guide: 53 files
index.html: 53
examples.html: 53
OK
3. Quiz Questions
questions.json: 159
index.html: 159
quiz.html: 159
OK
4. Guide Lines
Actual: 9881
Landing: 9800+ (approximate)
OK (within tolerance)
=== Summary ===
All synced!
```
**En cas de mismatch:**
- Le script indique quel fichier est désynchronisé
- Exit code = nombre d'issues trouvées
- Consulter `landing/CLAUDE.md` pour les numéros de ligne exacts à modifier
## Écosystème Complet (4 Repositories)
Ce guide fait partie d'un écosystème de 4 repositories interconnectés, séparant les audiences (devs vs knowledge workers) et les use cases (documentation vs vitrine).
### Architecture
```
REPOS SOURCES (Documentation)
┌──────────────────┬──────────────────┐
│ │ │
┌───▼───┐ ┌───▼───┐
│ Guide │ │Cowork │
│ Code │◄────────►│ Guide │
│ vX.Y │ liens │ v1.0 │
└───┬───┘ └───┬───┘
│ │
│ source │ source
│ │
LANDING SITES (Vitrine)
┌──────────────────┬──────────────────┐
│ │ │
┌───▼───┐ ┌───▼───┐
│ Code │◄────────►│Cowork │
│Landing│cross-links│Landing│
│ vX.Y │ │ v1.0 │
└───────┘ └───────┘
```
### 1. Claude Code Ultimate Guide (ce repo)
**Pour qui**: Développeurs utilisant Claude Code CLI
| Aspect | Détails |
|--------|---------|
| **GitHub** | https://github.com/FlorianBruniaux/claude-code-ultimate-guide |
| **Local** | `/Users/florianbruniaux/Sites/perso/claude-code-ultimate-guide/` |
| **Contenu** | Guide ~19K lignes, 116 templates, workflows, architecture |
| **Audience** | Développeurs, DevOps, tech leads |
### 2. Claude Cowork Guide (repo dédié)
**Pour qui**: Knowledge workers utilisant Claude Desktop (non-devs)
| Aspect | Détails |
|--------|---------|
| **GitHub** | https://github.com/FlorianBruniaux/claude-cowork-guide |
| **Local** | `/Users/florianbruniaux/Sites/perso/claude-cowork-guide/` |
| **Contenu** | 6 guides, 67 prompts, 5 workflows, cheatsheet, FAQ |
| **Audience** | Non-devs, assistants, managers, knowledge workers |
**Migration**: Le dossier `cowork/` a été migré du repo principal vers ce repo dédié (v1.0.0, commit 7a686a8).
### 3. Code Landing Site
**Pour qui**: Visiteurs découvrant le guide Code
| Aspect | Détails |
|--------|---------|
| **Local** | `/Users/florianbruniaux/Sites/perso/claude-code-ultimate-guide-landing/` |
| **Contenu** | Page marketing, badges, FAQ, quiz (274 questions) |
| **Sync avec** | Guide principal (version, templates, guide lines) |
### 4. Cowork Landing Site
**Pour qui**: Visiteurs découvrant le guide Cowork
| Aspect | Détails |
|--------|---------|
| **Local** | `/Users/florianbruniaux/Sites/perso/claude-cowork-guide-landing/` |
| **Contenu** | Page marketing Cowork, prompts showcase |
| **Sync avec** | Cowork guide (version, prompts count) |
### Synchronisation Inter-Repos
**Déclencheurs de mise à jour multi-repos**:
| Changement | Repos à mettre à jour |
|------------|----------------------|
| Version bump (Guide Code) | 1. Guide Code, 2. Code Landing |
| Templates ajoutés/supprimés | 1. Guide Code, 2. Code Landing |
| Version bump (Cowork) | 1. Cowork Guide, 2. Cowork Landing |
| Prompts ajoutés/supprimés | 1. Cowork Guide, 2. Cowork Landing |
| Cross-links modifiés | Tous les 4 repos |
**Scripts de vérification**:
```bash
# Vérifier sync Code Landing
./scripts/check-landing-sync.sh
# Vérifier sync Cowork
cd ../claude-cowork-guide && ./scripts/check-version-sync.sh
```
### Relations & Liens
**Guide Code → Cowork Guide**:
- `guide/cowork.md`: Summary avec liens vers repo dédié
- `guide/README.md`: Table avec 6 liens vers guides Cowork
- `machine-readable/reference.yaml`: 23 entrées pointant vers GitHub
**Landing Code ↔ Landing Cowork**:
- Cross-links bidirectionnels (hero, ecosystem, sections)
- Navigation fluide entre les 2 audiences
**Principe**: Séparation claire des audiences, navigation facilitée, synchronisation maintenue.
### Historique de l'Écosystème
| Date | Événement | Commits |
|------|-----------|---------|
| 2026-01-19 | Création repo Cowork dédié v1.0.0 | 7a686a8 |
| 2026-01-19 | MAJ README Guide Code → liens GitHub | 9a743cd |
| 2026-01-20 | Suppression cowork/ du guide principal | 9a29ba4 |
| 2026-01-20 | Sync Code Landing (v3.9.7, 66 templates) | 5b5ce62 |
| 2026-01-20 | Fix Cowork Landing (paths, README, UI) | cab83f5, af497b7, 539912b |
**Résultat**: 7 commits, 4 repos synchronisés, -8,297 lignes (cleanup massif), écosystème opérationnel.
## Research Resources
**Perplexity Pro disponible**: Pour toute recherche nécessitant des sources fiables ou des informations récentes sur Claude Code, Anthropic, ou les pratiques de développement assisté par IA:
- Demande-moi de faire une recherche Perplexity (plus efficace que WebSearch basique)
- Je te fournirai les résultats avec les sources
- Utile pour: nouvelles features Claude Code, best practices communauté, comparaisons d'outils, documentation officielle mise à jour
## Claude Code Releases Tracking
Ce repo maintient un historique condensé des releases officielles de Claude Code.
### Fichiers
| Fichier | Rôle |
|---------|------|
| `machine-readable/claude-code-releases.yaml` | Source de vérité (YAML) |
| `guide/core/claude-code-releases.md` | Version lisible (Markdown) |
| `scripts/update-cc-releases.sh` | Script de vérification des nouvelles versions |
### Vérifier les nouvelles versions
```bash
./scripts/update-cc-releases.sh
```
Le script:
1. Fetch le CHANGELOG officiel depuis GitHub
2. Compare avec notre version trackée
3. Affiche les nouvelles releases à condenser
### Workflow de mise à jour
1. **Vérifier**: `./scripts/update-cc-releases.sh`
2. **MAJ YAML**: Ajouter nouvelle entrée dans `claude-code-releases.yaml`
- Mettre à jour `latest` et `updated`
- Ajouter l'entrée dans `releases` (condensée: 2-4 highlights max)
- Ajouter aux `breaking_summary` si applicable
- Ajouter aux `milestones` si feature majeure
3. **MAJ Markdown**: Mettre à jour `claude-code-releases.md` en cohérence
4. **Landing sync**: `./scripts/check-landing-sync.sh`
5. **Commit**: `docs: update Claude Code releases (vX.Y.Z)`
### Format des entrées YAML
```yaml
- version: "2.1.13"
date: "2026-01-20"
highlights:
- "Feature principale"
- "Autre feature notable"
breaking:
- "Description du breaking change (si applicable)"
```
## Resource Evaluation Workflow
External resources (articles, videos, discussions) are evaluated before integration into the guide.
### Process
1. **Research**: Initial Perplexity search → Save prompt + results in `claudedocs/resource-evaluations/` (private)
1b. **Cross-reference**: Si ressource liée à Claude Code, vérifier les claims contre `https://code.claude.com/docs/llms-full.txt` (source officielle ~98KB)
2. **Evaluation**: Systematic scoring (1-5) → Create evaluation file in `docs/resource-evaluations/` (tracked)
3. **Challenge**: Technical review by agent to ensure objectivity
4. **Decision**: Integrate (score 3+), mention (score 2), or reject (score 1)
### File Organization
| Location | Content | Tracking |
|----------|---------|----------|
| `docs/resource-evaluations/` | Final evaluations (68 files) | ✅ Git tracked (public) |
| `claudedocs/resource-evaluations/` | Working docs, prompts, private audits | ❌ Gitignored (private) |
### Scoring Grid
| Score | Action |
|-------|--------|
| 5 | Critical - Integrate immediately (<24h) |
| 4 | High Value - Integrate within 1 week |
| 3 | Moderate - Integrate when time available |
| 2 | Marginal - Minimal mention or skip |
| 1 | Low - Reject |
See full methodology: [`docs/resource-evaluations/README.md`](docs/resource-evaluations/README.md)
## Quick Lookups
For answering questions about Claude Code:
0. **Doc officielle Anthropic (LLM-optimized)**: `https://code.claude.com/docs/llms.txt` (index ~65 pages) ou `https://code.claude.com/docs/llms-full.txt` (doc complète ~98KB) pour les faits officiels
1. Search `machine-readable/reference.yaml` first (has line numbers to full guide)
2. Use those line numbers to read relevant sections from `guide/ultimate-guide.md`
3. Check `examples/` for ready-to-use templates
4. Check `guide/core/claude-code-releases.md` for recent features/changes
5. Si info manquante ou incertaine demander une recherche Perplexity (communauté, comparaisons, retours)