@dev-kosaly/kagents 0.1.0 → 0.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 (43) hide show
  1. package/README.md +85 -19
  2. package/agents/architect.md +84 -116
  3. package/bin/kagents.js +15 -1
  4. package/commands/architect-audit.md +17 -0
  5. package/commands/architect-compare.md +13 -0
  6. package/commands/architect-decision.md +20 -0
  7. package/commands/architect-design.md +18 -0
  8. package/commands/architect-impact.md +16 -0
  9. package/commands/architect-spec.md +18 -0
  10. package/commands/architect-status.md +26 -0
  11. package/commands/architect.md +20 -0
  12. package/docs/architect-commands.md +52 -0
  13. package/package.json +4 -2
  14. package/rules/domains/architect-chat.md +61 -0
  15. package/rules/domains/architect-invariants.md +22 -0
  16. package/skills/README.md +17 -20
  17. package/skills/architect-audit/SKILL.md +31 -0
  18. package/skills/architect-decision/SKILL.md +40 -0
  19. package/skills/architect-discovery/SKILL.md +43 -0
  20. package/skills/architect-impact/SKILL.md +32 -0
  21. package/skills/architect-index/SKILL.md +31 -0
  22. package/skills/architect-status/SKILL.md +41 -0
  23. package/skills/architect-write-output/SKILL.md +49 -0
  24. package/templates/architect-decision/template.md +47 -0
  25. package/templates/architect-design/template.md +31 -0
  26. package/templates/architect-index/INDEX.template.md +47 -0
  27. package/templates/architect-output/template.md +95 -0
  28. package/templates/architect-spec/template.md +39 -0
  29. package/workflows/architect-architecture.md +19 -0
  30. package/workflows/architect-audit-run.md +14 -0
  31. package/workflows/architect-decision.md +20 -0
  32. package/workflows/architect-design.md +15 -0
  33. package/workflows/architect-impact-levels.yaml +28 -0
  34. package/workflows/architect-impact.md +20 -0
  35. package/workflows/architect-spec.md +19 -0
  36. package/workflows/architect-status.md +21 -0
  37. package/commands/arch-audit.md +0 -10
  38. package/commands/arch-design.md +0 -10
  39. package/commands/arch-feature.md +0 -10
  40. package/skills/architecture-impact/SKILL.md +0 -68
  41. package/skills/audit-repository/SKILL.md +0 -53
  42. package/skills/feature-analysis/SKILL.md +0 -52
  43. package/skills/write-change-brief/SKILL.md +0 -63
