--- name: obsidian-project-hub description: > Génère et maintient des hubs de suivi de projet dans le vault Obsidian. Centralise les décisions, contributions cross-LLM, état d'avancement, dépendances et prochaines étapes pour chaque projet actif. Déclenche quand l'utilisateur mentionne "hub projet", "état du projet", "dashboard projet", "suivi projet", "résumé projet", "où en est [projet]", "qui a fait quoi sur [projet]", "timeline du projet", ou quand un projet a accumulé assez de notes pour mériter une vue synthétique. --- # Obsidian Project Hub Tu es un LLM qui crée et maintient des **hubs de projet** dans un vault Obsidian partagé entre plusieurs LLM. Un hub de projet est une note vivante qui centralise tout ce qu'il faut savoir sur un projet : état, décisions, contributions, dépendances, et prochaines étapes. Le hub est le **point d'entrée** pour tout LLM qui doit travailler sur un projet. Au lieu de lire 20 notes dispersées, il lit le hub et comprend immédiatement où en est le projet, ce qui a été décidé, et ce qui reste à faire. ## Première chose à faire : lire BRAIN.md Avant toute opération, lis `_adn/brain.md` pour connaître les projets actifs, les priorités, et le contexte global de l'utilisateur. ## Philosophie Un hub n'est pas un doublon des notes de projet — c'est un **index intelligent** qui pointe vers elles. Il contient des résumés, des timelines, des tableaux de suivi, mais le contenu détaillé reste dans les notes individuelles. Le hub agrège et synthétise. Le hub est aussi l'outil de **traçabilité cross-LLM** : il montre quel LLM a contribué quoi au projet. Quand Claude, ChatGPT et Gemini travaillent tous sur OpenClaw, le hub permet de voir qui a pris quelles décisions, créé quelles notes, et quand. ## Structure d'un hub de projet ```markdown --- title: "Hub - [Nom du projet]" type: project project_name: "[nom-projet]" project_phase: planning | building | testing | deployed | paused tags: - projet/[nom-projet] - hub - domaine/[domaine-principal] - statut/actif status: active summary: "Hub de suivi du projet [nom]. Centralise état d'avancement, décisions, contributions cross-LLM, dépendances et prochaines étapes. Dernière mise à jour : [date]." source_llm: claude updated: 2026-04-16T22:00:00 related: - "[[MOC Projets]]" --- # Hub — [Nom du projet] > [!summary] > [Description du projet en 2-3 phrases : quoi, pourquoi, pour qui] ## État actuel | Métrique | Valeur | |----------|--------| | Phase | building | | Statut | actif | | Démarré le | 2026-03-01 | | Deadline | 2026-06-01 (si applicable) | | Notes liées | 23 | | Décisions prises | 8 | | LLM contributeurs | claude, chatgpt | | Dernière activité | 2026-04-16 | ## Description Résumé du projet : objectif, périmètre, stack technique, contraintes. ## Décisions — Timeline > [!decision] Historique des décisions > Toutes les décisions prises sur ce projet, dans l'ordre chronologique. | Date | Décision | Confiance | LLM | Note | |------|----------|-----------|-----|------| | 2026-03-15 | Utiliser FastAPI pour l'API | high | claude | [[decision-fastapi-openclaw]] | | 2026-03-20 | Doppler pour les secrets | high | chatgpt | [[decision-doppler-secrets]] | | 2026-04-02 | JWT pour l'auth | medium | claude | [[decision-auth-jwt-openclaw]] | ## Contributions par LLM Qui a fait quoi — traçabilité cross-LLM. ### Claude - 15 notes créées (architecture, veille, décisions) - Décisions : FastAPI, JWT auth, structure vault - Dernière contribution : 2026-04-16 ### ChatGPT - 6 notes créées (infra, secrets, déploiement) - Décisions : Doppler, stratégie VPS - Dernière contribution : 2026-04-10 ### Gemini - 2 notes créées (veille techno) - Dernière contribution : 2026-04-05 ## Composants / Modules Vue d'ensemble des parties du projet. | Composant | Statut | Responsable | Notes liées | |-----------|--------|-------------|-------------| | API Backend | building | claude | [[openclaw-api-architecture]] | | MCP Servers | planning | claude | [[veille-mcp-protocol]] | | Auth | decided | claude+chatgpt | [[decision-auth-jwt-openclaw]] | | Infra/VPS | building | chatgpt | [[openclaw-infra-vps]] | ## Dépendances Liens avec d'autres projets ou ressources externes. - **MCP Obsidian** : nécessaire pour que les LLM accèdent au vault → en cours de setup - **Doppler** : configuré, secrets en place - **VPS** : provisionné, en cours de sécurisation ## Prochaines étapes - [ ] Étape 1 — description et deadline estimée - [ ] Étape 2 — description - [ ] Étape 3 — description ## Risques et blocages > [!warning] Points d'attention > Éléments qui pourraient bloquer ou ralentir le projet. - Risque 1 : description + impact + mitigation - Blocage actuel : description (si applicable) ## Notes liées Toutes les notes du vault rattachées à ce projet : ### Architecture & Décisions - [[decision-xxx]] — résumé court - [[decision-yyy]] — résumé court ### Veille & Recherche - [[veille-xxx]] — résumé court ### Idées & Contenu - [[idee-xxx]] — résumé court ### Réunions - [[meeting-xxx]] — résumé court ``` ## Quand créer un hub Un hub est créé quand un projet remplit **au moins un** de ces critères : 1. **5+ notes** dans le vault avec le même tag `projet/...` 2. **3+ décisions** prises sur le projet 3. **2+ LLM** ont contribué au projet 4. L'utilisateur demande explicitement un hub ou un état des lieux ## Quand mettre à jour un hub Le hub doit être rafraîchi quand : 1. **Nouvelle décision** prise sur le projet → ajouter dans la timeline 2. **Changement de phase** (planning → building, etc.) → mettre à jour l'état 3. **Nouveau LLM contributeur** → ajouter sa section dans les contributions 4. **Passe organizer/dream** → l'organizer peut signaler qu'un hub est outdated 5. **À la demande** de l'utilisateur ("où en est OpenClaw ?") ## Procédure de création 1. **Identifier le projet** : nom, tag `projet/...`, phase actuelle 2. **Scanner le vault** : trouver toutes les notes avec ce tag projet 3. **Extraire les décisions** : notes `type: decision` liées au projet, les trier chronologiquement 4. **Identifier les LLM contributeurs** : regrouper les notes par `source_llm` 5. **Détecter les composants** : analyser les notes pour identifier les modules/parties du projet 6. **Extraire les prochaines étapes** : chercher les `- [ ]` dans les notes de projet 7. **Identifier les dépendances** : liens entre ce projet et d'autres projets ou ressources 8. **Compiler le hub** selon le template ci-dessus 9. **Placer dans `projects/`** avec le nom `hub-[nom-projet].md` 10. **Lier à la MOC Projets** ## Procédure de mise à jour 1. **Lire le hub existant** 2. **Scanner les nouvelles notes** depuis la dernière mise à jour (comparer `updated` du hub avec `created`/`updated` des notes) 3. **Mettre à jour** chaque section impactée 4. **Mettre à jour `updated`** dans le frontmatter 5. **Mettre à jour le `summary`** si l'état a significativement changé ## Rapport de hub Quand un hub est créé ou mis à jour, produire un résumé concis : ```markdown ## Hub [Projet] — Mis à jour le 2026-04-16 - Phase : building - 23 notes liées (+4 depuis dernière mise à jour) - 8 décisions, dont 1 nouvelle (JWT auth) - 3 LLM contributeurs (claude: 15, chatgpt: 6, gemini: 2) - Prochaine étape prioritaire : setup MCP Obsidian - Risque principal : dépendance au MCP pas encore fonctionnel ``` ## Règles 1. **Le hub ne duplique pas** — il pointe vers les notes avec des `[[liens]]` et des résumés courts 2. **Toujours mettre `updated`** à jour quand le hub est modifié 3. **Le hub a le tag `hub`** en plus du tag `projet/...` pour être facilement identifiable 4. **Un seul hub par projet** — pas de fragmentation 5. **Le `source_llm`** du hub = le LLM qui le crée/met à jour (comme toute note) 6. **Les sections vides sont gardées** avec "Aucun pour le moment" plutôt que supprimées — ça guide les futurs LLM sur ce qu'il faut remplir ## Checklist - [ ] Le hub est dans `projects/` avec le nom `hub-[nom-projet].md` - [ ] Le tag `hub` est présent dans les tags - [ ] La timeline des décisions est chronologique et complète - [ ] Les contributions par LLM sont à jour - [ ] Les prochaines étapes reflètent l'état réel du projet - [ ] Le `summary` du frontmatter mentionne la date de dernière mise à jour - [ ] Le hub est lié à la MOC Projets - [ ] `updated` correspond à la dernière modification