create-byan-agent 2.19.2 → 2.20.0
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.
- package/CHANGELOG.md +148 -0
- package/README.md +4 -4
- package/install/src/byan-v2/generation/templates/default-agent.md +1 -1
- package/install/templates/.claude/CLAUDE.md +1 -1
- package/install/templates/.claude/hooks/fd-phase-guard.js +2 -2
- package/install/templates/.claude/hooks/mantra-validate.js +16 -8
- package/install/templates/.claude/hooks/strict-scope-guard.js +25 -7
- package/install/templates/.claude/rules/native-workflows.md +32 -0
- package/install/templates/.claude/skills/byan-byan/SKILL.md +5 -5
- package/install/templates/.claude/skills/byan-mantra-audit/SKILL.md +53 -0
- package/install/templates/.claude/skills/byan-merise-agile/SKILL.md +2 -2
- package/install/templates/.claude/skills/byan-native-dev-story/SKILL.md +83 -0
- package/install/templates/.claude/workflows/INDEX.md +35 -0
- package/install/templates/.claude/workflows/check-implementation-readiness.js +280 -0
- package/install/templates/.claude/workflows/code-review.js +179 -0
- package/install/templates/.claude/workflows/create-excalidraw-dataflow.js +214 -0
- package/install/templates/.claude/workflows/create-excalidraw-diagram.js +188 -0
- package/install/templates/.claude/workflows/create-excalidraw-flowchart.js +225 -0
- package/install/templates/.claude/workflows/create-excalidraw-wireframe.js +192 -0
- package/install/templates/.claude/workflows/create-story.js +216 -0
- package/install/templates/.claude/workflows/dev-story.js +100 -0
- package/install/templates/.claude/workflows/document-project.js +455 -0
- package/install/templates/.claude/workflows/qa-automate.js +169 -0
- package/install/templates/.claude/workflows/quick-dev.js +273 -0
- package/install/templates/.claude/workflows/sprint-planning.js +261 -0
- package/install/templates/.claude/workflows/testarch-atdd.js +287 -0
- package/install/templates/.claude/workflows/testarch-automate.js +229 -0
- package/install/templates/.claude/workflows/testarch-ci.js +184 -0
- package/install/templates/.claude/workflows/testarch-framework.js +267 -0
- package/install/templates/.claude/workflows/testarch-nfr.js +316 -0
- package/install/templates/.claude/workflows/testarch-test-design.js +293 -0
- package/install/templates/.claude/workflows/testarch-test-review.js +321 -0
- package/install/templates/.claude/workflows/testarch-trace.js +316 -0
- package/install/templates/.githooks/pre-commit +49 -15
- package/install/templates/_byan/config.yaml +15 -5
- package/install/templates/_byan/mcp/byan-mcp-server/bin/byan-build-workflows.js +20 -0
- package/install/templates/_byan/mcp/byan-mcp-server/bin/byan-lint-workflows.js +57 -0
- package/install/templates/_byan/mcp/byan-mcp-server/lib/native-loop.js +39 -0
- package/install/templates/_byan/mcp/byan-mcp-server/lib/workflows-generator.js +149 -0
- package/install/templates/_byan/mcp/byan-mcp-server/lib/workflows-lint.js +113 -0
- package/install/templates/_byan/workflow/simple/byan/feature-workflow.md +14 -11
- package/install/templates/docs/native-workflows-contract.md +84 -0
- package/package.json +2 -2
- package/src/byan-v2/data/agent-scopes.json +46 -0
- package/src/byan-v2/data/mantras.json +194 -8
- package/src/byan-v2/generation/mantra-audit.js +147 -0
- package/src/byan-v2/generation/mantra-validator.js +56 -6
- package/src/byan-v2/generation/scope-resolver.js +102 -0
- package/src/byan-v2/generation/templates/default-agent.md +1 -1
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
"id": "M1",
|
|
5
5
|
"number": 1,
|
|
6
6
|
"category": "merise-agile",
|
|
7
|
+
"scope": "sdlc-process",
|
|
7
8
|
"title": "Un seul responsable",
|
|
8
9
|
"description": "Chaque user story a un seul responsable clairement identifie",
|
|
9
10
|
"validation": {
|
|
@@ -17,6 +18,7 @@
|
|
|
17
18
|
"id": "M2",
|
|
18
19
|
"number": 2,
|
|
19
20
|
"category": "merise-agile",
|
|
21
|
+
"scope": "sdlc-process",
|
|
20
22
|
"title": "Chaque User Story = 1 acteur",
|
|
21
23
|
"description": "Une user story concerne un seul acteur principal",
|
|
22
24
|
"validation": {
|
|
@@ -30,6 +32,7 @@
|
|
|
30
32
|
"id": "M3",
|
|
31
33
|
"number": 3,
|
|
32
34
|
"category": "merise-agile",
|
|
35
|
+
"scope": "sdlc-process",
|
|
33
36
|
"title": "1 US = 1 resultat mesurable",
|
|
34
37
|
"description": "Chaque user story produit un resultat mesurable et verifiable",
|
|
35
38
|
"validation": {
|
|
@@ -43,6 +46,7 @@
|
|
|
43
46
|
"id": "M4",
|
|
44
47
|
"number": 4,
|
|
45
48
|
"category": "merise-agile",
|
|
49
|
+
"scope": "sdlc-process",
|
|
46
50
|
"title": "Tracabilite Epic → Story → Task",
|
|
47
51
|
"description": "Hierarchie claire et tracable depuis l'epic jusqu'aux tasks",
|
|
48
52
|
"validation": {
|
|
@@ -56,6 +60,7 @@
|
|
|
56
60
|
"id": "M5",
|
|
57
61
|
"number": 5,
|
|
58
62
|
"category": "merise-agile",
|
|
63
|
+
"scope": "sdlc-process",
|
|
59
64
|
"title": "Priorite = (Value × Urgence) / Effort",
|
|
60
65
|
"description": "Formule de priorisation basee sur valeur, urgence et effort",
|
|
61
66
|
"validation": {
|
|
@@ -69,6 +74,7 @@
|
|
|
69
74
|
"id": "M6",
|
|
70
75
|
"number": 6,
|
|
71
76
|
"category": "merise-agile",
|
|
77
|
+
"scope": "sdlc-process",
|
|
72
78
|
"title": "Story complete = INVEST",
|
|
73
79
|
"description": "Les user stories suivent les criteres INVEST (Independent, Negotiable, Valuable, Estimable, Small, Testable)",
|
|
74
80
|
"validation": {
|
|
@@ -82,6 +88,7 @@
|
|
|
82
88
|
"id": "M7",
|
|
83
89
|
"number": 7,
|
|
84
90
|
"category": "merise-agile",
|
|
91
|
+
"scope": "sdlc-test",
|
|
85
92
|
"title": "Acceptance Criteria = tests automatises",
|
|
86
93
|
"description": "Chaque critere d'acceptation se traduit en test automatise",
|
|
87
94
|
"validation": {
|
|
@@ -95,6 +102,7 @@
|
|
|
95
102
|
"id": "M8",
|
|
96
103
|
"number": 8,
|
|
97
104
|
"category": "merise-agile",
|
|
105
|
+
"scope": "sdlc-ops",
|
|
98
106
|
"title": "Code freeze avant release",
|
|
99
107
|
"description": "Gel du code avant chaque release pour stabilisation",
|
|
100
108
|
"validation": {
|
|
@@ -108,6 +116,7 @@
|
|
|
108
116
|
"id": "M9",
|
|
109
117
|
"number": 9,
|
|
110
118
|
"category": "merise-agile",
|
|
119
|
+
"scope": "sdlc-code",
|
|
111
120
|
"title": "One feature = One branch",
|
|
112
121
|
"description": "Chaque fonctionnalite est developpee dans sa propre branche",
|
|
113
122
|
"validation": {
|
|
@@ -121,6 +130,7 @@
|
|
|
121
130
|
"id": "M10",
|
|
122
131
|
"number": 10,
|
|
123
132
|
"category": "merise-agile",
|
|
133
|
+
"scope": "sdlc-code",
|
|
124
134
|
"title": "Commit message = type: description",
|
|
125
135
|
"description": "Format standardise des messages de commit",
|
|
126
136
|
"validation": {
|
|
@@ -134,6 +144,7 @@
|
|
|
134
144
|
"id": "M11",
|
|
135
145
|
"number": 11,
|
|
136
146
|
"category": "merise-agile",
|
|
147
|
+
"scope": "sdlc-test",
|
|
137
148
|
"title": "Tests avant merge",
|
|
138
149
|
"description": "Tous les tests doivent passer avant fusion",
|
|
139
150
|
"validation": {
|
|
@@ -147,6 +158,7 @@
|
|
|
147
158
|
"id": "M12",
|
|
148
159
|
"number": 12,
|
|
149
160
|
"category": "merise-agile",
|
|
161
|
+
"scope": "sdlc-code",
|
|
150
162
|
"title": "Revue systematique",
|
|
151
163
|
"description": "Code review obligatoire avant merge",
|
|
152
164
|
"validation": {
|
|
@@ -160,6 +172,7 @@
|
|
|
160
172
|
"id": "M13",
|
|
161
173
|
"number": 13,
|
|
162
174
|
"category": "merise-agile",
|
|
175
|
+
"scope": "sdlc-code",
|
|
163
176
|
"title": "Documentation dans le code",
|
|
164
177
|
"description": "Documentation integree au code source",
|
|
165
178
|
"validation": {
|
|
@@ -173,6 +186,7 @@
|
|
|
173
186
|
"id": "M14",
|
|
174
187
|
"number": 14,
|
|
175
188
|
"category": "merise-agile",
|
|
189
|
+
"scope": "sdlc-code",
|
|
176
190
|
"title": "README = point d'entree",
|
|
177
191
|
"description": "Le README est le point d'entree de la documentation",
|
|
178
192
|
"validation": {
|
|
@@ -186,6 +200,7 @@
|
|
|
186
200
|
"id": "M15",
|
|
187
201
|
"number": 15,
|
|
188
202
|
"category": "merise-agile",
|
|
203
|
+
"scope": "sdlc-modeling",
|
|
189
204
|
"title": "API-first design",
|
|
190
205
|
"description": "Conception API avant implementation",
|
|
191
206
|
"validation": {
|
|
@@ -199,6 +214,7 @@
|
|
|
199
214
|
"id": "M16",
|
|
200
215
|
"number": 16,
|
|
201
216
|
"category": "merise-agile",
|
|
217
|
+
"scope": "sdlc-ops",
|
|
202
218
|
"title": "Versioning semantique",
|
|
203
219
|
"description": "Utilisation du versioning semantique (semver)",
|
|
204
220
|
"validation": {
|
|
@@ -212,6 +228,7 @@
|
|
|
212
228
|
"id": "M17",
|
|
213
229
|
"number": 17,
|
|
214
230
|
"category": "merise-agile",
|
|
231
|
+
"scope": "sdlc-ops",
|
|
215
232
|
"title": "Changelog a jour",
|
|
216
233
|
"description": "Changelog maintenu a jour pour chaque version",
|
|
217
234
|
"validation": {
|
|
@@ -225,6 +242,7 @@
|
|
|
225
242
|
"id": "M18",
|
|
226
243
|
"number": 18,
|
|
227
244
|
"category": "merise-agile",
|
|
245
|
+
"scope": "sdlc-ops",
|
|
228
246
|
"title": "Environnements identiques",
|
|
229
247
|
"description": "Dev, staging et production sont identiques",
|
|
230
248
|
"validation": {
|
|
@@ -238,6 +256,7 @@
|
|
|
238
256
|
"id": "M19",
|
|
239
257
|
"number": 19,
|
|
240
258
|
"category": "merise-agile",
|
|
259
|
+
"scope": "sdlc-ops",
|
|
241
260
|
"title": "CI/CD = production continue",
|
|
242
261
|
"description": "Integration et deploiement continus automatises",
|
|
243
262
|
"validation": {
|
|
@@ -251,6 +270,7 @@
|
|
|
251
270
|
"id": "M20",
|
|
252
271
|
"number": 20,
|
|
253
272
|
"category": "merise-agile",
|
|
273
|
+
"scope": "sdlc-ops",
|
|
254
274
|
"title": "Rollback en 1 clic",
|
|
255
275
|
"description": "Capacite de rollback rapide et simple",
|
|
256
276
|
"validation": {
|
|
@@ -264,6 +284,7 @@
|
|
|
264
284
|
"id": "M21",
|
|
265
285
|
"number": 21,
|
|
266
286
|
"category": "merise-agile",
|
|
287
|
+
"scope": "sdlc-test",
|
|
267
288
|
"title": "Tests unitaires obligatoires",
|
|
268
289
|
"description": "Tous les modules ont des tests unitaires",
|
|
269
290
|
"validation": {
|
|
@@ -277,6 +298,7 @@
|
|
|
277
298
|
"id": "M22",
|
|
278
299
|
"number": 22,
|
|
279
300
|
"category": "merise-agile",
|
|
301
|
+
"scope": "sdlc-test",
|
|
280
302
|
"title": "80% couverture minimum",
|
|
281
303
|
"description": "Couverture de tests d'au moins 80%",
|
|
282
304
|
"validation": {
|
|
@@ -290,6 +312,7 @@
|
|
|
290
312
|
"id": "M23",
|
|
291
313
|
"number": 23,
|
|
292
314
|
"category": "merise-agile",
|
|
315
|
+
"scope": "sdlc-test",
|
|
293
316
|
"title": "TDD quand possible",
|
|
294
317
|
"description": "Test-Driven Development comme pratique privilegiee",
|
|
295
318
|
"validation": {
|
|
@@ -303,6 +326,7 @@
|
|
|
303
326
|
"id": "M24",
|
|
304
327
|
"number": 24,
|
|
305
328
|
"category": "merise-agile",
|
|
329
|
+
"scope": "sdlc-test",
|
|
306
330
|
"title": "Tests E2E critiques",
|
|
307
331
|
"description": "Tests end-to-end pour les parcours critiques",
|
|
308
332
|
"validation": {
|
|
@@ -316,6 +340,7 @@
|
|
|
316
340
|
"id": "M25",
|
|
317
341
|
"number": 25,
|
|
318
342
|
"category": "merise-agile",
|
|
343
|
+
"scope": "sdlc-process",
|
|
319
344
|
"title": "User Story = contrat",
|
|
320
345
|
"description": "La user story est un contrat entre equipe et client",
|
|
321
346
|
"validation": {
|
|
@@ -329,6 +354,7 @@
|
|
|
329
354
|
"id": "M26",
|
|
330
355
|
"number": 26,
|
|
331
356
|
"category": "merise-agile",
|
|
357
|
+
"scope": "sdlc-process",
|
|
332
358
|
"title": "Retrospectives regulieres",
|
|
333
359
|
"description": "Retrospectives a chaque fin de sprint",
|
|
334
360
|
"validation": {
|
|
@@ -342,6 +368,7 @@
|
|
|
342
368
|
"id": "M27",
|
|
343
369
|
"number": 27,
|
|
344
370
|
"category": "merise-agile",
|
|
371
|
+
"scope": "sdlc-process",
|
|
345
372
|
"title": "Daily = max 15 min",
|
|
346
373
|
"description": "Daily standup limite a 15 minutes",
|
|
347
374
|
"validation": {
|
|
@@ -355,6 +382,7 @@
|
|
|
355
382
|
"id": "M28",
|
|
356
383
|
"number": 28,
|
|
357
384
|
"category": "merise-agile",
|
|
385
|
+
"scope": "sdlc-process",
|
|
358
386
|
"title": "Sprint review = demo",
|
|
359
387
|
"description": "Sprint review avec demonstration concrete",
|
|
360
388
|
"validation": {
|
|
@@ -368,6 +396,7 @@
|
|
|
368
396
|
"id": "M29",
|
|
369
397
|
"number": 29,
|
|
370
398
|
"category": "merise-agile",
|
|
399
|
+
"scope": "sdlc-process",
|
|
371
400
|
"title": "Definition of Done partagee",
|
|
372
401
|
"description": "Definition of Done commune et respectee",
|
|
373
402
|
"validation": {
|
|
@@ -381,6 +410,7 @@
|
|
|
381
410
|
"id": "M30",
|
|
382
411
|
"number": 30,
|
|
383
412
|
"category": "merise-agile",
|
|
413
|
+
"scope": "sdlc-process",
|
|
384
414
|
"title": "Velocite = capacite reelle",
|
|
385
415
|
"description": "La velocite reflete la capacite reelle de l'equipe",
|
|
386
416
|
"validation": {
|
|
@@ -394,6 +424,7 @@
|
|
|
394
424
|
"id": "M31",
|
|
395
425
|
"number": 31,
|
|
396
426
|
"category": "merise-agile",
|
|
427
|
+
"scope": "sdlc-modeling",
|
|
397
428
|
"title": "MCD avant code",
|
|
398
429
|
"description": "Modele conceptuel de donnees avant implementation",
|
|
399
430
|
"validation": {
|
|
@@ -407,6 +438,7 @@
|
|
|
407
438
|
"id": "M32",
|
|
408
439
|
"number": 32,
|
|
409
440
|
"category": "merise-agile",
|
|
441
|
+
"scope": "sdlc-modeling",
|
|
410
442
|
"title": "MCD ⇄ MCT validation",
|
|
411
443
|
"description": "Validation croisee entre modele de donnees et modele de traitements",
|
|
412
444
|
"validation": {
|
|
@@ -420,6 +452,7 @@
|
|
|
420
452
|
"id": "M33",
|
|
421
453
|
"number": 33,
|
|
422
454
|
"category": "merise-agile",
|
|
455
|
+
"scope": "sdlc-modeling",
|
|
423
456
|
"title": "Data Dictionary First",
|
|
424
457
|
"description": "Dictionnaire de donnees comme premier artefact",
|
|
425
458
|
"validation": {
|
|
@@ -433,6 +466,7 @@
|
|
|
433
466
|
"id": "M34",
|
|
434
467
|
"number": 34,
|
|
435
468
|
"category": "merise-agile",
|
|
469
|
+
"scope": "sdlc-modeling",
|
|
436
470
|
"title": "Bottom-up from User Stories",
|
|
437
471
|
"description": "Construction bottom-up depuis les user stories",
|
|
438
472
|
"validation": {
|
|
@@ -446,6 +480,7 @@
|
|
|
446
480
|
"id": "M35",
|
|
447
481
|
"number": 35,
|
|
448
482
|
"category": "merise-agile",
|
|
483
|
+
"scope": "sdlc-modeling",
|
|
449
484
|
"title": "Incremental design",
|
|
450
485
|
"description": "Design incrementale et evolutive",
|
|
451
486
|
"validation": {
|
|
@@ -459,6 +494,7 @@
|
|
|
459
494
|
"id": "M36",
|
|
460
495
|
"number": 36,
|
|
461
496
|
"category": "merise-agile",
|
|
497
|
+
"scope": "sdlc-test",
|
|
462
498
|
"title": "Test-Driven at all levels",
|
|
463
499
|
"description": "Approche test-driven a tous les niveaux",
|
|
464
500
|
"validation": {
|
|
@@ -472,6 +508,7 @@
|
|
|
472
508
|
"id": "M37",
|
|
473
509
|
"number": 37,
|
|
474
510
|
"category": "merise-agile",
|
|
511
|
+
"scope": "universal",
|
|
475
512
|
"title": "Ockham's Razor (simplicite)",
|
|
476
513
|
"description": "Principe de simplicite: la solution la plus simple est souvent la meilleure",
|
|
477
514
|
"validation": {
|
|
@@ -485,6 +522,7 @@
|
|
|
485
522
|
"id": "M38",
|
|
486
523
|
"number": 38,
|
|
487
524
|
"category": "merise-agile",
|
|
525
|
+
"scope": "universal",
|
|
488
526
|
"title": "Pareto 80/20",
|
|
489
527
|
"description": "80% des resultats avec 20% des efforts",
|
|
490
528
|
"validation": {
|
|
@@ -498,6 +536,7 @@
|
|
|
498
536
|
"id": "M39",
|
|
499
537
|
"number": 39,
|
|
500
538
|
"category": "merise-agile",
|
|
539
|
+
"scope": "universal",
|
|
501
540
|
"title": "Every action has consequences",
|
|
502
541
|
"description": "Chaque action a des consequences a anticiper",
|
|
503
542
|
"validation": {
|
|
@@ -511,6 +550,8 @@
|
|
|
511
550
|
"id": "IA-1",
|
|
512
551
|
"number": 1,
|
|
513
552
|
"category": "ia",
|
|
553
|
+
"scope": "universal",
|
|
554
|
+
"behavioral": true,
|
|
514
555
|
"title": "Trust But Verify",
|
|
515
556
|
"description": "Faire confiance aux IA mais toujours verifier les resultats",
|
|
516
557
|
"validation": {
|
|
@@ -524,6 +565,7 @@
|
|
|
524
565
|
"id": "IA-2",
|
|
525
566
|
"number": 2,
|
|
526
567
|
"category": "ia",
|
|
568
|
+
"scope": "universal",
|
|
527
569
|
"title": "Explain Your Reasoning",
|
|
528
570
|
"description": "L'IA doit expliquer son raisonnement",
|
|
529
571
|
"validation": {
|
|
@@ -537,6 +579,7 @@
|
|
|
537
579
|
"id": "IA-3",
|
|
538
580
|
"number": 3,
|
|
539
581
|
"category": "ia",
|
|
582
|
+
"scope": "universal",
|
|
540
583
|
"title": "Break Down Complex Tasks",
|
|
541
584
|
"description": "Decomposer les taches complexes en sous-taches simples",
|
|
542
585
|
"validation": {
|
|
@@ -550,6 +593,7 @@
|
|
|
550
593
|
"id": "IA-4",
|
|
551
594
|
"number": 4,
|
|
552
595
|
"category": "ia",
|
|
596
|
+
"scope": "universal",
|
|
553
597
|
"title": "Use Examples",
|
|
554
598
|
"description": "Utiliser des exemples concrets pour illustrer",
|
|
555
599
|
"validation": {
|
|
@@ -563,6 +607,7 @@
|
|
|
563
607
|
"id": "IA-5",
|
|
564
608
|
"number": 5,
|
|
565
609
|
"category": "ia",
|
|
610
|
+
"scope": "universal",
|
|
566
611
|
"title": "Request Clarification",
|
|
567
612
|
"description": "Demander des clarifications quand necessaire",
|
|
568
613
|
"validation": {
|
|
@@ -576,6 +621,7 @@
|
|
|
576
621
|
"id": "IA-6",
|
|
577
622
|
"number": 6,
|
|
578
623
|
"category": "ia",
|
|
624
|
+
"scope": "universal",
|
|
579
625
|
"title": "Iterate and Refine",
|
|
580
626
|
"description": "Iterer et raffiner les solutions progressivement",
|
|
581
627
|
"validation": {
|
|
@@ -589,6 +635,7 @@
|
|
|
589
635
|
"id": "IA-7",
|
|
590
636
|
"number": 7,
|
|
591
637
|
"category": "ia",
|
|
638
|
+
"scope": "universal",
|
|
592
639
|
"title": "Leverage Context",
|
|
593
640
|
"description": "Exploiter le contexte disponible intelligemment",
|
|
594
641
|
"validation": {
|
|
@@ -602,6 +649,7 @@
|
|
|
602
649
|
"id": "IA-8",
|
|
603
650
|
"number": 8,
|
|
604
651
|
"category": "ia",
|
|
652
|
+
"scope": "universal",
|
|
605
653
|
"title": "Be Explicit About Constraints",
|
|
606
654
|
"description": "Etre explicite sur les contraintes et limitations",
|
|
607
655
|
"validation": {
|
|
@@ -615,6 +663,8 @@
|
|
|
615
663
|
"id": "IA-9",
|
|
616
664
|
"number": 9,
|
|
617
665
|
"category": "ia",
|
|
666
|
+
"scope": "universal",
|
|
667
|
+
"behavioral": true,
|
|
618
668
|
"title": "Validate Outputs",
|
|
619
669
|
"description": "Valider les sorties avant de les livrer",
|
|
620
670
|
"validation": {
|
|
@@ -628,6 +678,7 @@
|
|
|
628
678
|
"id": "IA-10",
|
|
629
679
|
"number": 10,
|
|
630
680
|
"category": "ia",
|
|
681
|
+
"scope": "universal",
|
|
631
682
|
"title": "Maintain Consistency",
|
|
632
683
|
"description": "Maintenir la coherence dans le style et les decisions",
|
|
633
684
|
"validation": {
|
|
@@ -641,6 +692,7 @@
|
|
|
641
692
|
"id": "IA-11",
|
|
642
693
|
"number": 11,
|
|
643
694
|
"category": "ia",
|
|
695
|
+
"scope": "universal",
|
|
644
696
|
"title": "Document Decisions",
|
|
645
697
|
"description": "Documenter les decisions importantes",
|
|
646
698
|
"validation": {
|
|
@@ -654,6 +706,7 @@
|
|
|
654
706
|
"id": "IA-12",
|
|
655
707
|
"number": 12,
|
|
656
708
|
"category": "ia",
|
|
709
|
+
"scope": "universal",
|
|
657
710
|
"title": "Learn from Feedback",
|
|
658
711
|
"description": "Apprendre et s'adapter a partir du feedback",
|
|
659
712
|
"validation": {
|
|
@@ -667,6 +720,7 @@
|
|
|
667
720
|
"id": "IA-13",
|
|
668
721
|
"number": 13,
|
|
669
722
|
"category": "ia",
|
|
723
|
+
"scope": "universal",
|
|
670
724
|
"title": "Adapt to User Style",
|
|
671
725
|
"description": "S'adapter au style et preferences de l'utilisateur",
|
|
672
726
|
"validation": {
|
|
@@ -680,6 +734,7 @@
|
|
|
680
734
|
"id": "IA-14",
|
|
681
735
|
"number": 14,
|
|
682
736
|
"category": "ia",
|
|
737
|
+
"scope": "universal",
|
|
683
738
|
"title": "Balance Automation and Control",
|
|
684
739
|
"description": "Equilibrer automatisation et controle utilisateur",
|
|
685
740
|
"validation": {
|
|
@@ -693,6 +748,7 @@
|
|
|
693
748
|
"id": "IA-15",
|
|
694
749
|
"number": 15,
|
|
695
750
|
"category": "ia",
|
|
751
|
+
"scope": "universal",
|
|
696
752
|
"title": "Preserve Intent",
|
|
697
753
|
"description": "Preserver l'intention de l'utilisateur",
|
|
698
754
|
"validation": {
|
|
@@ -706,6 +762,7 @@
|
|
|
706
762
|
"id": "IA-16",
|
|
707
763
|
"number": 16,
|
|
708
764
|
"category": "ia",
|
|
765
|
+
"scope": "universal",
|
|
709
766
|
"title": "Challenge Before Confirm",
|
|
710
767
|
"description": "Challenger avant de confirmer les decisions risquees",
|
|
711
768
|
"validation": {
|
|
@@ -719,6 +776,7 @@
|
|
|
719
776
|
"id": "IA-17",
|
|
720
777
|
"number": 17,
|
|
721
778
|
"category": "ia",
|
|
779
|
+
"scope": "universal",
|
|
722
780
|
"title": "Show, Don't Just Tell",
|
|
723
781
|
"description": "Montrer par l'exemple plutot que juste expliquer",
|
|
724
782
|
"validation": {
|
|
@@ -732,6 +790,7 @@
|
|
|
732
790
|
"id": "IA-18",
|
|
733
791
|
"number": 18,
|
|
734
792
|
"category": "ia",
|
|
793
|
+
"scope": "universal",
|
|
735
794
|
"title": "Progressive Disclosure",
|
|
736
795
|
"description": "Reveler l'information progressivement selon le besoin",
|
|
737
796
|
"validation": {
|
|
@@ -745,6 +804,7 @@
|
|
|
745
804
|
"id": "IA-19",
|
|
746
805
|
"number": 19,
|
|
747
806
|
"category": "ia",
|
|
807
|
+
"scope": "sdlc-code",
|
|
748
808
|
"title": "Graceful Degradation",
|
|
749
809
|
"description": "Degrader elegamment en cas de probleme",
|
|
750
810
|
"validation": {
|
|
@@ -758,6 +818,7 @@
|
|
|
758
818
|
"id": "IA-20",
|
|
759
819
|
"number": 20,
|
|
760
820
|
"category": "ia",
|
|
821
|
+
"scope": "sdlc-code",
|
|
761
822
|
"title": "Fail Fast, Fail Safe",
|
|
762
823
|
"description": "Echouer rapidement et en securite",
|
|
763
824
|
"validation": {
|
|
@@ -771,6 +832,8 @@
|
|
|
771
832
|
"id": "IA-21",
|
|
772
833
|
"number": 21,
|
|
773
834
|
"category": "ia",
|
|
835
|
+
"scope": "universal",
|
|
836
|
+
"behavioral": true,
|
|
774
837
|
"title": "No Hallucinations",
|
|
775
838
|
"description": "Pas d'hallucinations: toujours base sur des faits",
|
|
776
839
|
"validation": {
|
|
@@ -784,6 +847,7 @@
|
|
|
784
847
|
"id": "IA-22",
|
|
785
848
|
"number": 22,
|
|
786
849
|
"category": "ia",
|
|
850
|
+
"scope": "universal",
|
|
787
851
|
"title": "Cite Sources",
|
|
788
852
|
"description": "Citer les sources d'information",
|
|
789
853
|
"validation": {
|
|
@@ -797,6 +861,8 @@
|
|
|
797
861
|
"id": "IA-23",
|
|
798
862
|
"number": 23,
|
|
799
863
|
"category": "ia",
|
|
864
|
+
"scope": "universal",
|
|
865
|
+
"behavioral": true,
|
|
800
866
|
"title": "No Emoji Pollution",
|
|
801
867
|
"description": "Zero emojis dans le code, commits et specifications techniques",
|
|
802
868
|
"validation": {
|
|
@@ -804,6 +870,7 @@
|
|
|
804
870
|
"pattern": "[\\u{1F300}-\\u{1F9FF}\\u{2600}-\\u{26FF}\\u{2700}-\\u{27BF}]",
|
|
805
871
|
"flags": "u",
|
|
806
872
|
"mustNotMatch": true,
|
|
873
|
+
"ignoreZones": ["icon\\s*[:=]\\s*\"[^\"]*\"", "icon\\s*[:=]\\s*'[^']*'"],
|
|
807
874
|
"required": true
|
|
808
875
|
},
|
|
809
876
|
"priority": "critical"
|
|
@@ -812,6 +879,7 @@
|
|
|
812
879
|
"id": "IA-24",
|
|
813
880
|
"number": 24,
|
|
814
881
|
"category": "ia",
|
|
882
|
+
"scope": "sdlc-code",
|
|
815
883
|
"title": "Clean Code",
|
|
816
884
|
"description": "Code auto-documente avec commentaires minimaux",
|
|
817
885
|
"validation": {
|
|
@@ -825,6 +893,7 @@
|
|
|
825
893
|
"id": "IA-25",
|
|
826
894
|
"number": 25,
|
|
827
895
|
"category": "ia",
|
|
896
|
+
"scope": "sdlc-code",
|
|
828
897
|
"title": "Performance Matters",
|
|
829
898
|
"description": "La performance est importante",
|
|
830
899
|
"validation": {
|
|
@@ -833,20 +902,137 @@
|
|
|
833
902
|
"required": false
|
|
834
903
|
},
|
|
835
904
|
"priority": "high"
|
|
905
|
+
},
|
|
906
|
+
{
|
|
907
|
+
"id": "CR-1",
|
|
908
|
+
"number": 1,
|
|
909
|
+
"category": "creative",
|
|
910
|
+
"scope": "creative",
|
|
911
|
+
"behavioral": false,
|
|
912
|
+
"title": "Diverge Before You Converge",
|
|
913
|
+
"description": "En phase de generation, produire du volume d'idees sans censure ni jugement avant tout tri. Generation et selection sont deux phases separees: ne jamais fusionner brainstorm et prune. La premiere reaction a une idee est de construire dessus (YES AND). L'oppose direct d'Ockham/challenge-before-confirm: la quantite brute precede la selection.",
|
|
914
|
+
"validation": {
|
|
915
|
+
"type": "keyword",
|
|
916
|
+
"keywords": ["yes and", "sans censure", "volume", "wild"],
|
|
917
|
+
"required": false
|
|
918
|
+
},
|
|
919
|
+
"priority": "critical"
|
|
920
|
+
},
|
|
921
|
+
{
|
|
922
|
+
"id": "CR-2",
|
|
923
|
+
"number": 2,
|
|
924
|
+
"category": "creative",
|
|
925
|
+
"scope": "creative",
|
|
926
|
+
"behavioral": false,
|
|
927
|
+
"title": "Anchor in the Human Need",
|
|
928
|
+
"description": "Ancrer chaque concept dans le besoin reel d'un utilisateur situe, pas dans une abstraction. Empathiser avant de definir. Ne jamais valider un concept sans avoir observe un humain reel ou un prototype. Distinguer ce que les gens disent vouloir de ce dont ils ont besoin. La preuve est humaine, pas documentaire.",
|
|
929
|
+
"validation": {
|
|
930
|
+
"type": "keyword",
|
|
931
|
+
"keywords": ["empath", "humain", "prototyp", "observe"],
|
|
932
|
+
"required": false
|
|
933
|
+
},
|
|
934
|
+
"priority": "high"
|
|
935
|
+
},
|
|
936
|
+
{
|
|
937
|
+
"id": "CR-3",
|
|
938
|
+
"number": 3,
|
|
939
|
+
"category": "creative",
|
|
940
|
+
"scope": "creative",
|
|
941
|
+
"behavioral": false,
|
|
942
|
+
"title": "Reframe to the Root Cause",
|
|
943
|
+
"description": "Ne jamais resoudre avant d'avoir reformule. Remonter par les 5 Whys jusqu'a la cause racine, jamais soigner le symptome. La bonne question prime sur la reponse rapide. Le cadrage du probleme est le livrable, pas la solution rapide.",
|
|
944
|
+
"validation": {
|
|
945
|
+
"type": "keyword",
|
|
946
|
+
"keywords": ["root cause", "cause racine", "reformul", "5 whys"],
|
|
947
|
+
"required": false
|
|
948
|
+
},
|
|
949
|
+
"priority": "high"
|
|
950
|
+
},
|
|
951
|
+
{
|
|
952
|
+
"id": "CR-4",
|
|
953
|
+
"number": 4,
|
|
954
|
+
"category": "creative",
|
|
955
|
+
"scope": "creative",
|
|
956
|
+
"behavioral": false,
|
|
957
|
+
"title": "Judge Ideas by New Value",
|
|
958
|
+
"description": "Evaluer une idee a l'aune de la valeur nouvelle qu'elle cree pour quelqu'un, pas de sa nouveaute en soi. Distinguer invention et innovation, nouveau et meilleur. Tester la rupture systemique: est-ce que ca change la donne ou rend un business model obsolete.",
|
|
959
|
+
"validation": {
|
|
960
|
+
"type": "keyword",
|
|
961
|
+
"keywords": ["disrupt", "rupture", "change la donne", "valeur", "business model"],
|
|
962
|
+
"required": false
|
|
963
|
+
},
|
|
964
|
+
"priority": "high"
|
|
965
|
+
},
|
|
966
|
+
{
|
|
967
|
+
"id": "CR-5",
|
|
968
|
+
"number": 5,
|
|
969
|
+
"category": "creative",
|
|
970
|
+
"scope": "creative",
|
|
971
|
+
"behavioral": false,
|
|
972
|
+
"title": "Find the Authentic Story",
|
|
973
|
+
"description": "Avant l'argument, chercher l'emotion: identifier l'histoire authentique d'un projet et l'articuler via une tension narrative (hook, conflit, resolution) appuyee sur des verites humaines. Rendre l'abstrait concret par le detail vivant. Raconter le pourquoi plutot que documenter une decision.",
|
|
974
|
+
"validation": {
|
|
975
|
+
"type": "keyword",
|
|
976
|
+
"keywords": ["narrat", "histoire", "emotion", "authentic story", "hook"],
|
|
977
|
+
"required": false
|
|
978
|
+
},
|
|
979
|
+
"priority": "medium"
|
|
980
|
+
},
|
|
981
|
+
{
|
|
982
|
+
"id": "CR-6",
|
|
983
|
+
"number": 6,
|
|
984
|
+
"category": "creative",
|
|
985
|
+
"scope": "creative",
|
|
986
|
+
"behavioral": false,
|
|
987
|
+
"title": "Serve the Audience's Attention",
|
|
988
|
+
"description": "Designer toute communication pour l'audience visee et son contexte. Diriger le regard par la hierarchie visuelle, viser une seule idee par element, passer la regle des 3 secondes, supprimer avant d'ajouter. La clarte prime sur le clever; la forme sert le message, jamais l'inverse.",
|
|
989
|
+
"validation": {
|
|
990
|
+
"type": "keyword",
|
|
991
|
+
"keywords": ["audience", "hierarch", "clart", "3 sec"],
|
|
992
|
+
"required": false
|
|
993
|
+
},
|
|
994
|
+
"priority": "medium"
|
|
995
|
+
},
|
|
996
|
+
{
|
|
997
|
+
"id": "CR-7",
|
|
998
|
+
"number": 7,
|
|
999
|
+
"category": "creative",
|
|
1000
|
+
"scope": "creative",
|
|
1001
|
+
"behavioral": false,
|
|
1002
|
+
"title": "Prototype, Test, Pivot - Failure Is Feedback",
|
|
1003
|
+
"description": "Avancer par iterations testables plutot que par debat: prototyper avant de discuter, confronter au reel, traiter l'echec comme un feedback (un pivot, pas une fin). Ne jamais tomber amoureux d'une solution; chaque prototype est jetable. La validation est empirique, pas une signature de decision figee.",
|
|
1004
|
+
"validation": {
|
|
1005
|
+
"type": "keyword",
|
|
1006
|
+
"keywords": ["prototyp", "feedback", "pivot", "failure is feedback"],
|
|
1007
|
+
"required": false
|
|
1008
|
+
},
|
|
1009
|
+
"priority": "medium"
|
|
836
1010
|
}
|
|
837
1011
|
],
|
|
838
1012
|
"metadata": {
|
|
839
|
-
"version": "1.
|
|
840
|
-
"totalMantras":
|
|
1013
|
+
"version": "1.2.0",
|
|
1014
|
+
"totalMantras": 71,
|
|
841
1015
|
"categories": {
|
|
842
1016
|
"merise-agile": 39,
|
|
843
|
-
"ia": 25
|
|
844
|
-
|
|
1017
|
+
"ia": 25,
|
|
1018
|
+
"creative": 7
|
|
1019
|
+
},
|
|
1020
|
+
"scopes": {
|
|
1021
|
+
"universal": 24,
|
|
1022
|
+
"sdlc-process": 12,
|
|
1023
|
+
"sdlc-code": 9,
|
|
1024
|
+
"sdlc-ops": 6,
|
|
1025
|
+
"sdlc-modeling": 6,
|
|
1026
|
+
"sdlc-test": 7,
|
|
1027
|
+
"creative": 7
|
|
1028
|
+
},
|
|
1029
|
+
"behavioralCount": 4,
|
|
1030
|
+
"scopeNote": "scope tags the domain a mantra belongs to (universal applies to every agent; creative is the CIS family; sdlc-ops is release/deploy split from sdlc-code). behavioral=true marks runtime-enforced mantras (hooks/fact-check) excluded from persona-file scoring when a scope filter is applied. With no scope filter, all mantras are scored (legacy behavior).",
|
|
845
1031
|
"priorityLevels": {
|
|
846
|
-
"critical":
|
|
847
|
-
"high":
|
|
848
|
-
"medium":
|
|
849
|
-
"low":
|
|
1032
|
+
"critical": 9,
|
|
1033
|
+
"high": 29,
|
|
1034
|
+
"medium": 27,
|
|
1035
|
+
"low": 6
|
|
850
1036
|
}
|
|
851
1037
|
}
|
|
852
1038
|
}
|