create-byan-agent 2.0.1 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/API-BYAN-V2.md +741 -0
  2. package/BMAD-QUICK-REFERENCE.md +370 -0
  3. package/CHANGELOG-v2.1.0.md +371 -0
  4. package/LICENSE +1 -1
  5. package/MIGRATION-v2.0-to-v2.1.md +430 -0
  6. package/README-BYAN-V2.md +446 -0
  7. package/README.md +264 -201
  8. package/install/.eslintrc.js +20 -0
  9. package/install/.prettierrc +7 -0
  10. package/install/BUGFIX-CHALK.md +173 -0
  11. package/install/BUGFIX-DOCUMENTATION-INDEX.md +299 -0
  12. package/install/BUGFIX-PATH-RESOLUTION.md +293 -0
  13. package/install/BUGFIX-QUICKSTART.md +184 -0
  14. package/install/BUGFIX-SUMMARY.txt +91 -0
  15. package/install/BUGFIX-VISUAL-SUMMARY.md +253 -0
  16. package/install/DEPLOYMENT-GUIDE-V2.md +431 -0
  17. package/install/DOCS-INDEX.md +261 -0
  18. package/install/GUIDE-INSTALLATION-BYAN-SIMPLE.md +1083 -0
  19. package/install/INSTALLER-V2-CHANGES.md +472 -0
  20. package/install/LICENSE +21 -0
  21. package/install/PUBLICATION-CHECKLIST.md +265 -0
  22. package/install/PUBLISH-GUIDE.md +190 -0
  23. package/install/QUICKSTART.md +311 -0
  24. package/install/README-NPM-PUBLISH.md +298 -0
  25. package/install/README-NPM-SHORT.md +298 -0
  26. package/install/README-NPM.md +433 -0
  27. package/install/README-RACHID.md +302 -0
  28. package/install/README-V2-INDEX.md +306 -0
  29. package/install/README.md +298 -0
  30. package/install/RESUME-EXECUTIF-YAN.md +408 -0
  31. package/install/UPDATE-SUMMARY.md +205 -0
  32. package/install/__tests__/integration/detection-flow.test.js +154 -0
  33. package/install/__tests__/platforms/claude-code.test.js +175 -0
  34. package/install/__tests__/platforms/codex.test.js +80 -0
  35. package/install/__tests__/platforms/copilot-cli.test.js +118 -0
  36. package/install/__tests__/platforms/vscode.test.js +67 -0
  37. package/install/__tests__/utils/file-utils.test.js +87 -0
  38. package/install/__tests__/utils/git-detector.test.js +80 -0
  39. package/install/__tests__/utils/logger.test.js +83 -0
  40. package/install/__tests__/utils/node-detector.test.js +71 -0
  41. package/install/__tests__/utils/os-detector.test.js +63 -0
  42. package/install/__tests__/utils/yaml-utils.test.js +85 -0
  43. package/install/__tests__/yanstaller/detector.test.js +210 -0
  44. package/install/coverage/clover.xml +219 -0
  45. package/install/coverage/coverage-final.json +13 -0
  46. package/install/coverage/lcov-report/base.css +224 -0
  47. package/install/coverage/lcov-report/block-navigation.js +87 -0
  48. package/install/coverage/lcov-report/favicon.png +0 -0
  49. package/install/coverage/lcov-report/index.html +146 -0
  50. package/install/coverage/lcov-report/lib/errors.js.html +268 -0
  51. package/install/coverage/lcov-report/lib/exit-codes.js.html +247 -0
  52. package/install/coverage/lcov-report/lib/index.html +131 -0
  53. package/install/coverage/lcov-report/lib/platforms/claude-code.js.html +343 -0
  54. package/install/coverage/lcov-report/lib/platforms/codex.js.html +361 -0
  55. package/install/coverage/lcov-report/lib/platforms/copilot-cli.js.html +454 -0
  56. package/install/coverage/lcov-report/lib/platforms/index.html +176 -0
  57. package/install/coverage/lcov-report/lib/platforms/index.js.html +127 -0
  58. package/install/coverage/lcov-report/lib/platforms/vscode.js.html +238 -0
  59. package/install/coverage/lcov-report/lib/utils/config-loader.js.html +322 -0
  60. package/install/coverage/lcov-report/lib/utils/file-utils.js.html +397 -0
  61. package/install/coverage/lcov-report/lib/utils/git-detector.js.html +190 -0
  62. package/install/coverage/lcov-report/lib/utils/index.html +206 -0
  63. package/install/coverage/lcov-report/lib/utils/logger.js.html +277 -0
  64. package/install/coverage/lcov-report/lib/utils/node-detector.js.html +259 -0
  65. package/install/coverage/lcov-report/lib/utils/os-detector.js.html +307 -0
  66. package/install/coverage/lcov-report/lib/utils/yaml-utils.js.html +346 -0
  67. package/install/coverage/lcov-report/lib/yanstaller/backuper.js.html +409 -0
  68. package/install/coverage/lcov-report/lib/yanstaller/detector.js.html +508 -0
  69. package/install/coverage/lcov-report/lib/yanstaller/index.html +236 -0
  70. package/install/coverage/lcov-report/lib/yanstaller/index.js.html +364 -0
  71. package/install/coverage/lcov-report/lib/yanstaller/installer.js.html +505 -0
  72. package/install/coverage/lcov-report/lib/yanstaller/interviewer.js.html +349 -0
  73. package/install/coverage/lcov-report/lib/yanstaller/recommender.js.html +379 -0
  74. package/install/coverage/lcov-report/lib/yanstaller/troubleshooter.js.html +352 -0
  75. package/install/coverage/lcov-report/lib/yanstaller/validator.js.html +679 -0
  76. package/install/coverage/lcov-report/lib/yanstaller/wizard.js.html +412 -0
  77. package/install/coverage/lcov-report/platforms/claude-code.js.html +343 -0
  78. package/install/coverage/lcov-report/platforms/codex.js.html +361 -0
  79. package/install/coverage/lcov-report/platforms/copilot-cli.js.html +454 -0
  80. package/install/coverage/lcov-report/platforms/index.html +176 -0
  81. package/install/coverage/lcov-report/platforms/index.js.html +127 -0
  82. package/install/coverage/lcov-report/platforms/vscode.js.html +238 -0
  83. package/install/coverage/lcov-report/prettify.css +1 -0
  84. package/install/coverage/lcov-report/prettify.js +2 -0
  85. package/install/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  86. package/install/coverage/lcov-report/sorter.js +210 -0
  87. package/install/coverage/lcov-report/utils/file-utils.js.html +397 -0
  88. package/install/coverage/lcov-report/utils/git-detector.js.html +190 -0
  89. package/install/coverage/lcov-report/utils/index.html +191 -0
  90. package/install/coverage/lcov-report/utils/logger.js.html +277 -0
  91. package/install/coverage/lcov-report/utils/node-detector.js.html +259 -0
  92. package/install/coverage/lcov-report/utils/os-detector.js.html +307 -0
  93. package/install/coverage/lcov-report/utils/yaml-utils.js.html +346 -0
  94. package/install/coverage/lcov-report/yanstaller/detector.js.html +508 -0
  95. package/install/coverage/lcov-report/yanstaller/index.html +116 -0
  96. package/install/coverage/lcov.info +414 -0
  97. package/install/install.sh +239 -0
  98. package/install/jest.config.js +33 -0
  99. package/install/lib/errors.js +61 -0
  100. package/install/lib/exit-codes.js +54 -0
  101. package/install/lib/platforms/claude-code.js +86 -0
  102. package/install/lib/platforms/codex.js +92 -0
  103. package/install/lib/platforms/copilot-cli.js +123 -0
  104. package/install/lib/platforms/index.js +14 -0
  105. package/install/lib/platforms/vscode.js +51 -0
  106. package/install/lib/utils/config-loader.js +79 -0
  107. package/install/lib/utils/file-utils.js +104 -0
  108. package/install/lib/utils/git-detector.js +35 -0
  109. package/install/lib/utils/logger.js +64 -0
  110. package/install/lib/utils/node-detector.js +58 -0
  111. package/install/lib/utils/os-detector.js +74 -0
  112. package/install/lib/utils/yaml-utils.js +87 -0
  113. package/install/lib/yanstaller/backuper.js +108 -0
  114. package/install/lib/yanstaller/detector.js +141 -0
  115. package/install/lib/yanstaller/index.js +93 -0
  116. package/install/lib/yanstaller/installer.js +140 -0
  117. package/install/lib/yanstaller/interviewer.js +88 -0
  118. package/install/lib/yanstaller/recommender.js +98 -0
  119. package/install/lib/yanstaller/troubleshooter.js +89 -0
  120. package/install/lib/yanstaller/validator.js +198 -0
  121. package/install/lib/yanstaller/wizard.js +109 -0
  122. package/install/package-npm.json +55 -0
  123. package/install/package.json +63 -0
  124. package/install/src/byan-v2/context/copilot-context.js +79 -0
  125. package/install/src/byan-v2/context/session-state.js +98 -0
  126. package/install/src/byan-v2/dispatcher/complexity-scorer.js +232 -0
  127. package/install/src/byan-v2/dispatcher/local-executor.js +221 -0
  128. package/install/src/byan-v2/dispatcher/task-router.js +122 -0
  129. package/install/src/byan-v2/dispatcher/task-tool-interface-mock.js +134 -0
  130. package/install/src/byan-v2/dispatcher/task-tool-interface.js +123 -0
  131. package/install/src/byan-v2/generation/agent-profile-validator.js +113 -0
  132. package/install/src/byan-v2/generation/profile-template.js +113 -0
  133. package/install/src/byan-v2/generation/templates/default-agent.md +49 -0
  134. package/install/src/byan-v2/generation/templates/test-template.md +1 -0
  135. package/install/src/byan-v2/index.js +199 -0
  136. package/install/src/byan-v2/observability/error-tracker.js +105 -0
  137. package/install/src/byan-v2/observability/logger.js +154 -0
  138. package/install/src/byan-v2/observability/metrics-collector.js +194 -0
  139. package/install/src/byan-v2/orchestrator/analysis-state.js +268 -0
  140. package/install/src/byan-v2/orchestrator/generation-state.js +340 -0
  141. package/install/src/byan-v2/orchestrator/interview-state.js +271 -0
  142. package/install/src/byan-v2/orchestrator/state-machine.js +204 -0
  143. package/install/src/core/cache/cache.js +126 -0
  144. package/install/src/core/context/context.js +86 -0
  145. package/install/src/core/dispatcher/dispatcher.js +135 -0
  146. package/install/src/core/worker-pool/worker-pool.js +194 -0
  147. package/install/src/core/workflow/workflow-executor.js +220 -0
  148. package/install/src/index.js +139 -0
  149. package/install/src/observability/dashboard/dashboard.js +191 -0
  150. package/install/src/observability/logger/structured-logger.js +254 -0
  151. package/install/src/observability/metrics/metrics-collector.js +325 -0
  152. package/install/switch-to-v2.sh +126 -0
  153. package/install/test-chalk-fix.sh +210 -0
  154. package/install/test-installer-v2.sh +204 -0
  155. package/install/test-path-resolution.sh +200 -0
  156. package/package.json +53 -33
  157. package/src/byan-v2/context/copilot-context.js +79 -0
  158. package/src/byan-v2/context/session-state.js +98 -0
  159. package/src/byan-v2/data/mantras.json +852 -0
  160. package/src/byan-v2/dispatcher/complexity-scorer.js +232 -0
  161. package/src/byan-v2/dispatcher/five-whys-analyzer.js +310 -0
  162. package/src/byan-v2/dispatcher/local-executor.js +221 -0
  163. package/src/byan-v2/dispatcher/task-router.js +122 -0
  164. package/src/byan-v2/dispatcher/task-tool-interface-mock.js +134 -0
  165. package/src/byan-v2/dispatcher/task-tool-interface.js +123 -0
  166. package/src/byan-v2/generation/agent-profile-validator.js +113 -0
  167. package/src/byan-v2/generation/mantra-validator.js +416 -0
  168. package/src/byan-v2/generation/profile-template.js +113 -0
  169. package/src/byan-v2/generation/templates/default-agent.md +49 -0
  170. package/src/byan-v2/generation/templates/test-template.md +1 -0
  171. package/src/byan-v2/index.js +652 -0
  172. package/src/byan-v2/integration/voice-integration.js +295 -0
  173. package/src/byan-v2/observability/error-tracker.js +105 -0
  174. package/src/byan-v2/observability/logger.js +154 -0
  175. package/src/byan-v2/observability/metrics-collector.js +194 -0
  176. package/src/byan-v2/orchestrator/active-listener.js +541 -0
  177. package/src/byan-v2/orchestrator/analysis-state.js +268 -0
  178. package/src/byan-v2/orchestrator/generation-state.js +340 -0
  179. package/src/byan-v2/orchestrator/glossary-builder.js +431 -0
  180. package/src/byan-v2/orchestrator/interview-state.js +353 -0
  181. package/src/byan-v2/orchestrator/state-machine.js +253 -0
  182. package/src/core/cache/cache.js +126 -0
  183. package/src/core/context/context.js +86 -0
  184. package/src/core/dispatcher/dispatcher.js +135 -0
  185. package/src/core/worker-pool/worker-pool.js +194 -0
  186. package/src/core/workflow/workflow-executor.js +220 -0
  187. package/src/index.js +139 -0
  188. package/src/observability/dashboard/dashboard.js +191 -0
  189. package/src/observability/logger/structured-logger.js +254 -0
  190. package/src/observability/metrics/metrics-collector.js +325 -0
  191. package/templates/.github/agents/bmad-agent-test-dynamic.md +0 -21
  192. package/templates/.github/agents/franck.md +0 -379
  193. /package/{CHANGELOG.md → install/CHANGELOG.md} +0 -0
  194. /package/{bin → install/bin}/create-byan-agent-backup.js +0 -0
  195. /package/{bin → install/bin}/create-byan-agent-fixed.js +0 -0
  196. /package/{bin → install/bin}/create-byan-agent-v2.js +0 -0
  197. /package/{bin → install/bin}/create-byan-agent.js +0 -0
  198. /package/{templates → install/templates}/.github/agents/bmad-agent-bmad-master.md +0 -0
  199. /package/{templates → install/templates}/.github/agents/bmad-agent-bmb-agent-builder.md +0 -0
  200. /package/{templates → install/templates}/.github/agents/bmad-agent-bmb-module-builder.md +0 -0
  201. /package/{templates → install/templates}/.github/agents/bmad-agent-bmb-workflow-builder.md +0 -0
  202. /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-analyst.md +0 -0
  203. /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-architect.md +0 -0
  204. /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-dev.md +0 -0
  205. /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-pm.md +0 -0
  206. /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-quick-flow-solo-dev.md +0 -0
  207. /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-quinn.md +0 -0
  208. /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-sm.md +0 -0
  209. /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-tech-writer.md +0 -0
  210. /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-ux-designer.md +0 -0
  211. /package/{templates → install/templates}/.github/agents/bmad-agent-byan-test.md +0 -0
  212. /package/{templates → install/templates}/.github/agents/bmad-agent-byan.md +0 -0
  213. /package/{templates → install/templates}/.github/agents/bmad-agent-carmack.md +0 -0
  214. /package/{templates → install/templates}/.github/agents/bmad-agent-cis-brainstorming-coach.md +0 -0
  215. /package/{templates → install/templates}/.github/agents/bmad-agent-cis-creative-problem-solver.md +0 -0
  216. /package/{templates → install/templates}/.github/agents/bmad-agent-cis-design-thinking-coach.md +0 -0
  217. /package/{templates → install/templates}/.github/agents/bmad-agent-cis-innovation-strategist.md +0 -0
  218. /package/{templates → install/templates}/.github/agents/bmad-agent-cis-presentation-master.md +0 -0
  219. /package/{templates → install/templates}/.github/agents/bmad-agent-cis-storyteller.md +0 -0
  220. /package/{templates → install/templates}/.github/agents/bmad-agent-marc.md +0 -0
  221. /package/{templates → install/templates}/.github/agents/bmad-agent-patnote.md +0 -0
  222. /package/{templates → install/templates}/.github/agents/bmad-agent-rachid.md +0 -0
  223. /package/{templates → install/templates}/.github/agents/bmad-agent-tea-tea.md +0 -0
  224. /package/{templates → install/templates}/_bmad/bmb/agents/agent-builder.md +0 -0
  225. /package/{templates → install/templates}/_bmad/bmb/agents/byan-test.md +0 -0
  226. /package/{templates → install/templates}/_bmad/bmb/agents/byan.md +0 -0
  227. /package/{templates → install/templates}/_bmad/bmb/agents/marc.md +0 -0
  228. /package/{templates → install/templates}/_bmad/bmb/agents/module-builder.md +0 -0
  229. /package/{templates → install/templates}/_bmad/bmb/agents/patnote.md +0 -0
  230. /package/{templates → install/templates}/_bmad/bmb/agents/rachid.md +0 -0
  231. /package/{templates → install/templates}/_bmad/bmb/agents/workflow-builder.md +0 -0
  232. /package/{templates → install/templates}/_bmad/bmb/workflows/byan/data/mantras.yaml +0 -0
  233. /package/{templates → install/templates}/_bmad/bmb/workflows/byan/data/templates.yaml +0 -0
  234. /package/{templates → install/templates}/_bmad/bmb/workflows/byan/delete-agent-workflow.md +0 -0
  235. /package/{templates → install/templates}/_bmad/bmb/workflows/byan/edit-agent-workflow.md +0 -0
  236. /package/{templates → install/templates}/_bmad/bmb/workflows/byan/interview-workflow.md +0 -0
  237. /package/{templates → install/templates}/_bmad/bmb/workflows/byan/quick-create-workflow.md +0 -0
  238. /package/{templates → install/templates}/_bmad/bmb/workflows/byan/templates/base-agent-template.md +0 -0
  239. /package/{templates → install/templates}/_bmad/bmb/workflows/byan/validate-agent-workflow.md +0 -0
  240. /package/{templates → install/templates}/_bmad/core/agents/carmack.md +0 -0
