Catalogue Des Capabilities¶
Une capability est une brique activable par arclith-cli add-adapter.
Chaque installation crée son blueprint complet : packages, fichiers de rôle et documentation développeur/IA sont présents dès le départ.
Une capability et son adapter répondent à un besoin technique. Ils restent distincts des blueprints applicatifs, qui initialisent un comportement récurrent comme le CRUD sans choisir FastAPI, FastMCP, MongoDB ou PostgreSQL.
La section Capabilities est le niveau deep dive de la documentation. Elle détaille les contrats, les adapters, les contraintes de production et les validations. Le format attendu est décrit dans Structure d'une capability.
Lire Le Catalogue¶
Le catalogue CLI est la source de vérité technique. Cette page sert de carte de lecture et chaque ligne renvoie vers la fiche dédiée.
Matrice¶
| Capability | Couche | Adapters | Quand la lire |
|---|---|---|---|
| api | inbound | fastapi |
exposer un use case ou projeter une feature en HTTP |
| mcp | inbound | fastmcp |
exposer des tools MCP |
| agent | inbound | langgraph |
exposer un agent LangGraph |
| agent-persistence | inbound | langgraph |
conserver threads et mémoire cross-thread |
| auth | inbound | keycloak |
sécuriser API ou MCP |
| tenant | inbound | vault |
résoudre un contexte tenant |
| license | inbound | role |
contrôler un droit d'accès |
| probe | inbound | server |
exposer /health et /ready |
| http | inbound | idempotency, etag, cache-control |
durcir les conventions HTTP |
| repository | outbound | memory, mongodb, duckdb, mariadb, postgresql |
choisir les garanties, router par entité et opter pour un mapping PostgreSQL structuré |
| storage | outbound | filesystem, s3, azure-blob, gcs |
stocker fichiers et blobs |
| cache | outbound | memory, redis |
partager JWKS, tenants et idempotence |
| logger | outbound | console |
standardiser les logs |
| secrets | outbound | env, yaml, vault, chain |
résoudre les secrets |
| llm | outbound | lmstudio, openai, anthropic |
configurer les modèles |
| embedding | outbound | deterministic, openai-compatible, openai |
calculer des vecteurs texte sans les persister |
| vector-store | outbound | memory |
indexer et rechercher des projections vectorielles |
| observability (OpenTelemetry) | outbound | langsmith, opentelemetry |
traces, métriques, logs et agents |
| command-bus | bidirectional | rabbitmq |
consommer et publier des commandes |
| channel | bidirectional | memory, webhook, slack |
normaliser une conversation, résoudre son identité et dédupliquer les événements |
| runtime | runtime | docker-image |
générer le runtime conteneur |
Parcours Fréquents¶
| Besoin | Lire |
|---|---|
| Concevoir le cœur métier | Scaffold CLI guidé, blueprints applicatifs, puis formation Todo |
| API minimale ou CRUD | Quickstart API, blueprint CRUD, puis api/fastapi |
| MCP minimal | Quickstart MCP, formation MCP, puis mcp/fastmcp |
| Bus RabbitMQ | Quickstart Bus, puis command-bus/rabbitmq |
| Canal conversationnel | Quickstart Channel, contrat channel, puis webhook signé ou Slack |
| Agent local | Quickstart Agent, formation agent, puis agent/langgraph et persistance |
| Pipeline RAG local | embedding pour calculer les vecteurs, puis vector-store pour les indexer |
| Observabilité locale | OpenTelemetry de bout en bout, puis observabilité production |
| Fichiers et blobs | storage, quickstart filesystem, puis secrets pour les credentials |
| Persistance métier | repository, sa matrice et son routing multi-stores, puis storage ou vector-store pour les responsabilités distinctes |
| Faits immuables et ingestion idempotente | Blueprint append-only et contrat AppendOnlyStore, distincts du repository CRUD ; store mémoire composé explicitement |
| Travail suivi, annulation et retry | Blueprint job, ports d'exécution et store/runner mémoire non durables ; sélection explicite du moteur |
| Réconciliation d'une source externe vers une cible | Blueprint synchronization, pull full/incremental exécuté comme job, mapping explicite et checkpoint par page |
| Étapes ordonnées avec checkpoint et reprise | Blueprint workflow, ports typés, retries bornés et runner/store mémoire non durables |
| Service production | Baseline production, puis les pages de la section Production |
| Déploiement | Runtime Docker, puis Docker Compose |
Ajouter Une Capability¶
Une PR qui ajoute ou modifie une capability doit mettre à jour :
- le catalogue CLI ;
- la page dédiée en respectant la structure canonique ;
- cet index ;
- le quickstart si le flux est fréquent ;
- la formation associée quand un pas à pas est nécessaire ;
- la baseline production si la capability appartient au socle de production ;
- les captures, vidéos ou supports de formation quand la capability introduit un nouveau geste utilisateur.