Claude Code reverse-engineered par Claude lui-même. Quelle époque. On va balancer tout ça à Hermes pour voir ce qu'il en sort.
Description complète du repo — 1884 fichiers TypeScript/TSX:
Structure racine
Le repo est le frontend/CLI de Claude Code — pas le backend LLM, mais tout ce qui tourne côté client : le terminal interactif (basé sur une fork custom de Ink), le système de tâches, les outils, les agents, les permissions, la mémoire, les plugins, les intégrations IDE. C'est une application React/TSX qui tourne dans le terminal via Node/Bun.
src/tools/ — Les outils que Claude peut appeler
Chaque outil a sa propre structure
ToolName/ToolName.ts prompt.ts UI.tsx. Inventaire complet :
BashTool — exécution shell avec AST parser bash maison, classification sémantique des commandes (destructives/sûres), validation sed, validation PowerShell parallèle
FileReadTool / FileWriteTool / FileEditTool — lecture/écriture/édition de fichiers avec diff structuré
GlobTool / GrepTool — recherche filesystem
WebFetchTool / WebSearchTool — fetch web et recherche
AgentTool — spawn de sous-agents (le cœur du multi-agent)
LSPTool — Language Server Protocol : diagnostics, symboles, définitions en temps réel
NotebookEditTool — édition de Jupyter notebooks
TeamCreateTool / TeamDeleteTool / SendMessageTool — orchestration multi-agents (swarms)
EnterPlanModeTool / ExitPlanModeTool — bascule du mode planification
EnterWorktreeTool / ExitWorktreeTool — git worktrees isolés
ScheduleCronTool (CronCreate/Delete/List) — tâches planifiées persistées dans .claude/scheduled_tasks.json
BriefTool — canal de communication Kairos → utilisateur (proactif/normal)
SleepTool — l'agent peut se mettre en pause (Kairos)
PushNotificationTool — l'agent peut te notifier (Kairos)
RemoteTriggerTool — gestion de triggers CCR via l'API
claude.ai
TaskCreateTool / TaskGetTool / TaskListTool /
TaskUpdateTool / TaskStopTool / TaskOutputTool — système de tasks asynchrones
SkillTool — exécution de skills
ConfigTool — modification de la config en cours de session
TodoWriteTool — gestion de todo lists avec vérification automatique (hive evidence)
ToolSearchTool — recherche parmi les outils disponibles
AskUserQuestionTool — Claude peut poser des questions structurées à l'utilisateur (choix multiples, etc.)
McpAuthTool / MCPTool / ListMcpResourcesTool / ReadMcpResourceTool — intégration MCP complète
PowerShellTool — exécution PowerShell (Windows) avec les mêmes garanties de sécurité que BashTool
SyntheticOutputTool — outil interne pour outputs synthétiques
src/tasks/ — Les types de tâches background
LocalAgentTask — agent local dans le même process
RemoteAgentTask — agent sur une session distante (CCR)
InProcessTeammateTask — teammate dans le même process (swarm in-process)
LocalShellTask — tâche shell background
DreamTask — tâche de consolidation mémoire (autoDream)
LocalMainSessionTask — la session principale
src/services/ — Les services
Mémoire
SessionMemory/ — mémoire de session auto-maintenue via sous-agent forké, mise à jour périodiquement en background
autoDream/ — consolidation mémoire automatique nocturne (lock, config, prompt de consolidation)
extractMemories/ — extraction de souvenirs depuis les conversations
compact/ — compaction du contexte (auto, micro, api-micro, session memory compact, post-compact cleanup)
Agents
AgentSummary/ — résumés d'agents
awaySummary.ts — résumé de ce qui s'est passé pendant une absence
API
api/claude.ts — client principal Anthropic API
api/grove.ts — Grove : système de consentement aux nouvelles conditions d'utilisation (opt-in/opt-out, grace period, notice)
api/referral.ts — système de passes guest/referral
api/ultrareviewQuota.ts — quota pour /ultrareview
api/filesApi.ts — API de fichiers Anthropic (upload)
api/sessionIngress.ts — auth des sessions entrantes
Analytics
analytics/growthbook.ts — feature flags GrowthBook (toute la logique de flags)
analytics/datadog.ts — monitoring Datadog
analytics/firstPartyEventLogger.ts — logging événements first-party
Plugins
plugins/PluginInstallationManager.ts — installation/gestion des plugins
Marketplace, autoupdate, blocklist, policy, versioning, validation...
Autres
lsp/ — LSP client/server complet (diagnostics en temps réel dans le contexte Claude)
mcp/ — MCP connection manager, auth OAuth, elicitation, channels,
Claude.ai MCP, VS Code SDK MCP
voice.ts / voiceKeyterms.ts / voiceStreamSTT.ts — Voice (Kairos Amber Quartz)
vcr.ts — VCR : système de fixtures pour tests (enregistre/rejoue les appels API, hash-based, activé sur NODE_ENV=test ou FORCE_VCR=1 pour les ants)
settingsSync/ — sync des settings entre sessions
teamMemorySync/ — sync de mémoire d'équipe avec scan de secrets
remoteManagedSettings/ — settings managés à distance (MDM)
tips/ — système de tips/conseils avec registry, scheduler, historique
compact/timeBasedMCConfig.ts — configuration temporelle de la compaction
PromptSuggestion/speculation.ts — spéculation : Claude pré-calcule la réponse probable pendant que l'utilisateur tape, max 20 turns / 100 messages de lookahead
preventSleep.ts — empêche l'OS de dormir pendant une tâche longue
src/commands/ — Les slash commands
Inventaire : /add-dir /advisor /agents /branch /bridge /brief /btw /chrome /clear /color /commit /compact /config /context /copy /cost /desktop /diff /doctor /effort /exit /export /extra-usage /fast /feedback /files /heapdump /help /hooks /ide /init /insights /install-github-app /install-slack-app /keybindings /login /logout /mcp /memory /mobile /model /output-style /passes /permissions /plan /plugin /privacy-settings /rate-limit-options /release-notes /reload-plugins /remote-env /remote-setup /rename /resume /review /rewind /sandbox-toggle /security-review /session /skills /stats /status /stickers /tag /tasks /terminalSetup /theme /thinkback /thinkback-play /ultraplan /upgrade /usage /version /vim /voice
Quelques highlights non mentionnés :
/thinkback — "Your 2025 Claude Code Year in Review" : une rétrospective animée de ton année avec Claude Code, gated tengu_thinkback
/stickers — ouvre
stickermule.com/claudecode dans le navigateur
/rewind — retour en arrière dans la conversation
/tag — tagging de sessions
/effort — contrôle du niveau d'effort (low/medium/high/max), paramètre API natif supporté sur Opus 4.6 et Sonnet 4.6
/security-review et /ultrareview — review de sécurité et review "bug hunter" ultra-approfondie (gated tengu_review_bughunter_config)
/heapdump — dump mémoire Node.js pour debugging
/mobile — intégration mobile
src/utils/ — Les utilitaires (le cœur)
PermissionsSystème à plusieurs couches : règles, classifier Yolo (LLM léger qui pré-approuve les commandes bash), dangerous patterns, auto-mode state, bypass killswitch, shadow rule detection, deny tracking
Swarm
Backends multiples : iTerm2, Tmux, InProcess, Pane
Leader/worker permission bridge via mailbox
Teammate init/layout/model/prompt/reconnection
spawnMultiAgent.ts — spawn parallèle de plusieurs agents
Computer Use (computerUse/) Nommé en interne Chicago (tengu_malort_pedway). Contrôle de souris/clavier, pixel validation, clipboard guard, coordinate mode pixels/normalized. Gated Max/Pro. Implémenté via @ant/computer-use-mcp, un package interne. La Swift native integration (swiftLoader.ts) suggère une implémentation macOS native.
Ultraplan (ultraplan/)
keyword.ts — détection du mot magique dans l'input
ccrSession.ts — routing vers une session CCR spéciale
Teleport (teleport/)
api.ts — API
claude.ai pour sessions distantes avec retry exponentiel
environments.ts — gestion des environnements cloud (création d'un env par défaut)
gitBundle.ts — bundle git pour téléporter un repo vers le cloud
environmentSelection.ts — sélection d'environnement
UndercoverMode où Claude Code masque son identité dans les commits/PRs sur repos publics. Prompt système injecté interdisant tout codename interne (Capybara, Tengu, etc.), numéros de versions non publiées, noms de repos internes. Auto-activé sauf si repo dans l'allowlist interne.
Bash (bash/) Parser bash maison complet : AST, tree-sitter analysis, shell completion, heredoc, pipe command, alias resolution, specs (pyright, srun, timeout, time, nohup...)
Deep LinkProtocole claude-cli:// enregistré dans l'OS (macOS .app trampoline, Linux .desktop, Windows registry). Permet d'ouvrir Claude Code depuis un lien avec pré-remplissage du prompt, CWD, ou repo.
MigrationsHistorique complet des migrations de modèles : Fennec → Opus, Opus → Opus1m, Sonnet 4.5 → Sonnet 4.6, réinitialisation de l'opt-in auto-mode, migration REPL bridge...
src/memdir/ — Mémoire (déjà décrit, complet)
src/skills/bundled/ — Les skills intégrés
batch.ts — traitement batch
claudeApi.ts / claudeApiContent.ts — accès direct à l'API Claude depuis un skill
claudeInChrome.ts — skill pour Claude dans Chrome
debug.ts — debugging
keybindings.ts — gestion des raccourcis clavier
loop.ts — boucle de traitement
loremIpsum.ts — génération de lorem ipsum
remember.ts — mémorisation explicite
scheduleRemoteAgents.ts — planification d'agents distants via CCR RemoteTrigger (avec décodage d'UUID tagged IDs Base58)
simplify.ts — simplification de code
skillify.ts — capture une session en cours comme skill réutilisable (analyse les messages user session memory, génère un skill markdown)
stuck.ts — aide quand Claude est bloqué
updateConfig.ts — mise à jour de la config
verify.ts / verifyContent.ts — vérification
src/utils/computerUse/ — Chicago (Computer Use)
Architecture modulaire : executor.ts (exécution des actions), hostAdapter.ts (adaptation OS), swiftLoader.ts (binaire Swift natif macOS), escHotkey.ts (raccourci d'urgence), computerUseLock.ts (exclusion mutuelle), drainRunLoop.ts (drain du run loop macOS), setup.ts (configuration initiale)
src/ink/ — Le moteur de rendu terminal (fork custom d'Ink)
Réécriture quasi-totale : layout engine basé sur Yoga (flexbox), renderer custom, gestion ANSI/bidi, support des hyperlinks terminaux, virtual scroll, selection, search highlight, keybindings customs, AlternateScreen, ScrollBox... C'est un vrai moteur UI terminal from scratch.
src/bridge/ — Le bridge REPL
Bridge entre le CLI et une interface web/desktop : WebSocket, SSE, polling config, JWT, trusted device, capacity wake, flush gate, inbound messages/attachments. Base d'OpenClaw / sessions déportées.
src/remote/ — Sessions distantes
RemoteSessionManager.ts, SessionsWebSocket.ts, sdkMessageAdapter.ts, remotePermissionBridge.ts — infrastructure pour contrôler Claude Code depuis une interface distante (
claude.ai web, desktop app)
Feature flags (tengu_*) — Liste exhaustive
55 flags identifiés. Quelques non encore mentionnés :
tengu_surreal_dali — expérience inconnue (nom artistique)
tengu_coral_fern — expérience inconnue
tengu_cicada_nap_ms — durée de sleep Kairos (en ms ?)
tengu_chomp_inflection — probablement lié à la compaction
tengu_collage_kaleidoscope — expérience visuelle ?
tengu_birch_trellis / tengu_bramble_lintel — expériences inconnues
tengu_cobalt_harbor / tengu_cobalt_lantern / tengu_cobalt_raccoon — famille cobalt (probablement un modèle ou feature)
tengu_slate_prism / tengu_slate_thimble — famille slate
tengu_jade_anvil — inconnu
tengu_fgts — inconnu (acronyme)
tengu_malort_pedway — Chicago (Computer Use)
tengu_review_bughunter_config — ultrareview
Ce que ce repo révèle sur l'architecture globale
Ce n'est pas "un CLI". C'est une plateforme : moteur UI terminal custom, système multi-agents complet avec swarms, mémoire hiérarchique (session/projet/équipe), cron scheduler persistant, spéculation lookahead, Computer Use natif, bridge web/desktop, deep links OS, plugin marketplace, voice, LSP intégré, VCR pour tests, undercover mode, télémétrie multi-niveaux (Datadog, BigQuery, Perfetto tracing), migrations de modèles automatiques, MDM pour entreprises.
1884 fichiers. Tout est là.