mirror of
https://github.com/MaksTinyWorkshop/_Assistant_Lead_Tech
synced 2026-06-28 01:53:40 +02:00
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>
This commit is contained in:
@@ -0,0 +1 @@
|
||||
*.user.toml
|
||||
@@ -0,0 +1,9 @@
|
||||
# Lead_tech override — Analyst. Voir leadtech-capitalisation.md pour la règle commune.
|
||||
[agent]
|
||||
activation_steps_append = [
|
||||
"At story entry, call Leadtech MCP `get_guidance(domain, task_type='analysis', story_text=...)` and copy a short summary into the story under `Leadtech MCP Gates`.",
|
||||
]
|
||||
persistent_facts = [
|
||||
"file:{project-root}/_bmad/custom/leadtech-capitalisation.md",
|
||||
"When Leadtech MCP is available, use it in advisory mode during analysis: call get_guidance(...), keep the 2-5 most relevant must_do/red_flags, and document the human decision in `Leadtech MCP Gates`. Capitalisation cibles: product/backend patterns+risques, 40_decisions_et_archi.md.",
|
||||
]
|
||||
@@ -0,0 +1,9 @@
|
||||
# Lead_tech override — Architect. Voir leadtech-capitalisation.md.
|
||||
[agent]
|
||||
activation_steps_append = [
|
||||
"For architecture or design decisions, call Leadtech MCP `get_guidance(domain, task_type='architecture', story_text=...)` and use the returned docs as mandatory reading inputs.",
|
||||
]
|
||||
persistent_facts = [
|
||||
"file:{project-root}/_bmad/custom/leadtech-capitalisation.md",
|
||||
"When Leadtech MCP highlights architecture docs or red flags, reference them explicitly in the decision record instead of keeping the guidance implicit. Capitalisation cibles: 40_decisions_et_archi.md, knowledge/backend/patterns+risques.",
|
||||
]
|
||||
@@ -0,0 +1,11 @@
|
||||
# Lead_tech override — Dev (Amelia). Voir leadtech-capitalisation.md.
|
||||
[agent]
|
||||
activation_steps_append = [
|
||||
"Before any development task, run: `bash $LEADTECH/scripts/sync-projects-conf.sh --project-root {project-root} --sync-existing`",
|
||||
"Before implementation, call Leadtech MCP `validate_plan(domain, plan_text, agent_role='builder', strict=true)` and record the result in `Leadtech MCP Gates`. Treat blocking_issues as hard blockers — explicit user override required to proceed.",
|
||||
"After producing a diff, call Leadtech MCP `validate_patch(domain, diff_text, changed_files, strict=true)` and record the result in the Dev Agent Record. Treat blocking_issues as hard blockers before moving the story to review.",
|
||||
]
|
||||
persistent_facts = [
|
||||
"file:{project-root}/_bmad/custom/leadtech-capitalisation.md",
|
||||
"Leadtech MCP is in Phase 2 partielle (strict ciblé): blocking_issues from validate_plan/validate_patch are hard blockers requiring explicit user override. Trace the override and its rationale in the `Leadtech MCP Gates` section of the story. Capitalisation cibles dev: backend/frontend patterns+risques, 90_debug_et_postmortem.md.",
|
||||
]
|
||||
@@ -0,0 +1,9 @@
|
||||
# Lead_tech override — PM. Voir leadtech-capitalisation.md.
|
||||
[agent]
|
||||
activation_steps_append = [
|
||||
"On product roadmap, prioritization, or epic-level decisions, call Leadtech MCP `get_guidance(domain='product', task_type='analysis', story_text=...)` and integrate matched patterns/risks into the decision rationale.",
|
||||
]
|
||||
persistent_facts = [
|
||||
"file:{project-root}/_bmad/custom/leadtech-capitalisation.md",
|
||||
"Capitalisation cibles PM: knowledge/product/patterns/general.md, knowledge/product/risques/<theme>.md, 40_decisions_et_archi.md.",
|
||||
]
|
||||
@@ -0,0 +1,6 @@
|
||||
# Lead_tech override — Tech Writer. Voir leadtech-capitalisation.md.
|
||||
[agent]
|
||||
persistent_facts = [
|
||||
"file:{project-root}/_bmad/custom/leadtech-capitalisation.md",
|
||||
"Capitalisation cibles Tech Writer: 10_conventions_redaction.md, 40_decisions_et_archi.md, knowledge/workflow/risques/story-tracking.md.",
|
||||
]
|
||||
@@ -0,0 +1,10 @@
|
||||
# Lead_tech override — UX Designer. Voir leadtech-capitalisation.md.
|
||||
# NB: knowledge/ux/ encore vide; get_guidance peut retourner confidence=LOW sur ux, c'est attendu.
|
||||
[agent]
|
||||
activation_steps_append = [
|
||||
"On a UX/UI design task, call Leadtech MCP `get_guidance(domain='ux', task_type='analysis', story_text=...)` and copy patterns/risks into the design rationale. If confidence is LOW or matched_docs is empty, note it explicitly and proceed.",
|
||||
]
|
||||
persistent_facts = [
|
||||
"file:{project-root}/_bmad/custom/leadtech-capitalisation.md",
|
||||
"Capitalisation cibles UX: knowledge/ux/patterns/<theme>.md, knowledge/ux/risques/<theme>.md, 40_decisions_et_archi.md.",
|
||||
]
|
||||
@@ -0,0 +1,12 @@
|
||||
# Lead_tech override — workflow code-review (porte aussi l'ex-rôle QA, advisory strict=false).
|
||||
[workflow]
|
||||
activation_steps_prepend = [
|
||||
"Before starting review, synchronize Lead_tech project registry: `bash $LEADTECH/scripts/sync-projects-conf.sh --project-root {project-root} --sync-existing`. If it fails, warn and continue if the repository state is still analyzable.",
|
||||
]
|
||||
activation_steps_append = [
|
||||
"Ex-QA duty: during review, call Leadtech MCP `emit_checklist(agent_role='reviewer', domain, story_text)` and `validate_patch(domain, diff_text, changed_files, strict=false)` before accepting 'done'. QA stays advisory (strict=false) on purpose — strict blocks were already taken on the dev side (Phase 2 partielle). A blocking_issues surfacing here means a dev override was not properly traced: refuse 'done' until the override and its rationale are explicit in `Leadtech MCP Gates`.",
|
||||
]
|
||||
persistent_facts = [
|
||||
"file:{project-root}/_bmad/custom/leadtech-capitalisation.md",
|
||||
"Capitalisation review: for EACH candidate (aim 1-3) write a FILE_UPDATE_PROPOSAL to 95_a_capitaliser.md ONLY — never inside the project repo. If nothing: output explicitly 'Rien à capitaliser pour cette review.' — do NOT skip silently. Cibles QA: frontend tests patterns+risques, knowledge/workflow/risques/story-tracking.md, 90_debug_et_postmortem.md.",
|
||||
]
|
||||
@@ -0,0 +1,10 @@
|
||||
# Lead_tech override — workflow create-story (porte aussi l'ex-rôle SM).
|
||||
[workflow]
|
||||
activation_steps_append = [
|
||||
"If leadtech-bmad MCP server is available: extract domain (backend|frontend|ux|n8n|product|workflow) from the story, then call get_guidance(domain, task_type='analysis', story_text). Read full docs for URIs listed under 'Lire le contenu complet' (leadtech://knowledge/... or leadtech://global/...).",
|
||||
"Write must_do into story section 'Patterns a appliquer', red_flags into 'Risques a eviter', and a 'Leadtech MCP Gates' entry { tool: 'get_guidance', timestamp, must_do, red_flags, blocking_issues }. If blocking_issues is non-empty, do NOT set the story ready-for-dev without explicit user acknowledgement (ex-SM responsibility).",
|
||||
]
|
||||
persistent_facts = [
|
||||
"file:{project-root}/_bmad/custom/leadtech-capitalisation.md",
|
||||
"Ex-SM duty: each active story using Leadtech MCP must keep a short `Leadtech MCP Gates` section with tool calls, findings, and the human decision. Capitalisation cibles SM: knowledge/workflow/risques/story-tracking.md, 40_decisions_et_archi.md, 90_debug_et_postmortem.md.",
|
||||
]
|
||||
@@ -0,0 +1,13 @@
|
||||
# Lead_tech override — workflow dev-story. Gates MCP validate_plan/validate_patch.
|
||||
[workflow]
|
||||
activation_steps_prepend = [
|
||||
"Before any implementation work, synchronize Lead_tech project registry: `bash $LEADTECH/scripts/sync-projects-conf.sh --project-root {project-root} --sync-existing`. If it fails, warn and continue only if story work can proceed safely.",
|
||||
]
|
||||
activation_steps_append = [
|
||||
"If leadtech-bmad MCP is available, before implementation: extract domain from story, build plan_text from tasks/subtasks + Dev Notes, call validate_plan(domain, plan_text, agent_role='builder', strict=true). Record into 'Leadtech MCP Gates'. If blocking_issues non-empty: HALT and fix the plan before coding. Scan must_do/red_flags for leadtech://knowledge|global URIs and read them as authoritative constraints.",
|
||||
]
|
||||
on_complete = "If leadtech-bmad MCP is available, before marking the story 'review': produce diff_text and changed_files (from File List), call validate_patch(domain, diff_text, changed_files, strict=true), record into 'Leadtech MCP Gates'. If blocking_issues non-empty: HALT and fix before review. Treat any uncovered must_do as complementary tasks before review."
|
||||
persistent_facts = [
|
||||
"file:{project-root}/_bmad/custom/leadtech-capitalisation.md",
|
||||
"Phase 2 partielle: blocking_issues from validate_plan/validate_patch are hard blockers requiring explicit user override, traced in `Leadtech MCP Gates`. Capitalisation cibles: backend/frontend patterns+risques, 90_debug_et_postmortem.md.",
|
||||
]
|
||||
@@ -0,0 +1,9 @@
|
||||
# Lead_tech override — workflow qa-generate-e2e-tests.
|
||||
[workflow]
|
||||
activation_steps_prepend = [
|
||||
"Before generating E2E/API tests, synchronize Lead_tech project registry: `bash $LEADTECH/scripts/sync-projects-conf.sh --project-root {project-root} --sync-existing`. If it fails, warn and continue if the repository state is still analyzable.",
|
||||
]
|
||||
persistent_facts = [
|
||||
"file:{project-root}/_bmad/custom/leadtech-capitalisation.md",
|
||||
"Capitalisation cibles tests: knowledge/frontend/patterns/tests.md, knowledge/frontend/risques/tests.md, 90_debug_et_postmortem.md.",
|
||||
]
|
||||
@@ -0,0 +1,12 @@
|
||||
# Lead_tech override — workflow quick-dev (ex bmm-quick-flow-solo-dev).
|
||||
[workflow]
|
||||
activation_steps_prepend = [
|
||||
"Before any implementation task, run: `bash $LEADTECH/scripts/sync-projects-conf.sh --project-root {project-root} --sync-existing`",
|
||||
]
|
||||
activation_steps_append = [
|
||||
"Quick-flow does NOT bypass strict gates: still call Leadtech MCP validate_plan(domain, plan_text, agent_role='builder', strict=true) before coding and validate_patch(domain, diff_text, changed_files, strict=true) before declaring complete. blocking_issues are hard blockers — explicit user override required, traced in `Leadtech MCP Gates`.",
|
||||
]
|
||||
persistent_facts = [
|
||||
"file:{project-root}/_bmad/custom/leadtech-capitalisation.md",
|
||||
"Capitalisation cibles quick-dev: backend/frontend patterns+risques, 90_debug_et_postmortem.md.",
|
||||
]
|
||||
@@ -0,0 +1,6 @@
|
||||
# Lead_tech override — module tea (test architect).
|
||||
[agent]
|
||||
persistent_facts = [
|
||||
"file:{project-root}/_bmad/custom/leadtech-capitalisation.md",
|
||||
"Capitalisation cibles tea: knowledge/frontend/patterns/tests.md, knowledge/frontend/risques/tests.md, knowledge/backend/risques/general.md, knowledge/workflow/risques/story-tracking.md, 90_debug_et_postmortem.md.",
|
||||
]
|
||||
@@ -0,0 +1,7 @@
|
||||
# Team / enterprise overrides for _bmad/config.toml.
|
||||
# Committed to the repo — applies to every developer on the project.
|
||||
# Tables deep-merge over base config; keyed entries merge by key.
|
||||
# Example: override an agent descriptor, or add a new agent.
|
||||
#
|
||||
# [agents.bmad-agent-pm]
|
||||
# description = "Prefers short, bulleted PRDs over narrative drafts."
|
||||
@@ -0,0 +1,32 @@
|
||||
# Lead_tech — Règle de capitalisation contrôlée (commune à tous les agents/workflows BMAD)
|
||||
|
||||
Quand un apprentissage réutilisable émerge (pattern validé, bug difficile, anti-pattern,
|
||||
décision d'architecture, friction récurrente), écrire une **proposition** — jamais directement
|
||||
dans les fichiers validés.
|
||||
|
||||
**Cible du fichier de propositions :**
|
||||
- Mac : `~/AI_RULES/_Assistant_Lead_Tech/95_a_capitaliser.md`
|
||||
- NUC : `/srv/helpers/_Assistant_Lead_Tech/95_a_capitaliser.md`
|
||||
- (ou via `$LEADTECH/95_a_capitaliser.md`)
|
||||
|
||||
**Format d'une entrée :**
|
||||
```
|
||||
DATE — base / FILE_UPDATE_PROPOSAL / Fichier cible: <cible> / Pourquoi: <reason> / Proposition: <content>
|
||||
```
|
||||
|
||||
**Fichiers cibles possibles (`<cible>`) selon le domaine :**
|
||||
|
||||
| Domaine | Cibles patterns | Cibles risques |
|
||||
| --- | --- | --- |
|
||||
| backend | `knowledge/backend/patterns/<theme>.md` | `knowledge/backend/risques/<theme>.md` |
|
||||
| frontend | `knowledge/frontend/patterns/<theme>.md` (dont `tests.md`) | `knowledge/frontend/risques/<theme>.md` (dont `tests.md`) |
|
||||
| ux | `knowledge/ux/patterns/<theme>.md` | `knowledge/ux/risques/<theme>.md` |
|
||||
| n8n | `knowledge/n8n/patterns/general.md` | `knowledge/n8n/risques/general.md` |
|
||||
| product | `knowledge/product/patterns/general.md` | `knowledge/product/risques/<theme>.md` |
|
||||
| workflow | — | `knowledge/workflow/risques/story-tracking.md` |
|
||||
| transverse | `10_conventions_redaction.md` · `40_decisions_et_archi.md` · `90_debug_et_postmortem.md` | idem |
|
||||
|
||||
**Règle absolue :** ne jamais écrire directement dans les fichiers Lead_tech validés.
|
||||
Toujours passer par une proposition dans `95_a_capitaliser.md`.
|
||||
|
||||
> Chaque rôle choisit la cible la plus pertinente pour son domaine dans la table ci-dessus.
|
||||
Reference in New Issue
Block a user