Commit Graph

116 Commits

Author SHA1 Message Date
MaksTinyWorkshop 31349e3f3d fix(projects): réaligner _projects.conf RL799 sur le dossier/repo réel
Le registre listait "app-rl799" mais le dossier disque, le repo GitHub
(RL799_V2.git), le worktree actif et l'usage courant utilisent tous "RL799_V2".
Le renommage "app-rl799" n'avait été répercuté nulle part → resolve-project-path.sh
retournait un chemin inexistant pour ce projet.

Correction: app-rl799 → RL799_V2 dans _projects.conf (aligne le registre sur la
réalité, sans toucher au dossier/repo). Les 3 projets résolvent maintenant correctement.
2026-06-26 11:27:34 +02:00
MaksTinyWorkshop c5a7b5f396 fix(bmad-init): symlinker .claude/skills + commands séparément (pas .claude entier)
Bug: bmad-init-project.sh symlinkait .claude/ EN ENTIER. Or Claude Code a besoin
d'un .claude réel (settings.local.json, worktrees/) — le symlink échouait donc
silencieusement ("existe déjà, ignoré"), et les skills BMAD n'arrivaient JAMAIS
côté Claude Code. Conséquence: BMAD 6.9 + customisations .toml inactifs dans les
projets via Claude Code (seul Codex/.agents fonctionnait, lui étant symlinkable).