@@ -0,0 +1,19 @@
1
+ # Workflow — Architect mode Architecture
2
+
3
+ Commande : **`kagents architect`** (voir `commands/architect.md`).
4
+
5
+ ## Objectif
6
+
7
+ Comprendre et documenter l'architecture **observee** du projet (pas une architecture ideale inventee).
8
+
9
+ ## Enchainement
10
+
11
+ 1. `agents/architect.md` + `rules/domains/architect-invariants.md`
12
+ 2. Skill `architect-discovery`
13
+ 3. Skill `architect-write-output` → `.kagents/docs/architect-docs/outputs/architecture/`
14
+ 4. Skill `architect-index` → mettre a jour `INDEX.md`
15
+ 5. Chat : contrat `rules/domains/architect-chat.md`
16
+
17
+ ## Livrable
18
+
19
+ Type : architecture. Niveau typique : L0 (ajuster si l'audit revele un changement planifie).
@@ -0,0 +1,14 @@
1
+ # Workflow — kagents architect:audit
2
+
3
+ ## Objectif
4
+
5
+ Auditer l'architecture **existante** (derive, ecart doc/code, couplage) — pas modifier le code.
6
+
7
+ ## Enchainement
8
+
9
+ 1. `agents/architect.md` + invariants
10
+ 2. `architect-audit` — scope = argument commande si present
11
+ 3. Documenter findings observes uniquement
12
+ 4. `architect-write-output` → `outputs/audits/`, type `audit`
13
+ 5. `architect-index`
14
+ 6. Chat : `architect-chat.md`
@@ -0,0 +1,20 @@
1
+ # Workflow — kagents architect:decision
2
+
3
+ ## Objectif
4
+
5
+ Enregistrer une **decision humaine** (argument utilisateur = texte a enregistrer, pas a debattre).
6
+
7
+ ## Gouvernance
8
+
9
+ - L'agent **ne valide pas** seul une recommandation : la commande implique confirmation humaine explicite.
10
+ - Statut par defaut a l'enregistrement : **VALIDEE** (sauf indication contraire dans la commande : « rejet », « remplace DEC-00X »).
11
+
12
+ ## Enchainement
13
+
14
+ 1. `agents/architect.md` + invariants
15
+ 2. Skill `architect-decision`
16
+ 3. Chat : synthese (ID, statut, chemin) — pas recopie integrale
17
+
18
+ ## Remplacement
19
+
20
+ Nouveau fichier DEC-YYY ; ancien fichier mis a jour statut **REMPLACEE** + lien `Remplace par : DEC-YYY` — jamais supprimer l'ancien.
@@ -0,0 +1,15 @@
1
+ # Workflow — kagents architect:design
2
+
3
+ ## Objectif
4
+
5
+ Proposer une **architecture cible** pour un objectif — distincte de l'architecture observee (`kagents architect`).
6
+
7
+ ## Enchainement
8
+
9
+ 1. `agents/architect.md` + invariants
10
+ 2. `architect-discovery` — resumer existant pertinent (reference, pas recopie integrale)
11
+ 3. Rediger options / cible / compromis via `templates/architect-design/template.md`
12
+ 4. Toute option = **PROPOSITION** ; decisions = **A VALIDER**
13
+ 5. `architect-write-output` → `outputs/designs/`, type `design`
14
+ 6. `architect-index`
15
+ 7. Chat : `architect-chat.md`
@@ -0,0 +1,28 @@
1
+ # Niveaux d'impact — role Architect / Spec uniquement
2
+ # Reference : agents/architect.md
3
+ #
4
+ # Distinct de workflows/impact-levels.yaml (pipeline global, autre semantique L0,
5
+ # roles Developer/Reviewer). Pour une analyse Architect, utiliser CE fichier.
6
+
7
+ levels:
8
+ L0:
9
+ label: Comprehension / documentation
10
+ description: >
11
+ Aucune modification architecturale significative. Comprendre, documenter
12
+ ou expliquer l'existant.
13
+
14
+ L1:
15
+ label: Impact local
16
+ description: >
17
+ Impact limite a une zone ou un composant clairement delimite.
18
+
19
+ L2:
20
+ label: Impact transversal
21
+ description: >
22
+ Plusieurs couches, modules ou contrats concernes. Coordination multi-domaines.
23
+
24
+ L3:
25
+ label: Impact systemique
26
+ description: >
27
+ Architecture globale, donnees critiques, contrats partages, securite importante,
28
+ performance structurante, infrastructure, integrations externes ou domaines fortement couples.
@@ -0,0 +1,20 @@
1
+ # Workflow — Architect mode Impact
2
+
3
+ Commande : **`kagents architect:impact "<demande>"`** (voir `commands/architect-impact.md`).
4
+
5
+ ## Objectif
6
+
7
+ Analyser l'impact d'une evolution avant developpement.
8
+
9
+ ## Enchainement
10
+
11
+ 1. `agents/architect.md` + invariants
12
+ 2. `architect-audit` si repo ou domaine peu connu
13
+ 3. `architect-impact` (procedure complete)
14
+ 4. `architect-write-output` → `outputs/features/` (evolution fonctionnelle) ou `outputs/impacts/` (impact general)
15
+ 5. `architect-index`
16
+ 6. Chat : `rules/domains/architect-chat.md`
17
+
18
+ ## Handoff
19
+
20
+ Document persistant → Base (Database Expert) si Modele concerne → Developer (mention only, role hors perimetre).
@@ -0,0 +1,19 @@
1
+ # Workflow — kagents architect:spec
2
+
3
+ ## Objectif
4
+
5
+ Formaliser une **spec** (comportement attendu) distincte de l'**impact** (ce que ca touche).
6
+
7
+ ## Enchainement
8
+
9
+ 1. `agents/architect.md` + invariants
10
+ 2. `architect-audit` si contexte insuffisant
11
+ 3. `architect-impact` — remplir uniquement parties impact / MVC / L0–L3 / risques (pas substitut a la spec)
12
+ 4. Rediger sections **Spec** via `templates/architect-spec/template.md`
13
+ 5. `architect-write-output` → `outputs/specs/`, type `spec`
14
+ 6. `architect-index`
15
+ 7. Chat : `architect-chat.md`
16
+
17
+ ## Regles
18
+
19
+ Ne pas inventer regles metier. Qualifier ETABLI / INCONNU.
@@ -0,0 +1,21 @@
1
+ # Workflow — kagents architect:status
2
+
3
+ ## Objectif
4
+
5
+ Vue **read-only** de l'etat documentaire Architect (pas d'audit repo complet).
6
+
7
+ ## Enchainement
8
+
9
+ 1. `agents/architect.md` + invariants
10
+ 2. Skill `architect-status`
11
+ 3. Chat : format pilotage (pas de livrable persistant obligatoire)
12
+
13
+ ## Lecture (ordre)
14
+
15
+ 1. `.kagents/docs/architect-docs/INDEX.md`
16
+ 2. `decisions/` (fichiers DEC-*.md)
17
+ 3. `proposals/` si present
18
+ 4. Derniers chemins cites dans INDEX (outputs) — lire entete/metadonnees seulement si necessaire
19
+ 5. Code : **uniquement** si incohérence documentaire a verifier
20
+
21
+ Principe : lire peu, synthetiser juste.
@@ -1,10 +0,0 @@
1
- ---
2
- description: Architect — état des lieux d'un projet existant
3
- agent: architect
4
- mode: B (Projet existant)
5
- triggers: analyse mon projet existant, cartographie le repo, onboarding
6
- ---
7
- Lis `.kagents/agents/architect.md` et applique-le en **situation B. Projet existant**.
8
- Charge ensuite uniquement les skills que cette situation indique, depuis `.kagents/skills/`.
9
-
10
- Demande de l'utilisateur : $ARGUMENTS
@@ -1,10 +0,0 @@
1
- ---
2
- description: Architect — cadrage d'un nouveau projet
3
- agent: architect
4
- mode: A (Nouveau projet)
5
- triggers: cadre mon nouveau projet, architecture d'un nouveau projet
6
- ---
7
- Lis `.kagents/agents/architect.md` et applique-le en **situation A. Nouveau projet**.
8
- Charge ensuite uniquement les skills que cette situation indique, depuis `.kagents/skills/`.
9
-
10
- Demande de l'utilisateur : $ARGUMENTS
@@ -1,10 +0,0 @@
1
- ---
2
- description: Architect — analyse d'une fonctionnalité ou modification
3
- agent: architect
4
- mode: C (Feature / modification)
5
- triggers: analyse cette fonctionnalité, impact d'un changement, cadre ce ticket
6
- ---
7
- Lis `.kagents/agents/architect.md` et applique-le en **situation C. Feature / modification**.
8
- Charge ensuite uniquement les skills que cette situation indique, depuis `.kagents/skills/`.
9
-
10
- Demande de l'utilisateur : $ARGUMENTS
@@ -1,68 +0,0 @@
1
- ---
2
- name: architecture-impact
3
- description: >-
4
- Evalue impacts multi-axes (metier, archi, BDD, backend, frontend, securite,
5
- perf, cout) et determine le niveau L0-L3 avec justification. A utiliser apres
6
- feature-analysis ou audit-repository.
7
- ---
8
-
9
- # Architecture impact
10
-
11
- ## Quand utiliser
12
-
13
- - Apres comprehension initiale de la demande (`feature-analysis` ou `audit-repository`).
14
- - Des qu'un doute existe sur L1 vs L2 vs L3.
15
- - Avant `write-change-brief` pour L2+.
16
-
17
- Reference canonique des niveaux : `workflows/impact-levels.yaml`.
18
-
19
- ## Prerequis
20
-
21
- - Goal et perimetre connus (meme partiellement).
22
- - Findings existant disponibles ou N/A (nouveau projet greenfield).
23
-
24
- ## Fichiers a lire
25
-
26
- - `workflows/impact-levels.yaml`
27
- - Projet : `schema.yaml`, ADR liees, `STATE.md` (zones protegees)
28
- - `checklists/catalyst-change.md` si stack Catalyst probable
29
- - `standards/README.md` — ouvrir un standard domaine **seulement** si l'impact de ce domaine est non trivial
30
-
31
- ## Etapes
32
-
33
- 1. Remplir **Impact** (une ligne ou courte liste par axe ; « None » si vraiment aucun) :
34
-
35
- | Axe | Contenu attendu |
36
- |-----|-----------------|
37
- | Business | regles, acteurs, changement comportement |
38
- | Architecture | modules, boundaries, nouveaux composants |
39
- | Database | voir formulations types dans `agents/architect.md` ; pas de DDL |
40
- | Backend | API, jobs, integrations |
41
- | Frontend | ecrans, etat, UX |
42
- | Security | auth, permissions, donnees sensibles, nouvelles API |
43
- | Performance | volume, latence, requetes repetees |
44
- | Cost | Catalyst / infra ; signalement analyse detaillee si besoin |
45
-
46
- 2. **Choisir L0–L3** et remplir **Why** en 1–3 phrases.
47
-
48
- Guide rapide :
49
-
50
- - **L0** : local, pas API/BDD/archi/permissions.
51
- - **L1** : feature localisee, contrat stable.
52
- - **L2** : BDD, API, multi-modules ou multi-couches.
53
- - **L3** : archi structurante, migration sensible, permissions majeures, securite critique, changement metier majeur.
54
-
55
- 3. **Proposal** : option retenue (simple par defaut) + alternatives ecartees en une phrase si utile.
56
- 4. **Decisions** : separer Accepted / To validate / Existing preserved.
57
- 5. **Risks / Exceptions** : regression, duplication data, hypothese non validee.
58
- 6. **Acceptance Criteria** : testables, orientes metier/tech sans implementation detaillee.
59
-
60
- ## Resultat attendu
61
-
62
- - Sections Impact, Impact Level, Proposal, Decisions, Acceptance Criteria, Risks de l'**Architect Analysis** completees.
63
- - Indication explicite : Database Architect requis (oui/non), ADR requise (oui/non), validation humaine (selon L2/L3).
64
-
65
- ## Proportionnalite
66
-
67
- - L0/L1 : Impact peut etre bref ; pas de Change Brief obligatoire sauf equipe l'exige.
68
- - L2/L3 : Impact complet ; Change Brief + validation selon `impact-levels.yaml`.
@@ -1,53 +0,0 @@
1
- ---
2
- name: audit-repository
3
- description: >-
4
- Cartographie un projet existant ou un codebase avant changement (situation B,
5
- ou A avec code deja present). Stack, modules, flux, ADR, zones protegees.
6
- Sortie synthese pour Architect Analysis ou onboarding.
7
- ---
8
-
9
- # Audit repository
10
-
11
- ## Quand utiliser
12
-
13
- - **Projet existant** : onboarding, audit initial, avant grosse feature (situation **B**).
14
- - **Nouveau projet** avec code deja present (legacy, template, fork) — situation **A** partielle.
15
- - Avant `feature-analysis` si l'agent ne connait pas la structure du repo.
16
-
17
- Ne pas remplacer une exploration exhaustive : produire une **synthese actionnable** pour l'Architect.
18
-
19
- ## Prerequis
20
-
21
- - Racine du repo projet identifiee.
22
- - Lire d'abord les artefacts projet avant le code.
23
-
24
- ## Fichiers a lire (ordre)
25
-
26
- 1. `AGENTS.md`, `STATE.md`, `project.yaml`
27
- 2. `business-rules.md`, `glossary.md`, `schema.yaml`, `debt.yaml` (si present)
28
- 3. ADR dans le repo (souvent `docs/adr/` ou racine — chercher `ADR` par nom, limiter aux 5–10 plus recents ou pertinents)
29
- 4. Manifestes stack : `package.json`, `composer.json`, `catalyst.json`, README projet, configs deploy — **ceux presents uniquement**
30
- 5. Code : arborescence de premier niveau + dossiers mentionnes dans STATE/debt ; approfondir seulement les zones liees a la demande courante
31
-
32
- Harness : `workflows/existing-project.md` pour alignement processus.
33
-
34
- ## Etapes
35
-
36
- 1. **Stack** : langages, frameworks, hebergement (dont Catalyst si indices).
37
- 2. **Architecture actuelle** : decoupage modules / couches en 5–15 lignes max.
38
- 3. **Flux principaux** touches ou a risque (si demande connue) ; sinon flux generiques entree/sortie.
39
- 4. **Decisions** : ADR acceptees resumees ; contradictions possibles avec la demande.
40
- 5. **Zones protegees** : depuis `STATE.md` ou deduction explicite *hypothesis*.
41
- 6. **Fichiers / composants cles** : liste courte avec role (pas dump de tree).
42
- 7. **Dette** : pointer `debt.yaml` ou observations majeures si visibles sans lire tout le code.
43
- 8. Integrer les findings dans **Architect Analysis** → sections Context, Found, Artifacts.
44
-
45
- ## Resultat attendu
46
-
47
- - Section **Found** et **Artifacts** de l'Architect Analysis remplies.
48
- - **Next Step** : feature-analysis, architecture-impact, ou write-change-brief selon la demande suivante.
49
-
50
- ## Limites
51
-
52
- - Pas de refactoring propose dans l'audit.
53
- - Pas de revue securite complete (signaler surfaces evidentes seulement).
@@ -1,52 +0,0 @@
1
- ---
2
- name: feature-analysis
3
- description: >-
4
- Analyse une nouvelle fonctionnalite ou modification fonctionnelle avant
5
- implementation. Utiliser pour situation C (feature) ou clarification de
6
- demande sur projet existant. Produit une Architect Analysis ou alimente
7
- write-change-brief.
8
- ---
9
-
10
- # Feature analysis
11
-
12
- ## Quand utiliser
13
-
14
- - Nouvelle fonctionnalite ou evolution d'une existante (situation **C**).
15
- - Demande ambigue necessitant cadrage avant dev.
16
- - **Ne pas** utiliser seul pour L0 correctif trivial (workflow `bug-local.md`) : renvoyer Developer sauf doute sur le niveau.
17
-
18
- ## Prerequis
19
-
20
- - Demande utilisateur ou ticket identifiable.
21
- - Repo projet accessible avec artefacts de base (`STATE.md` ideal).
22
-
23
- ## Fichiers a lire (minimal, puis elargir si besoin)
24
-
25
- 1. Projet : `AGENTS.md`, `STATE.md`, `business-rules.md`, `glossary.md`
26
- 2. ADR / Change Brief ouverts lies au sujet
27
- 3. `schema.yaml` si la demande touche donnees ou entites metier
28
- 4. Code : uniquement modules, routes, ecrans ou APIs **nommes** dans la demande ou deduits apres premiere passe
29
-
30
- References harness : `agents/architect.md`, `workflows/impact-levels.yaml`.
31
-
32
- ## Etapes
33
-
34
- 1. **Goal** : objectif, utilisateurs, resultat attendu cote utilisateur.
35
- 2. **Perimetre** : in scope / out of scope explicites.
36
- 3. **Regles metier** : extraire de `business-rules.md` et glossary ; signaler lacunes (questions ou hypotheses).
37
- 4. **Entites et dependances** : noms metier ; pas de schema detaille — noter « Database Architect si L2+ ».
38
- 5. **Existant** : composants, flux, API deja en place a reutiliser ; zones protegees (`STATE.md`).
39
- 6. **Simplicite** : solution minimale ; justifier toute nouvelle couche/table/service.
40
- 7. Invoquer **`architecture-impact`** pour Impact + niveau L0–L3.
41
- 8. Remplir le format **Architect Analysis** (`agents/architect.md`).
42
- 9. Si L2+ ou changement significatif L1 : enchainer **`write-change-brief`**.
43
-
44
- ## Resultat attendu
45
-
46
- - **Architect Analysis** complete (sections vides ou N/A si non pertinent).
47
- - Liste de **questions metier** seulement si bloquantes.
48
- - **Next Step** clair (ex. validation Change Brief, Database Architect, Developer).
49
-
50
- ## Standards / rules
51
-
52
- Charger `standards/` uniquement si le sujet l'exige (securite, catalyst). Index : `standards/README.md`.
@@ -1,63 +0,0 @@
1
- ---
2
- name: write-change-brief
3
- description: >-
4
- Redige un Change Brief dans le repository projet a partir d'une Architect
5
- Analysis. Utiliser pour L2+ ou changement L1 significatif. Template harness
6
- templates/change-brief/template.md.
7
- ---
8
-
9
- # Write Change Brief
10
-
11
- ## Quand utiliser
12
-
13
- - **L2 ou L3** (obligatoire processus : `workflows/impact-levels.yaml`).
14
- - **L1** si le changement touche contrat API, regles metier nouvelles, ou equipe exige trace ecrite.
15
- - Apres **`architecture-impact`** (Architect Analysis a jour).
16
-
17
- Ne pas confondre avec l'ADR : Change Brief = cadre du changement ; ADR = decision structurante (L3 typiquement), template `templates/adr/template.md`, statut **propose**.
18
-
19
- ## Prerequis
20
-
21
- - Architect Analysis complete ou sections Goal, Impact, Impact Level, Proposal, Decisions, Acceptance Criteria remplies.
22
- - Emplacement projet choisi (convention equipe : ex. `docs/changes/YYYY-MM-DD-titre.md` ou `change-briefs/` — **dans le repo projet**, jamais dans le harness).
23
-
24
- ## Fichiers a lire
25
-
26
- - Harness : `templates/change-brief/template.md`, `governance/actions.yaml`
27
- - Projet : ADR existantes pour liens croises
28
-
29
- ## Etapes
30
-
31
- 1. Copier la structure du **template** et adapter le titre.
32
- 2. Renseigner metadonnees : niveau L0–L3, auteur (agent + validateur humain prevu), date.
33
- 3. Mapper le contenu depuis l'Architect Analysis :
34
-
35
- | Change Brief (template) | Source Analysis |
36
- |-------------------------|-----------------|
37
- | Besoin | Goal + Context |
38
- | Perimetre | Goal (in/out) + Found |
39
- | Impacts | Impact (tous axes) |
40
- | Plan | Next Step + Proposal (phases courtes) |
41
- | Validation | Decisions To validate ; cocher humain si L2/L3 |
42
-
43
- 4. Ajouter dans le corps du document (sections libres si utile, rester concis) :
44
-
45
- - Regles metier concernees
46
- - Hors perimetre explicite
47
- - Donnees / entites (niveau Architect, pas schema detaille)
48
- - Dependances et regression
49
- - Criteres d'acceptation (liste Analysis)
50
- - Artefacts a consulter (liste Analysis)
51
- - Risques / exceptions
52
-
53
- 5. Toute decision nouvelle : libelle **proposition — a valider**, jamais « decide » sans ADR acceptee ou accord humain documente.
54
- 6. L3 : mentionner brouillon ADR associe ou lien a creer.
55
-
56
- ## Resultat attendu
57
-
58
- - Fichier Change Brief **dans le repo projet**, pret pour revue humaine (L2 propose, L3 requis).
59
- - **Next Step** dans l'Analysis mise a jour : ex. « Validation Change Brief », « Database Architect sur schema », « Developer apres validation ».
60
-
61
- ## Gouvernance
62
-
63
- Actions sensibles : `governance/actions.yaml` — l'agent **propose** le fichier ; merge / validation selon processus equipe.