@dev-kosaly/kagents 0.1.0 → 0.2.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/README.md +99 -20
- package/agents/architect.md +84 -116
- package/bin/kagents.js +178 -15
- package/bin/postinstall.js +26 -0
- package/commands/architect-audit.md +17 -0
- package/commands/architect-compare.md +13 -0
- package/commands/architect-decision.md +20 -0
- package/commands/architect-design.md +18 -0
- package/commands/architect-impact.md +16 -0
- package/commands/architect-spec.md +18 -0
- package/commands/architect-status.md +26 -0
- package/commands/architect.md +20 -0
- package/docs/architect-commands.md +52 -0
- package/package.json +5 -2
- package/rules/domains/architect-chat.md +61 -0
- package/rules/domains/architect-invariants.md +22 -0
- package/skills/README.md +17 -20
- package/skills/architect-audit/SKILL.md +31 -0
- package/skills/architect-decision/SKILL.md +40 -0
- package/skills/architect-discovery/SKILL.md +43 -0
- package/skills/architect-impact/SKILL.md +32 -0
- package/skills/architect-index/SKILL.md +31 -0
- package/skills/architect-status/SKILL.md +41 -0
- package/skills/architect-write-output/SKILL.md +49 -0
- package/templates/architect-decision/template.md +47 -0
- package/templates/architect-design/template.md +31 -0
- package/templates/architect-index/INDEX.template.md +47 -0
- package/templates/architect-output/template.md +95 -0
- package/templates/architect-spec/template.md +39 -0
- package/workflows/architect-architecture.md +19 -0
- package/workflows/architect-audit-run.md +14 -0
- package/workflows/architect-decision.md +20 -0
- package/workflows/architect-design.md +15 -0
- package/workflows/architect-impact-levels.yaml +28 -0
- package/workflows/architect-impact.md +20 -0
- package/workflows/architect-spec.md +19 -0
- package/workflows/architect-status.md +21 -0
- package/commands/arch-audit.md +0 -10
- package/commands/arch-design.md +0 -10
- package/commands/arch-feature.md +0 -10
- package/skills/architecture-impact/SKILL.md +0 -68
- package/skills/audit-repository/SKILL.md +0 -53
- package/skills/feature-analysis/SKILL.md +0 -52
- package/skills/write-change-brief/SKILL.md +0 -63
|
@@ -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.
|
package/commands/arch-audit.md
DELETED
|
@@ -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
|
package/commands/arch-design.md
DELETED
|
@@ -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
|
package/commands/arch-feature.md
DELETED
|
@@ -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.
|