Fix:
- .agents/ reste un symlink complet (Codex n'y écrit pas)
- .claude/ reste un dossier RÉEL ; on symlinke seulement .claude/skills et
  .claude/commands vers la base centralisée → à jour sans écraser les fichiers
  propres à Claude Code
- ajout de custom/ + scripts/ aux modules _bmad symlinkés (resolver de customisation)

Validé: resolve_customization.py résout désormais les overrides (.toml gates MCP +
capitalisation) depuis .claude/skills dans RL799_V2 et app-alexandrie.
2026-06-26 11:23:32 +02:00
MaksTinyWorkshop 16707b6aaf chore(sanitization): nettoyage repo post-capitalisation
- Suppression de 3 fichiers *.tmp versionnés (résidus install BMAD 6.0.4, vides)
- Ajout de *.tmp au .gitignore
- Déduplication: entrée "Prisma init au chargement = casse build Next.js"
  était dupliquée à l'identique dans risques/prisma.md ET risques/nextjs.md
  → conservée dans nextjs.md (risque Next.js), retirée de prisma.md
- Déduplication: pattern "Tests de styles RN sans renderer JSX" dupliqué dans
  patterns/tests.md ET patterns/design-tokens.md → conservé dans tests.md
- Correction README backend/risques : retrait des entrées fantômes de la ligne
  prisma.md ("init module build" déplacé vers nextjs ; "suppression champ .map()"
  qui vit en réalité dans general.md)

Audit complet de la base : aucun doublon d'ancre restant, liens non cassés,
README synchronisés, format risques/patterns constant. Branches obsolètes
mcp_test et mcp_v1 supprimées (mergées dans main).
2026-06-26 10:49:47 +02:00
MaksTinyWorkshop 88f2eab058 docs(capitalisation): purge 95_ après intégration du triage local (mai-juin 2026)
Le buffer 95_a_capitaliser.md contenait ~273 propositions accumulées localement
(RL799_V2 + app-alexandrie, mai-juin 2026). Toutes triées et intégrées :
- backend → knowledge/backend/ (f1b7834)
- frontend → knowledge/frontend/ (5f5c872)
- workflow + ux → knowledge/ (81fde91)
- post-mortems + ADR → 90_/40_ (2a06429)

Le buffer est purgé. Restent 3 entrées jugées trop spécifiques au projet lors du
triage, conservées avec une note de routage pour intégration manuelle dans les
CLAUDE.md des projets concernés :
- RL799_V2 : centre d'aide in-app + taux de présence borné par initiatedAt
- app-alexandrie : tronc commun vs extension premium (formation Skool)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 00:56:46 +02:00
MaksTinyWorkshop 2a06429898 docs(knowledge): capitalisation racine — post-mortems (90_) et ADR (40_) du triage local
Intégration des propositions ciblant les fichiers racine validés.

90_debug_et_postmortem.md (9 post-mortems) :
- type métier dupliqué dans package shared + bridge ; flakiness "socket hang up" e2e
  (recyclage de port éphémère) ; rtk masque la sortie des CLI build/test ; vi.spyOn sur
  module ESM ; `as const` → TS2769 (jose) ; échec massif suite = template DB corrompu ;
  séparer 2 chantiers mélangés (barrel partagé) ; modèle Prisma fantôme (migration sans
  model) + variante effet iceberg CI

40_decisions_et_archi.md (4 ADR) :
- CI e2e mobile pas un prérequis prod ; vérifier le modèle de données réel avant spec ;
  segmenter l'auth par sensibilité d'action ; IdP Keycloak auth-only + RBAC local (Proposed)

Dédupliqué vs knowledge/ déjà écrit : les ADR/post-mortems apportent l'angle narratif/décisionnel
(le "pourquoi"/"récit de debug"), complémentaire des règles réutilisables en knowledge/, avec
cross-références. Blocs déjà couverts ailleurs (113 liste/détail) non réintégrés.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 15:58:46 +02:00
MaksTinyWorkshop 81fde91259 docs(knowledge): capitalisation workflow + ux — intégration du triage local (mai-juin 2026)
Triage et intégration des propositions workflow et UX du buffer 95_a_capitaliser.md.

WORKFLOW :
- risques/story-tracking.md : 24 risques de suivi de story (enabler AC non-bloquant,
  tests plumbing vs scénario, reformat hors scope, xit sans story de suivi, re-scope mid-PR,
  statut migré non vérifié, périmètre auto-déclaré vs git diff, composant/page livré sans
  câblage — reciblages venus de backend #21 et frontend #257)
- patterns/general.md : audit cartographique pré-chantier, Go/No-Go par lot, sub-agent review
  fresh-context, sweep read-only délégué (#156), revue adverse de spec, audit-first migration

UX (domaine amorcé — était vide) :
- patterns/general.md : 9 patterns (mount-based read, fiche détail single-scroll, FAB étendu,
  ligne de contexte filtres, état read-only caché, avatar par hash, audit a11y touch targets)
- risques/general.md : 5 risques (bouton retour dans ScrollView #108, lien sans handler,
  wording cross-écran divergent, token sans détection, padding multi-écrans)
- READMEs ux/workflow mis à jour

Vérifié : aucun doublon d'ancre/titre, fichiers racine 40_/90_ non modifiés (propositions
réservées pour validation séparée). Source 95_ non purgée (purge en fin de capitalisation).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 15:48:53 +02:00
MaksTinyWorkshop 5f5c87296e docs(knowledge): capitalisation frontend — intégration du triage local (mai-juin 2026)
Triage et intégration des propositions frontend du buffer 95_a_capitaliser.md
(lot local RL799_V2/Vue3 + app-alexandrie/RN-Expo, mai-juin 2026).

~73 entrées intégrées sur knowledge/frontend/ + 1 nouveau fichier, dont :
- patterns/state.md : race-token partagé latest-wins (fusion 3 props), capture sync anti-race,
  event bus timestamp, clé cache composite, état dérivé = computed
- risques/state.md : 9 risques Zustand/store (fetchId reset, useRef remount, re-fetch infini
  sur [], flag optimiste écrasé, cache détail/liste stale, latch sans reset, :key index)
- patterns/navigation.md : Expo Router (tab bar, useFocusEffect, Href typé, routing pur fusionné)
- patterns/general.md : helpers temps purs, composants génériques + skeleton, fail-fast, touch target
- risques/general.md : 24 risques (sweep statique, filtre client liste paginée, hooks avant return,
  a11y VoiceOver/disabled, redirection allowlist, RangeError toISOString, section i18n...)
- design-tokens (cluster theming light/dark MD3), tests, performance, react-native, nextjs
- NOUVEAU risques/responsive.md (gating par capacité d'input + checklist régressions mobile)
- READMEs patterns/risques mis à jour

Doublons inter-fichiers évités (vérifié : aucune ancre dupliquée introduite).
Rejets (doublons 91/9/87), reciblages workflow (156/257) et bloc 32 (CLAUDE projet) non intégrés ici.
Source 95_a_capitaliser.md non purgée (purge en fin de capitalisation complète).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 15:31:53 +02:00
MaksTinyWorkshop f1b783407a docs(knowledge): capitalisation backend — intégration du triage local (mai-juin 2026)
Triage et intégration des propositions backend du buffer 95_a_capitaliser.md
(lot local RL799_V2 + app-alexandrie, mai-juin 2026), distinct de la capitalisation
remote antérieure (triage 2026-05-02).

~73 entrées intégrées sur knowledge/backend/, dont :
- patterns/auth.md : série "membrane d'auth fédérée BFF/OIDC" (9 patterns) + jose algo whitelist
- patterns/prisma.md : recette fusionnée "Migration String/Int → enum" (backfill + Cas A/B/C),
  row réactivable, endpoint replace atomique, updateMany conditionnel, etc.
- risques/general.md : 19 risques (epoch s vs ms, keepAliveTimeout=0, upsert+filtre liste,
  fail-safe catch-all, retrait asymétrique front/back, anti-énumération rate-limit, etc.)
- patterns/general, async, nestjs, contracts, tests + risques/auth, contracts, prisma, redis, stripe, tests
- compléments d'entrées existantes (authorize-after-fetch, P3014, cursor opaque, DI swc, Stripe v20...)
- README patterns/risques mis à jour

Doublons internes corrigés en relecture (suppression-champ .map() → general seul ;
e2e DB-based → tests.md seul). Doublons hors backend / entrées projet / rejets non intégrés.
Source 95_a_capitaliser.md non purgée à ce stade (purge en fin de capitalisation complète).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 11:25:02 +02:00
MaksTinyWorkshop ef24d85d57 capitalisation: triage 95_a_capitaliser + création domaine infra
Triage des 27 propositions du buffer de capitalisation (skill
capitalisation-triage), avec vérification des doublons contre la base.

Intégré dans knowledge/ (23 entrées):
- backend: redis (compensation incrBy non-atomique), nestjs (injection
  cassée sous tsx watch; guard write mode dégradé), async (test rollback
  pipeline multi-fichiers), contracts (idempotence POST), auth (disclosure
  comptes soft-deleted), prisma (index partial soft-delete), llm-providers
  (nouveau: OAuth vs API key, prompt caching).
- frontend: tests (garde-fous parking Later), navigation (fichiers
  non-route sous src/app Expo Router), general (type client vs payload
  backend), state (fallback catch-all mapping DB→UI).
- workflow: story-tracking (statut BMAD vs narratif obsolète).
- product: general (nouveau: doc feature store sans UI).
- infra: NOUVEAU DOMAINE (traefik, tailscale, docker, docker-networking,
  reverse-proxy-paths, sidecar tailscale) + 00_INDEX.md.

Autres:
- 90_debug_et_postmortem.md: post-mortem réseau Docker partagé hors compose.
- Rejeté 3 doublons (types enum contracts, getter PrismaService, $transaction).
- Buffer 95_a_capitaliser.md purgé et restauré à son état initial.
- _projects.conf: MAJ statuts epics + ajout app-rl799.
2026-06-25 10:31:22 +02:00
MaksTinyWorkshop 1c876309f1 leadtech-bmad-mcp: serveur MCP central HTTP via sidecar Tailscale
Transforme le MCP leadtech-bmad de stdio local en service HTTP central
conteneurisé, accessible depuis tout périphérique du tailnet.

- server.main(): transport piloté par LEADTECH_MCP_TRANSPORT (stdio par
  défaut → aucune régression locale; streamable-http pour le central).
  Host/port via LEADTECH_MCP_HOST/_PORT.
- _build_transport_security(): whitelist d'hôtes via LEADTECH_MCP_ALLOWED_HOSTS
  pour lever la protection anti-DNS-rebinding (HTTP 421) derrière le sidecar.
- Dockerfile (python:3.11-slim, build index au démarrage, lance le serveur HTTP).
- docker-compose.yml: service mcp (réseau interne, aucun port publié) +
  sidecar tailscale (tailscale serve TLS MagicDNS). user 1000:1000 pour
  l'écriture dans le bind-mont. ALLOW_WRITE=1 sur l'instance centrale.
- tailscale/serve.json, .env.example, mcp.config.http.example.json.
- .gitignore: ignore le .env (secrets), garde .env.example.
- docs/design_nuc_tailscale.md: statut passé à IMPLÉMENTÉ + URL réelle.

Validé: handshake MCP initialize HTTPS via tailnet → 200, 7 tools listables,
écriture 95_a_capitaliser.md confirmée, 79 tests verts.
2026-06-25 10:30:53 +02:00
MaksTinyWorkshop 2fa34f0f6f feat(mcp): add token report script to measure real MCP consumption
scripts/mcp_token_report.py scanne un transcript Claude Code (.jsonl) et mesure
la consommation réelle des appels MCP leadtech en condition d'usage :
- nombre d'appels par tool (get_guidance, validate_plan, validate_patch, ...)
- tokens des résultats MCP injectés dans le contexte
- part dans l'input non caché + totaux session (input/output/cache)

Usage: python3 mcp_token_report.py --project RL799_V2  (dernier transcript du projet)
Validé sur transcript simulé (3 appels = pattern d'une story dev): détection + comptage OK.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 01:50:35 +02:00
MaksTinyWorkshop 4d0f99d699 perf(mcp): lower get_guidance default max_items 12 -> 6 (token budget)
Un appel get_guidance par défaut passe de ~3800 à ~2280 tokens (-40%) en gardant
un mix patterns/risques équilibré (3 must_do + 3 red_flags) et confidence HIGH sur
un cas backend réaliste. Les agents qui veulent plus peuvent toujours passer max_items.

Mesuré: lire toute la base = ~131k tokens ; 1 appel ciblé à 6 = ~2,3k (~98% d'économie).
Défaut aligné dans server.get_guidance et knowledge.search_knowledge.
79 tests passent, aucune régression.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 01:46:32 +02:00
MaksTinyWorkshop d002435f03 docs(mcp): add NUC + Tailscale central hosting design (chantier, non démarré)
Capture le design abouti d'un MCP central:
- besoin: 1 instance, lecture+écriture, sans clone local sur chaque machine
- hébergement NUC en HTTP (FastMCP streamable-http), exposition via Tailscale (pas de WAN)
- écriture centralisée: ALLOW_WRITE=1 côté NUC, plus de conflit multi-machine
- workflow capitalisation à seuil: accumulation -> triage_capitalization() au-delà de N -> rapport -> validation humaine
- source de vérité données: Git (origin), NUC = clone de référence

Statut: PISTE non figée (pas dans 40_decisions_et_archi.md). Reste-à-faire listé.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 01:33:40 +02:00
MaksTinyWorkshop a1d0aba98d docs(observability): record Phase 2 chain validation (TEST-OBS-001)
Validation bout-en-bout de la chaîne MCP <-> BMAD 6.9 :
- serveur leadtech-bmad testé sur Mac (handshake 7 tools / 6 resources OK)
- gates Phase 2 stricts vérifiés (backend_contracts + backend_session_expires_at
  se déclenchent sur cas non conforme, 0 faux positif sur plan conforme)
- MCP déclaré dans Claude Code pour app-alexandrie et RL799_V2

Story TEST-OBS-001 enregistrée comme ligne T0 (validation de chaîne, factice,
HORS décompte des 10 stories produit). Le compteur réel Phase 3 démarre intact
à la première vraie story.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 01:20:25 +02:00
MaksTinyWorkshop cbace46989 chore(bmad): migrate 80_bmad/base from 6.0.4 to 6.9 + port customizations to TOML overrides
Migration des modules via l'installer officiel (Quick update, en place) :
- core/bmm 6.0.4 -> 6.9.0
- tea 1.5.3 -> 1.19.0
- cis 0.1.8 -> 0.2.1

Portage des customisations Lead_tech vers le nouveau mécanisme d'overrides
(_bmad/custom/<skill>.toml, couche "team" résolue par resolve_customization.py) :
- 6 agents directs (analyst, architect, dev, pm, tech-writer, ux-designer)
- module tea
- workflows: dev-story, create-story, code-review, quick-dev, qa-generate-e2e-tests
- agents disparus en 6.9 reportés vers leurs workflows hôtes
  (QA -> code-review, SM -> create-story, quick-flow-solo-dev -> quick-dev)
- règle de capitalisation 95_a_capitaliser factorisée dans
  _bmad/custom/leadtech-capitalisation.md (référencée via persistent_facts)

Nettoyage du legacy 6.0.4 :
- suppression des 17 *.customize.yaml (non lus par 6.9)
- suppression des .bak générés par l'installer (contenu porté en .toml)
- suppression de 17 skills orphelins dans .agents/skills (anciens noms, .agents/.claude réalignés 66=66)
- suppression des coquilles de workflows disparus

Tous les overrides validés par le resolver officiel (12/12 JSON valide,
base préservée + ajouts Lead_tech). Le cœur (couche customize.toml) n'est plus modifié,
donc les updates 6.x futurs ne pourront plus écraser ces customisations.

Note env: resolve_customization.py exige Python >=3.11 (uv installé, python3 -> 3.12.13).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 16:48:44 +02:00
Claude a7b96919a6 feat(observability): scaffold Phase 2 tracking for Leadtech MCP rollout
Met en place le squelette d'observabilite pour suivre le rollout
Phase 2 partielle sur les 10-20 prochaines stories BMAD.

Trois fichiers dans 80_bmad/observability/ :
- README.md : flux operationnel + criteres de promotion vers Phase 3
  + criteres de retour en arriere vers Phase 1
- template_releve_story.md : modele a copier-coller par story
- phase2_log.md : log cumulatif (tableau recap + compteurs par regle
  + notes detaillees)

Suivi tenu a la main pour l'instant. Une automatisation (script qui
scanne les sections 'Leadtech MCP Gates' dans les stories des projets
de _projects.conf) sera consideree apres 10 stories releves
manuellement, si le format est juge stable.

rollout_bmad_advisory.md reference le nouveau dossier dans sa section
Observabilite.
2026-05-07 08:06:04 +00:00
Claude 3ce243591c docs(mcp-rollout): clarify Curator as human-driven flow (no BMAD agent)
Le role Curator de la doc rollout n'avait pas d'agent BMAD dedie, ce
qui laissait planer un doute sur ses points d'invocation. Clarification :

- Pas d'agent BMAD Curator. Le role est execute par l'humain.
- Les autres agents (dev, qa, architect, sm, pm, ux-designer) ecrivent
  directement dans 95_a_capitaliser.md via leurs memories — pas besoin
  de propose_capitalization en critical_action.
- Le triage est manuel via le skill capitalisation-triage et le tool
  MCP triage_capitalization() pour la pre-analyse heuristique.
- propose_capitalization reste utile en interactif quand l'humain veut
  formaliser une entree.
2026-05-07 07:59:57 +00:00
Claude ad2a0acdb3 feat(bmad): wire ux-designer and pm to Leadtech MCP get_guidance
Deux agents BMAD avaient critical_actions vide alors qu'ils opèrent
sur des domaines couverts par la base Lead_tech.

- ux-designer : get_guidance(domain='ux', task_type='analysis').
  Commentaire explicite : knowledge/ux/ est encore vide (index README
  sans entrée), wiring en place pour s'activer dès qu'un pattern UX
  validé sera promu via 95_a_capitaliser.md. Le smoke test retourne
  2 matched_docs depuis les README index — utile dès maintenant.
- pm : get_guidance(domain='product', task_type='analysis') sur
  roadmap, prioritization, epic-level decisions. Smoke test :
  confidence HIGH, 3 matched_docs sur knowledge/product/.
2026-05-07 07:59:20 +00:00
Claude 993f048600 fix(bmad): align customize.yaml strict mode with workflows (Phase 2)
Les workflows dev-story appellent validate_plan/validate_patch en
strict=true depuis le commit 355d613, mais les customize.yaml
correspondants disaient encore strict=false. Le workflow surcharge le
customize au moment de l'exécution, donc pas de bug fonctionnel — mais
la lecture du customize seul donnait une fausse impression du rollout.

Changements :
- bmm-dev : strict=true sur validate_plan et validate_patch + memory
  Phase 2 partielle remplaçant la mention 'advisory-first'.
- bmm-quick-flow-solo-dev : idem, quick-flow ne contourne pas le strict.
- bmm-qa : strict=false maintenu volontairement (le blocage a déjà eu
  lieu côté dev) avec commentaire YAML qui explique le choix, et memory
  reformulée pour Phase 2.
2026-05-07 07:58:36 +00:00
Claude 18fc130ad6 docs(mcp-rollout): align rollout doc with Phase 2 partielle reality
Audit santé du chantier mcp_v1 a montré un écart entre la doc rollout
(advisory only) et l'implémentation réelle (workflows dev-story et
create-story en strict=true, personas dev.md et sm.md avec hard-blocker
sur blocking_issues). Décision : aligner la doc sur l'implem.

Changements :
- rollout_bmad_advisory.md : réécrit pour décrire la Phase 2 partielle
  avec les 3 blocages stricts effectivement actifs (artefacts BMAD seuls,
  sessions sans expiresAt, plan backend sans contracts).
- integration_mcp_sidecar.md : points d'injection mis à jour avec
  strict=true sur dev, advisory sur QA, statut Phase 2.
- mcp_v1.md et README.md : statut 'advisory-first' / 'prototype' →
  'Phase 2 partielle'.
- 40_decisions_et_archi.md : nouvel ADR retraçant le choix.

Note : les customize.yaml invoquent encore strict=false, surchargés par
les workflows. Cohérence interne à traiter dans un prochain commit si
besoin.
2026-05-07 07:40:34 +00:00
Claude 3948bf794a chore(gitignore): exclude leadtech-bmad-mcp local index
Generated by `leadtech-bmad-build-index` at repo root, regenerable
on demand. Avoid accidental commits of the 600 KB index artifact.
2026-05-07 07:24:31 +00:00
MaksTinyWorkshop b3417ad77b capitalisation: intégration ~60 entrées RL799_V2 (triage 2026-05-02)
Triage du 95_a_capitaliser.md (~75 propositions) :
- 60 entrées intégrées dans knowledge/ (backend, frontend, workflow)
- 4 nouveaux fichiers : backend/patterns/tests.md, backend/risques/tests.md,
  frontend/patterns/general.md, workflow/patterns/general.md
- 6 doublons rejetés
- Mise à jour des READMEs index pour refléter les nouvelles entrées
- 95_a_capitaliser.md restauré à sa structure initiale
- 40_decisions_et_archi.md : décision mono-tenant déployable vs SaaS multi-tenant
- 90_debug_et_postmortem.md : sub-agents Write indisponible, effet iceberg CI,
  prisma migrate diffs cosmétiques

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 22:12:44 +02:00
MaksTinyWorkshop 02ad0de258 chore(capitalisation): integrate triage entries and anchor new knowledge 2026-04-18 13:19:27 +02:00
MaksTinyWorkshop 7767f1f947 capitalisation: intégration 28 entrées knowledge + 2 CLAUDE.md RL799_V2 (triage branche mcp_v1)
28 nouvelles sections intégrées dans 12 fichiers knowledge (backend risques/patterns,
frontend risques/patterns, workflow risques). Couvre rate limiting, RGPD, CSP Next.js,
refresh token TOCTOU, catch-all Prisma, distinction 401/403, tests E2E Playwright, etc.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 20:11:02 +02:00
MaksTinyWorkshop 72758c1adc capitalisation: intégration 33 propositions RL799_V2 (triage 2026-04-07)
Backend: 21 entrées (general, prisma, contracts, auth, patterns)
Frontend: 9 entrées (navigation, tests, general, performance, patterns)
Workflow: 5 entrées (story-tracking)
Nouveau fichier: backend/patterns/general.md
95_a_capitaliser.md purgé.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 15:44:36 +02:00
MaksTinyWorkshop 07f39ad433 docs(frontend): capitalise navigation et primitives UI 2026-04-02 10:17:12 +02:00
MaksTinyWorkshop 355d6130eb bmad: wire leadtech mcp pilot into agent customizations 2026-03-31 16:28:10 +02:00
MaksTinyWorkshop 6adc35d0ac leadtech-bmad-mcp: close lot 3 rollout and gates config 2026-03-31 16:12:42 +02:00
MaksTinyWorkshop bafc872030 leadtech-bmad-mcp: close lot 1 and implement lot 2 index 2026-03-31 15:57:09 +02:00
MaksTinyWorkshop ff8eac0dfb mcp: consolidate lot 1 metadata and planning 2026-03-31 15:39:20 +02:00
MaksTinyWorkshop 547ffb8e6f mcp: clean tracked artifacts and document rollout 2026-03-31 15:10:38 +02:00
MaksTinyWorkshop fc0bec0e2b capitalisation: intégrer 12 entrées depuis app-alexandrie et app-template-resto
- backend/risques/nestjs : guard multi-statut READ_METHODS avant statut
- backend/patterns/nestjs : fusionner lastSeenAt dans la réconciliation
- backend/risques/contracts : pas de process.env dans services/helpers
- backend/risques/nextjs : self-request Server Action + EXDEV atomic write
- backend/risques/prisma : champ enum-like stocké en String
- frontend/risques/general : Alert.prompt iOS-only
- frontend/risques/tests : 3 anti-patterns (helpers copiés, test indirect, test façade)
- workflow/risques/story-tracking : 2 entrées (hors périmètre, File List approximative)
- skill capitalisation-triage : nouveau format de rapport (tableaux par domaine)
- 95_a_capitaliser.md : purgé
2026-03-31 14:47:42 +02:00
MaksTinyWorkshop 80d9d0a48d Test MCP_Perso 2026-03-31 09:24:06 +02:00
MaksTinyWorkshop 6d56061554 Add README and LICENSE for community sharing
- README: modèle mental complet (Claude/Codex, BMAD, capitalisation), scripts détaillés, gestion secrets Bitwarden
- LICENSE: CC BY 4.0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 09:51:02 +02:00
MaksTinyWorkshop ef99f2a2ca capitalisation 2026-03-28 12:50:07 +01:00
MaksTinyWorkshop e9c1cb8ff9 Update Sync-ai-instructions 2026-03-28 12:26:32 +01:00
MaksTinyWorkshop b6c2aba8e2 Affiner sync projets + publication skills Claude/Codex 2026-03-28 12:13:26 +01:00
MaksTinyWorkshop 52daf6b3af Ajout @RTK.md ref 2026-03-28 10:19:00 +01:00
MaksTinyWorkshop 9fe3ad027e Align BMAD paths with new knowledge structure and automate project registry sync 2026-03-28 10:18:24 +01:00
MaksTinyWorkshop 75c3303271 refactor(sync): générer CLAUDE.md directement dans ~/.claude, pas dans le repo
Le repo Lead_tech n'a pas à héberger CLAUDE.md/AGENTS.md.
sync-ai-instructions génère maintenant ~/.claude/CLAUDE.md directement
et ~/.codex/AGENTS.md reste un symlink vers celui-ci.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 21:15:39 +01:00
MaksTinyWorkshop 824c38505f fix(leadtech): résoudre les chemins Lead_tech selon la machine
- aliases.sh : détection par uname au lieu de tester l'existence du dossier
- _AI_INSTRUCTIONS.md : placeholder {{LEADTECH}} pour tous les chemins
- sync-ai-instructions.sh : substitution {{LEADTECH}} → REPO_ROOT à la génération
- .gitignore : exclure CLAUDE.md et AGENTS.md (fichiers générés, machine-spécifiques)
2026-03-27 21:02:04 +01:00
MaksTinyWorkshop 788e7e7a40 debug doc générale 2026-03-27 15:02:17 +01:00
MaksTinyWorkshop a9283bb198 sync-projetc script 2026-03-27 13:03:36 +01:00
MaksTinyWorkshop a7fecdb1bf Maj Scripts vers BitWarden 2026-03-27 13:00:17 +01:00
MaksTinyWorkshop 8ecc8db217 refactor(scripts): supprimer expect — passer le mdp via stdin à keepassxc-cli 2026-03-26 18:52:36 +01:00
MaksTinyWorkshop 8aab830b15 fix(scripts): utiliser log_file pour capturer le CSV complet dès le spawn 2026-03-26 18:45:19 +01:00
MaksTinyWorkshop 69101cfc77 fix(scripts): capturer CSV via fichier tmp — évite la perte du buffer expect sur Linux 2026-03-26 18:43:21 +01:00
MaksTinyWorkshop ba772da50c fix(scripts): ignorer le bruit du buffer expect avant l'en-tête CSV 2026-03-26 18:31:38 +01:00
MaksTinyWorkshop a2ec71dbbf tmp: debug csv capture 2026-03-26 18:30:22 +01:00
MaksTinyWorkshop 44ac880e18 fix(scripts): corriger passage CSV à python3 via pipe au lieu de heredoc 2026-03-26 18:27:12 +01:00