@@ -0,0 +1,852 @@
1
+ {
2
+ "mantras": [
3
+ {
4
+ "id": "M1",
5
+ "number": 1,
6
+ "category": "merise-agile",
7
+ "title": "Un seul responsable",
8
+ "description": "Chaque user story a un seul responsable clairement identifie",
9
+ "validation": {
10
+ "type": "keyword",
11
+ "keywords": ["responsable", "owner", "assignee", "responsible"],
12
+ "required": true
13
+ },
14
+ "priority": "high"
15
+ },
16
+ {
17
+ "id": "M2",
18
+ "number": 2,
19
+ "category": "merise-agile",
20
+ "title": "Chaque User Story = 1 acteur",
21
+ "description": "Une user story concerne un seul acteur principal",
22
+ "validation": {
23
+ "type": "keyword",
24
+ "keywords": ["acteur", "actor", "user", "role"],
25
+ "required": true
26
+ },
27
+ "priority": "high"
28
+ },
29
+ {
30
+ "id": "M3",
31
+ "number": 3,
32
+ "category": "merise-agile",
33
+ "title": "1 US = 1 resultat mesurable",
34
+ "description": "Chaque user story produit un resultat mesurable et verifiable",
35
+ "validation": {
36
+ "type": "keyword",
37
+ "keywords": ["mesurable", "measurable", "verifiable", "metric"],
38
+ "required": true
39
+ },
40
+ "priority": "high"
41
+ },
42
+ {
43
+ "id": "M4",
44
+ "number": 4,
45
+ "category": "merise-agile",
46
+ "title": "Tracabilite Epic → Story → Task",
47
+ "description": "Hierarchie claire et tracable depuis l'epic jusqu'aux tasks",
48
+ "validation": {
49
+ "type": "keyword",
50
+ "keywords": ["epic", "story", "task", "tracabilite", "traceability"],
51
+ "required": true
52
+ },
53
+ "priority": "high"
54
+ },
55
+ {
56
+ "id": "M5",
57
+ "number": 5,
58
+ "category": "merise-agile",
59
+ "title": "Priorite = (Value × Urgence) / Effort",
60
+ "description": "Formule de priorisation basee sur valeur, urgence et effort",
61
+ "validation": {
62
+ "type": "keyword",
63
+ "keywords": ["priorite", "priority", "value", "urgence", "urgency", "effort"],
64
+ "required": false
65
+ },
66
+ "priority": "medium"
67
+ },
68
+ {
69
+ "id": "M6",
70
+ "number": 6,
71
+ "category": "merise-agile",
72
+ "title": "Story complete = INVEST",
73
+ "description": "Les user stories suivent les criteres INVEST (Independent, Negotiable, Valuable, Estimable, Small, Testable)",
74
+ "validation": {
75
+ "type": "keyword",
76
+ "keywords": ["INVEST", "independent", "negotiable", "valuable", "estimable", "testable"],
77
+ "required": false
78
+ },
79
+ "priority": "medium"
80
+ },
81
+ {
82
+ "id": "M7",
83
+ "number": 7,
84
+ "category": "merise-agile",
85
+ "title": "Acceptance Criteria = tests automatises",
86
+ "description": "Chaque critere d'acceptation se traduit en test automatise",
87
+ "validation": {
88
+ "type": "keyword",
89
+ "keywords": ["acceptance", "criteria", "test", "automatise", "automated"],
90
+ "required": true
91
+ },
92
+ "priority": "critical"
93
+ },
94
+ {
95
+ "id": "M8",
96
+ "number": 8,
97
+ "category": "merise-agile",
98
+ "title": "Code freeze avant release",
99
+ "description": "Gel du code avant chaque release pour stabilisation",
100
+ "validation": {
101
+ "type": "keyword",
102
+ "keywords": ["freeze", "release", "stabilisation"],
103
+ "required": false
104
+ },
105
+ "priority": "medium"
106
+ },
107
+ {
108
+ "id": "M9",
109
+ "number": 9,
110
+ "category": "merise-agile",
111
+ "title": "One feature = One branch",
112
+ "description": "Chaque fonctionnalite est developpee dans sa propre branche",
113
+ "validation": {
114
+ "type": "keyword",
115
+ "keywords": ["branch", "feature", "git"],
116
+ "required": false
117
+ },
118
+ "priority": "medium"
119
+ },
120
+ {
121
+ "id": "M10",
122
+ "number": 10,
123
+ "category": "merise-agile",
124
+ "title": "Commit message = type: description",
125
+ "description": "Format standardise des messages de commit",
126
+ "validation": {
127
+ "type": "keyword",
128
+ "keywords": ["commit", "message", "conventional"],
129
+ "required": false
130
+ },
131
+ "priority": "low"
132
+ },
133
+ {
134
+ "id": "M11",
135
+ "number": 11,
136
+ "category": "merise-agile",
137
+ "title": "Tests avant merge",
138
+ "description": "Tous les tests doivent passer avant fusion",
139
+ "validation": {
140
+ "type": "keyword",
141
+ "keywords": ["test", "merge", "passing"],
142
+ "required": true
143
+ },
144
+ "priority": "critical"
145
+ },
146
+ {
147
+ "id": "M12",
148
+ "number": 12,
149
+ "category": "merise-agile",
150
+ "title": "Revue systematique",
151
+ "description": "Code review obligatoire avant merge",
152
+ "validation": {
153
+ "type": "keyword",
154
+ "keywords": ["review", "revue", "peer"],
155
+ "required": false
156
+ },
157
+ "priority": "high"
158
+ },
159
+ {
160
+ "id": "M13",
161
+ "number": 13,
162
+ "category": "merise-agile",
163
+ "title": "Documentation dans le code",
164
+ "description": "Documentation integree au code source",
165
+ "validation": {
166
+ "type": "keyword",
167
+ "keywords": ["documentation", "comment", "jsdoc"],
168
+ "required": false
169
+ },
170
+ "priority": "medium"
171
+ },
172
+ {
173
+ "id": "M14",
174
+ "number": 14,
175
+ "category": "merise-agile",
176
+ "title": "README = point d'entree",
177
+ "description": "Le README est le point d'entree de la documentation",
178
+ "validation": {
179
+ "type": "keyword",
180
+ "keywords": ["README", "documentation", "getting started"],
181
+ "required": true
182
+ },
183
+ "priority": "high"
184
+ },
185
+ {
186
+ "id": "M15",
187
+ "number": 15,
188
+ "category": "merise-agile",
189
+ "title": "API-first design",
190
+ "description": "Conception API avant implementation",
191
+ "validation": {
192
+ "type": "keyword",
193
+ "keywords": ["API", "interface", "contract"],
194
+ "required": false
195
+ },
196
+ "priority": "medium"
197
+ },
198
+ {
199
+ "id": "M16",
200
+ "number": 16,
201
+ "category": "merise-agile",
202
+ "title": "Versioning semantique",
203
+ "description": "Utilisation du versioning semantique (semver)",
204
+ "validation": {
205
+ "type": "keyword",
206
+ "keywords": ["version", "semver", "semantic"],
207
+ "required": false
208
+ },
209
+ "priority": "medium"
210
+ },
211
+ {
212
+ "id": "M17",
213
+ "number": 17,
214
+ "category": "merise-agile",
215
+ "title": "Changelog a jour",
216
+ "description": "Changelog maintenu a jour pour chaque version",
217
+ "validation": {
218
+ "type": "keyword",
219
+ "keywords": ["changelog", "release notes", "history"],
220
+ "required": false
221
+ },
222
+ "priority": "low"
223
+ },
224
+ {
225
+ "id": "M18",
226
+ "number": 18,
227
+ "category": "merise-agile",
228
+ "title": "Environnements identiques",
229
+ "description": "Dev, staging et production sont identiques",
230
+ "validation": {
231
+ "type": "keyword",
232
+ "keywords": ["environment", "staging", "production", "dev"],
233
+ "required": false
234
+ },
235
+ "priority": "high"
236
+ },
237
+ {
238
+ "id": "M19",
239
+ "number": 19,
240
+ "category": "merise-agile",
241
+ "title": "CI/CD = production continue",
242
+ "description": "Integration et deploiement continus automatises",
243
+ "validation": {
244
+ "type": "keyword",
245
+ "keywords": ["CI", "CD", "pipeline", "continuous"],
246
+ "required": false
247
+ },
248
+ "priority": "high"
249
+ },
250
+ {
251
+ "id": "M20",
252
+ "number": 20,
253
+ "category": "merise-agile",
254
+ "title": "Rollback en 1 clic",
255
+ "description": "Capacite de rollback rapide et simple",
256
+ "validation": {
257
+ "type": "keyword",
258
+ "keywords": ["rollback", "revert", "recovery"],
259
+ "required": false
260
+ },
261
+ "priority": "high"
262
+ },
263
+ {
264
+ "id": "M21",
265
+ "number": 21,
266
+ "category": "merise-agile",
267
+ "title": "Tests unitaires obligatoires",
268
+ "description": "Tous les modules ont des tests unitaires",
269
+ "validation": {
270
+ "type": "keyword",
271
+ "keywords": ["test", "unit", "spec"],
272
+ "required": true
273
+ },
274
+ "priority": "critical"
275
+ },
276
+ {
277
+ "id": "M22",
278
+ "number": 22,
279
+ "category": "merise-agile",
280
+ "title": "80% couverture minimum",
281
+ "description": "Couverture de tests d'au moins 80%",
282
+ "validation": {
283
+ "type": "coverage",
284
+ "threshold": 80,
285
+ "required": true
286
+ },
287
+ "priority": "critical"
288
+ },
289
+ {
290
+ "id": "M23",
291
+ "number": 23,
292
+ "category": "merise-agile",
293
+ "title": "TDD quand possible",
294
+ "description": "Test-Driven Development comme pratique privilegiee",
295
+ "validation": {
296
+ "type": "keyword",
297
+ "keywords": ["TDD", "test-driven", "red-green-refactor"],
298
+ "required": false
299
+ },
300
+ "priority": "medium"
301
+ },
302
+ {
303
+ "id": "M24",
304
+ "number": 24,
305
+ "category": "merise-agile",
306
+ "title": "Tests E2E critiques",
307
+ "description": "Tests end-to-end pour les parcours critiques",
308
+ "validation": {
309
+ "type": "keyword",
310
+ "keywords": ["E2E", "end-to-end", "integration"],
311
+ "required": false
312
+ },
313
+ "priority": "high"
314
+ },
315
+ {
316
+ "id": "M25",
317
+ "number": 25,
318
+ "category": "merise-agile",
319
+ "title": "User Story = contrat",
320
+ "description": "La user story est un contrat entre equipe et client",
321
+ "validation": {
322
+ "type": "keyword",
323
+ "keywords": ["story", "contract", "agreement"],
324
+ "required": false
325
+ },
326
+ "priority": "medium"
327
+ },
328
+ {
329
+ "id": "M26",
330
+ "number": 26,
331
+ "category": "merise-agile",
332
+ "title": "Retrospectives regulieres",
333
+ "description": "Retrospectives a chaque fin de sprint",
334
+ "validation": {
335
+ "type": "keyword",
336
+ "keywords": ["retrospective", "retro", "review"],
337
+ "required": false
338
+ },
339
+ "priority": "medium"
340
+ },
341
+ {
342
+ "id": "M27",
343
+ "number": 27,
344
+ "category": "merise-agile",
345
+ "title": "Daily = max 15 min",
346
+ "description": "Daily standup limite a 15 minutes",
347
+ "validation": {
348
+ "type": "keyword",
349
+ "keywords": ["daily", "standup", "scrum"],
350
+ "required": false
351
+ },
352
+ "priority": "low"
353
+ },
354
+ {
355
+ "id": "M28",
356
+ "number": 28,
357
+ "category": "merise-agile",
358
+ "title": "Sprint review = demo",
359
+ "description": "Sprint review avec demonstration concrete",
360
+ "validation": {
361
+ "type": "keyword",
362
+ "keywords": ["sprint review", "demo", "demonstration"],
363
+ "required": false
364
+ },
365
+ "priority": "medium"
366
+ },
367
+ {
368
+ "id": "M29",
369
+ "number": 29,
370
+ "category": "merise-agile",
371
+ "title": "Definition of Done partagee",
372
+ "description": "Definition of Done commune et respectee",
373
+ "validation": {
374
+ "type": "keyword",
375
+ "keywords": ["definition of done", "DoD", "acceptance"],
376
+ "required": false
377
+ },
378
+ "priority": "high"
379
+ },
380
+ {
381
+ "id": "M30",
382
+ "number": 30,
383
+ "category": "merise-agile",
384
+ "title": "Velocite = capacite reelle",
385
+ "description": "La velocite reflete la capacite reelle de l'equipe",
386
+ "validation": {
387
+ "type": "keyword",
388
+ "keywords": ["velocity", "velocite", "capacity"],
389
+ "required": false
390
+ },
391
+ "priority": "low"
392
+ },
393
+ {
394
+ "id": "M31",
395
+ "number": 31,
396
+ "category": "merise-agile",
397
+ "title": "MCD avant code",
398
+ "description": "Modele conceptuel de donnees avant implementation",
399
+ "validation": {
400
+ "type": "keyword",
401
+ "keywords": ["MCD", "model", "conceptual"],
402
+ "required": false
403
+ },
404
+ "priority": "high"
405
+ },
406
+ {
407
+ "id": "M32",
408
+ "number": 32,
409
+ "category": "merise-agile",
410
+ "title": "MCD ⇄ MCT validation",
411
+ "description": "Validation croisee entre modele de donnees et modele de traitements",
412
+ "validation": {
413
+ "type": "keyword",
414
+ "keywords": ["MCD", "MCT", "validation"],
415
+ "required": false
416
+ },
417
+ "priority": "high"
418
+ },
419
+ {
420
+ "id": "M33",
421
+ "number": 33,
422
+ "category": "merise-agile",
423
+ "title": "Data Dictionary First",
424
+ "description": "Dictionnaire de donnees comme premier artefact",
425
+ "validation": {
426
+ "type": "keyword",
427
+ "keywords": ["data dictionary", "dictionnaire", "schema"],
428
+ "required": false
429
+ },
430
+ "priority": "medium"
431
+ },
432
+ {
433
+ "id": "M34",
434
+ "number": 34,
435
+ "category": "merise-agile",
436
+ "title": "Bottom-up from User Stories",
437
+ "description": "Construction bottom-up depuis les user stories",
438
+ "validation": {
439
+ "type": "keyword",
440
+ "keywords": ["bottom-up", "user story", "incremental"],
441
+ "required": false
442
+ },
443
+ "priority": "medium"
444
+ },
445
+ {
446
+ "id": "M35",
447
+ "number": 35,
448
+ "category": "merise-agile",
449
+ "title": "Incremental design",
450
+ "description": "Design incrementale et evolutive",
451
+ "validation": {
452
+ "type": "keyword",
453
+ "keywords": ["incremental", "iterative", "evolution"],
454
+ "required": false
455
+ },
456
+ "priority": "medium"
457
+ },
458
+ {
459
+ "id": "M36",
460
+ "number": 36,
461
+ "category": "merise-agile",
462
+ "title": "Test-Driven at all levels",
463
+ "description": "Approche test-driven a tous les niveaux",
464
+ "validation": {
465
+ "type": "keyword",
466
+ "keywords": ["test-driven", "TDD", "test-first"],
467
+ "required": false
468
+ },
469
+ "priority": "high"
470
+ },
471
+ {
472
+ "id": "M37",
473
+ "number": 37,
474
+ "category": "merise-agile",
475
+ "title": "Ockham's Razor (simplicite)",
476
+ "description": "Principe de simplicite: la solution la plus simple est souvent la meilleure",
477
+ "validation": {
478
+ "type": "keyword",
479
+ "keywords": ["simple", "simplicite", "KISS", "minimal"],
480
+ "required": false
481
+ },
482
+ "priority": "high"
483
+ },
484
+ {
485
+ "id": "M38",
486
+ "number": 38,
487
+ "category": "merise-agile",
488
+ "title": "Pareto 80/20",
489
+ "description": "80% des resultats avec 20% des efforts",
490
+ "validation": {
491
+ "type": "keyword",
492
+ "keywords": ["pareto", "80/20", "priority"],
493
+ "required": false
494
+ },
495
+ "priority": "medium"
496
+ },
497
+ {
498
+ "id": "M39",
499
+ "number": 39,
500
+ "category": "merise-agile",
501
+ "title": "Every action has consequences",
502
+ "description": "Chaque action a des consequences a anticiper",
503
+ "validation": {
504
+ "type": "keyword",
505
+ "keywords": ["consequence", "impact", "effect"],
506
+ "required": false
507
+ },
508
+ "priority": "medium"
509
+ },
510
+ {
511
+ "id": "IA-1",
512
+ "number": 1,
513
+ "category": "ia",
514
+ "title": "Trust But Verify",
515
+ "description": "Faire confiance aux IA mais toujours verifier les resultats",
516
+ "validation": {
517
+ "type": "keyword",
518
+ "keywords": ["verify", "validation", "check", "test"],
519
+ "required": true
520
+ },
521
+ "priority": "critical"
522
+ },
523
+ {
524
+ "id": "IA-2",
525
+ "number": 2,
526
+ "category": "ia",
527
+ "title": "Explain Your Reasoning",
528
+ "description": "L'IA doit expliquer son raisonnement",
529
+ "validation": {
530
+ "type": "keyword",
531
+ "keywords": ["explain", "reasoning", "rationale", "why"],
532
+ "required": false
533
+ },
534
+ "priority": "high"
535
+ },
536
+ {
537
+ "id": "IA-3",
538
+ "number": 3,
539
+ "category": "ia",
540
+ "title": "Break Down Complex Tasks",
541
+ "description": "Decomposer les taches complexes en sous-taches simples",
542
+ "validation": {
543
+ "type": "keyword",
544
+ "keywords": ["break down", "decompose", "subtask", "step"],
545
+ "required": false
546
+ },
547
+ "priority": "high"
548
+ },
549
+ {
550
+ "id": "IA-4",
551
+ "number": 4,
552
+ "category": "ia",
553
+ "title": "Use Examples",
554
+ "description": "Utiliser des exemples concrets pour illustrer",
555
+ "validation": {
556
+ "type": "keyword",
557
+ "keywords": ["example", "sample", "demo", "illustration"],
558
+ "required": false
559
+ },
560
+ "priority": "medium"
561
+ },
562
+ {
563
+ "id": "IA-5",
564
+ "number": 5,
565
+ "category": "ia",
566
+ "title": "Request Clarification",
567
+ "description": "Demander des clarifications quand necessaire",
568
+ "validation": {
569
+ "type": "keyword",
570
+ "keywords": ["clarification", "question", "unclear"],
571
+ "required": false
572
+ },
573
+ "priority": "medium"
574
+ },
575
+ {
576
+ "id": "IA-6",
577
+ "number": 6,
578
+ "category": "ia",
579
+ "title": "Iterate and Refine",
580
+ "description": "Iterer et raffiner les solutions progressivement",
581
+ "validation": {
582
+ "type": "keyword",
583
+ "keywords": ["iterate", "refine", "improve", "evolve"],
584
+ "required": false
585
+ },
586
+ "priority": "medium"
587
+ },
588
+ {
589
+ "id": "IA-7",
590
+ "number": 7,
591
+ "category": "ia",
592
+ "title": "Leverage Context",
593
+ "description": "Exploiter le contexte disponible intelligemment",
594
+ "validation": {
595
+ "type": "keyword",
596
+ "keywords": ["context", "history", "background"],
597
+ "required": false
598
+ },
599
+ "priority": "medium"
600
+ },
601
+ {
602
+ "id": "IA-8",
603
+ "number": 8,
604
+ "category": "ia",
605
+ "title": "Be Explicit About Constraints",
606
+ "description": "Etre explicite sur les contraintes et limitations",
607
+ "validation": {
608
+ "type": "keyword",
609
+ "keywords": ["constraint", "limitation", "boundary"],
610
+ "required": false
611
+ },
612
+ "priority": "high"
613
+ },
614
+ {
615
+ "id": "IA-9",
616
+ "number": 9,
617
+ "category": "ia",
618
+ "title": "Validate Outputs",
619
+ "description": "Valider les sorties avant de les livrer",
620
+ "validation": {
621
+ "type": "keyword",
622
+ "keywords": ["validate", "verify", "check", "test"],
623
+ "required": true
624
+ },
625
+ "priority": "critical"
626
+ },
627
+ {
628
+ "id": "IA-10",
629
+ "number": 10,
630
+ "category": "ia",
631
+ "title": "Maintain Consistency",
632
+ "description": "Maintenir la coherence dans le style et les decisions",
633
+ "validation": {
634
+ "type": "keyword",
635
+ "keywords": ["consistent", "coherent", "uniform"],
636
+ "required": false
637
+ },
638
+ "priority": "high"
639
+ },
640
+ {
641
+ "id": "IA-11",
642
+ "number": 11,
643
+ "category": "ia",
644
+ "title": "Document Decisions",
645
+ "description": "Documenter les decisions importantes",
646
+ "validation": {
647
+ "type": "keyword",
648
+ "keywords": ["document", "decision", "ADR", "rationale"],
649
+ "required": false
650
+ },
651
+ "priority": "high"
652
+ },
653
+ {
654
+ "id": "IA-12",
655
+ "number": 12,
656
+ "category": "ia",
657
+ "title": "Learn from Feedback",
658
+ "description": "Apprendre et s'adapter a partir du feedback",
659
+ "validation": {
660
+ "type": "keyword",
661
+ "keywords": ["feedback", "learn", "adapt", "improve"],
662
+ "required": false
663
+ },
664
+ "priority": "medium"
665
+ },
666
+ {
667
+ "id": "IA-13",
668
+ "number": 13,
669
+ "category": "ia",
670
+ "title": "Adapt to User Style",
671
+ "description": "S'adapter au style et preferences de l'utilisateur",
672
+ "validation": {
673
+ "type": "keyword",
674
+ "keywords": ["adapt", "style", "preference"],
675
+ "required": false
676
+ },
677
+ "priority": "low"
678
+ },
679
+ {
680
+ "id": "IA-14",
681
+ "number": 14,
682
+ "category": "ia",
683
+ "title": "Balance Automation and Control",
684
+ "description": "Equilibrer automatisation et controle utilisateur",
685
+ "validation": {
686
+ "type": "keyword",
687
+ "keywords": ["automation", "control", "balance"],
688
+ "required": false
689
+ },
690
+ "priority": "medium"
691
+ },
692
+ {
693
+ "id": "IA-15",
694
+ "number": 15,
695
+ "category": "ia",
696
+ "title": "Preserve Intent",
697
+ "description": "Preserver l'intention de l'utilisateur",
698
+ "validation": {
699
+ "type": "keyword",
700
+ "keywords": ["intent", "purpose", "goal"],
701
+ "required": false
702
+ },
703
+ "priority": "high"
704
+ },
705
+ {
706
+ "id": "IA-16",
707
+ "number": 16,
708
+ "category": "ia",
709
+ "title": "Challenge Before Confirm",
710
+ "description": "Challenger avant de confirmer les decisions risquees",
711
+ "validation": {
712
+ "type": "keyword",
713
+ "keywords": ["challenge", "confirm", "validate", "question"],
714
+ "required": false
715
+ },
716
+ "priority": "high"
717
+ },
718
+ {
719
+ "id": "IA-17",
720
+ "number": 17,
721
+ "category": "ia",
722
+ "title": "Show, Don't Just Tell",
723
+ "description": "Montrer par l'exemple plutot que juste expliquer",
724
+ "validation": {
725
+ "type": "keyword",
726
+ "keywords": ["show", "example", "demonstrate"],
727
+ "required": false
728
+ },
729
+ "priority": "medium"
730
+ },
731
+ {
732
+ "id": "IA-18",
733
+ "number": 18,
734
+ "category": "ia",
735
+ "title": "Progressive Disclosure",
736
+ "description": "Reveler l'information progressivement selon le besoin",
737
+ "validation": {
738
+ "type": "keyword",
739
+ "keywords": ["progressive", "incremental", "step-by-step"],
740
+ "required": false
741
+ },
742
+ "priority": "low"
743
+ },
744
+ {
745
+ "id": "IA-19",
746
+ "number": 19,
747
+ "category": "ia",
748
+ "title": "Graceful Degradation",
749
+ "description": "Degrader elegamment en cas de probleme",
750
+ "validation": {
751
+ "type": "keyword",
752
+ "keywords": ["graceful", "error handling", "fallback"],
753
+ "required": false
754
+ },
755
+ "priority": "high"
756
+ },
757
+ {
758
+ "id": "IA-20",
759
+ "number": 20,
760
+ "category": "ia",
761
+ "title": "Fail Fast, Fail Safe",
762
+ "description": "Echouer rapidement et en securite",
763
+ "validation": {
764
+ "type": "keyword",
765
+ "keywords": ["fail fast", "error", "safety"],
766
+ "required": false
767
+ },
768
+ "priority": "high"
769
+ },
770
+ {
771
+ "id": "IA-21",
772
+ "number": 21,
773
+ "category": "ia",
774
+ "title": "No Hallucinations",
775
+ "description": "Pas d'hallucinations: toujours base sur des faits",
776
+ "validation": {
777
+ "type": "keyword",
778
+ "keywords": ["fact", "evidence", "source", "verified"],
779
+ "required": true
780
+ },
781
+ "priority": "critical"
782
+ },
783
+ {
784
+ "id": "IA-22",
785
+ "number": 22,
786
+ "category": "ia",
787
+ "title": "Cite Sources",
788
+ "description": "Citer les sources d'information",
789
+ "validation": {
790
+ "type": "keyword",
791
+ "keywords": ["source", "reference", "citation"],
792
+ "required": false
793
+ },
794
+ "priority": "medium"
795
+ },
796
+ {
797
+ "id": "IA-23",
798
+ "number": 23,
799
+ "category": "ia",
800
+ "title": "No Emoji Pollution",
801
+ "description": "Zero emojis dans le code, commits et specifications techniques",
802
+ "validation": {
803
+ "type": "pattern",
804
+ "pattern": "[\\u{1F300}-\\u{1F9FF}\\u{2600}-\\u{26FF}\\u{2700}-\\u{27BF}]",
805
+ "flags": "u",
806
+ "mustNotMatch": true,
807
+ "required": true
808
+ },
809
+ "priority": "critical"
810
+ },
811
+ {
812
+ "id": "IA-24",
813
+ "number": 24,
814
+ "category": "ia",
815
+ "title": "Clean Code",
816
+ "description": "Code auto-documente avec commentaires minimaux",
817
+ "validation": {
818
+ "type": "keyword",
819
+ "keywords": ["clean", "self-documenting", "readable"],
820
+ "required": false
821
+ },
822
+ "priority": "high"
823
+ },
824
+ {
825
+ "id": "IA-25",
826
+ "number": 25,
827
+ "category": "ia",
828
+ "title": "Performance Matters",
829
+ "description": "La performance est importante",
830
+ "validation": {
831
+ "type": "keyword",
832
+ "keywords": ["performance", "optimization", "efficient"],
833
+ "required": false
834
+ },
835
+ "priority": "high"
836
+ }
837
+ ],
838
+ "metadata": {
839
+ "version": "1.0.0",
840
+ "totalMantras": 64,
841
+ "categories": {
842
+ "merise-agile": 39,
843
+ "ia": 25
844
+ },
845
+ "priorityLevels": {
846
+ "critical": 8,
847
+ "high": 20,
848
+ "medium": 28,
849
+ "low": 8
850
+ }
851
+ }
852
+ }