@ludecker/aaac 1.0.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 +60 -0
- package/package.json +38 -0
- package/src/cli.mjs +138 -0
- package/src/generators/generate-commands.mjs +165 -0
- package/src/generators/generate-graph-commands.mjs +63 -0
- package/src/generators/generate-graph.mjs +242 -0
- package/src/lib/copy.mjs +36 -0
- package/src/lib/install.mjs +76 -0
- package/src/lib/paths.mjs +54 -0
- package/templates/cursor/aaac/capabilities/registry.json +106 -0
- package/templates/cursor/aaac/contract-schema.md +66 -0
- package/templates/cursor/aaac/contracts/commands/create-module.yaml +28 -0
- package/templates/cursor/aaac/contracts/commands/fix-bug.yaml +32 -0
- package/templates/cursor/aaac/contracts/commands/update-module.yaml +28 -0
- package/templates/cursor/aaac/contracts/skills/impact-analysis.yaml +17 -0
- package/templates/cursor/aaac/contracts/skills/investigation-lite.yaml +17 -0
- package/templates/cursor/aaac/contracts/skills/investigation.yaml +17 -0
- package/templates/cursor/aaac/contracts/skills/validation.yaml +14 -0
- package/templates/cursor/aaac/dependencies.yaml +14 -0
- package/templates/cursor/aaac/dispatch.md +135 -0
- package/templates/cursor/aaac/fitness-functions.yaml +34 -0
- package/templates/cursor/aaac/governance/gates.json +39 -0
- package/templates/cursor/aaac/graph.project.yaml +161 -0
- package/templates/cursor/aaac/layers.md +93 -0
- package/templates/cursor/aaac/lifecycle/lifecycle.json +78 -0
- package/templates/cursor/aaac/lifecycle/phases.json +19 -0
- package/templates/cursor/aaac/ontology.json +219 -0
- package/templates/cursor/aaac/ontology.md +90 -0
- package/templates/cursor/aaac/project.config.json +3 -0
- package/templates/cursor/aaac/run/RUN.md +72 -0
- package/templates/cursor/aaac/run/schema.json +83 -0
- package/templates/cursor/aaac/state/checkpoints/README.md +20 -0
- package/templates/cursor/agents/boundary-review.md +11 -0
- package/templates/cursor/agents/check-capability-trace.md +18 -0
- package/templates/cursor/agents/dependency-analysis.md +11 -0
- package/templates/cursor/agents/discovery-boundaries.md +11 -0
- package/templates/cursor/agents/discovery-inventory.md +14 -0
- package/templates/cursor/agents/discovery-ssot.md +11 -0
- package/templates/cursor/agents/fallow-check-changed.md +9 -0
- package/templates/cursor/agents/impact-analysis.md +22 -0
- package/templates/cursor/agents/plan-layer-map.md +11 -0
- package/templates/cursor/agents/plan-state-machines.md +11 -0
- package/templates/cursor/agents/release-git.md +36 -0
- package/templates/cursor/agents/system-decomposition.md +11 -0
- package/templates/cursor/agents/unit-test-run.md +19 -0
- package/templates/cursor/policies/implementation.md +8 -0
- package/templates/cursor/policies/master-rules.md +7 -0
- package/templates/cursor/skills/shared/api/SKILL.md +26 -0
- package/templates/cursor/skills/shared/architecture/SKILL.md +25 -0
- package/templates/cursor/skills/shared/architecture/orchestrator/SKILL.md +21 -0
- package/templates/cursor/skills/shared/architecture/refactor-analysis.md +302 -0
- package/templates/cursor/skills/shared/check/SKILL.md +47 -0
- package/templates/cursor/skills/shared/component/SKILL.md +24 -0
- package/templates/cursor/skills/shared/dependency-graph/SKILL.md +38 -0
- package/templates/cursor/skills/shared/discovery/SKILL.md +29 -0
- package/templates/cursor/skills/shared/documentation/SKILL.md +21 -0
- package/templates/cursor/skills/shared/documentation/orchestrator/SKILL.md +26 -0
- package/templates/cursor/skills/shared/documentation/orchestrator/contract.yaml +20 -0
- package/templates/cursor/skills/shared/documentation/write-arch-doc.md +168 -0
- package/templates/cursor/skills/shared/domain/SKILL.md +24 -0
- package/templates/cursor/skills/shared/execution/SKILL.md +34 -0
- package/templates/cursor/skills/shared/fitness-functions/SKILL.md +42 -0
- package/templates/cursor/skills/shared/governance/implementation/SKILL.md +424 -0
- package/templates/cursor/skills/shared/impact-analysis/SKILL.md +44 -0
- package/templates/cursor/skills/shared/integration/SKILL.md +22 -0
- package/templates/cursor/skills/shared/investigation/SKILL.md +46 -0
- package/templates/cursor/skills/shared/investigation/orchestrator/SKILL.md +22 -0
- package/templates/cursor/skills/shared/investigation-lite/SKILL.md +38 -0
- package/templates/cursor/skills/shared/migration/SKILL.md +22 -0
- package/templates/cursor/skills/shared/model/SKILL.md +22 -0
- package/templates/cursor/skills/shared/module-authoring/SKILL.md +29 -0
- package/templates/cursor/skills/shared/module-authoring/authoring-template.md +9 -0
- package/templates/cursor/skills/shared/planning/SKILL.md +30 -0
- package/templates/cursor/skills/shared/platform-release/SKILL.md +46 -0
- package/templates/cursor/skills/shared/platform-release/orchestrator/SKILL.md +51 -0
- package/templates/cursor/skills/shared/platform-release/orchestrator/contract.yaml +29 -0
- package/templates/cursor/skills/shared/platform-release/ship-procedure.md +31 -0
- package/templates/cursor/skills/shared/remove/SKILL.md +28 -0
- package/templates/cursor/skills/shared/reporting/SKILL.md +43 -0
- package/templates/cursor/skills/shared/rollback/SKILL.md +46 -0
- package/templates/cursor/skills/shared/root-cause/SKILL.md +24 -0
- package/templates/cursor/skills/shared/run/SKILL.md +64 -0
- package/templates/cursor/skills/shared/schema/SKILL.md +24 -0
- package/templates/cursor/skills/shared/testing/SKILL.md +24 -0
- package/templates/cursor/skills/shared/testing/orchestrator/SKILL.md +22 -0
- package/templates/cursor/skills/shared/validation/SKILL.md +56 -0
- package/templates/cursor/skills/shared/verbs/_dispatch-utils.md +90 -0
- package/templates/cursor/skills/shared/verbs/_lifecycle.md +87 -0
- package/templates/cursor/skills/shared/verbs/_object-skills.md +60 -0
- package/templates/cursor/skills/shared/verbs/check/orchestrator/SKILL.md +22 -0
- package/templates/cursor/skills/shared/verbs/check/orchestrator/contract.yaml +24 -0
- package/templates/cursor/skills/shared/verbs/create/orchestrator/SKILL.md +39 -0
- package/templates/cursor/skills/shared/verbs/create/orchestrator/contract.yaml +34 -0
- package/templates/cursor/skills/shared/verbs/fix/orchestrator/SKILL.md +33 -0
- package/templates/cursor/skills/shared/verbs/fix/orchestrator/contract.yaml +38 -0
- package/templates/cursor/skills/shared/verbs/release/orchestrator/SKILL.md +29 -0
- package/templates/cursor/skills/shared/verbs/release/orchestrator/contract.yaml +25 -0
- package/templates/cursor/skills/shared/verbs/remove/orchestrator/SKILL.md +25 -0
- package/templates/cursor/skills/shared/verbs/remove/orchestrator/contract.yaml +32 -0
- package/templates/cursor/skills/shared/verbs/review/orchestrator/SKILL.md +24 -0
- package/templates/cursor/skills/shared/verbs/review/orchestrator/contract.yaml +25 -0
- package/templates/cursor/skills/shared/verbs/test/orchestrator/SKILL.md +24 -0
- package/templates/cursor/skills/shared/verbs/test/orchestrator/contract.yaml +25 -0
- package/templates/cursor/skills/shared/verbs/update/orchestrator/SKILL.md +34 -0
- package/templates/cursor/skills/shared/verbs/update/orchestrator/contract.yaml +34 -0
- package/templates/cursor/skills/shared/verification/SKILL.md +28 -0
- package/templates/cursor/skills/shared/workflow/SKILL.md +25 -0
- package/templates/docs/agentic_architecture.md +131 -0
- package/templates/docs/architecture.md +5 -0
- package/templates/docs/master_rules.md +5 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# AAAC ontology (first principles)
|
|
2
|
+
|
|
3
|
+
SSOT: [ontology.json](ontology.json). Regenerate graph and commands:
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
node .cursor/aaac/generate-graph.mjs
|
|
7
|
+
node .cursor/aaac/generate-commands.mjs
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Hierarchy (how developers already think)
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
function → component → module → feature → domain → system
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Four layers in the graph:
|
|
17
|
+
|
|
18
|
+
| Layer | Objects | Examples |
|
|
19
|
+
|-------|---------|----------|
|
|
20
|
+
| **code** | function, component, module | `/fix-function`, `/review-component`, `/update-module` |
|
|
21
|
+
| **data** | schema, model, migration | `/update-schema`, `/create-migration` |
|
|
22
|
+
| **product** | feature, workflow, integration | `/create-feature`, `/check-workflow` |
|
|
23
|
+
| **system** | app, domain, architecture | `/release-app`, `/update-domain`, `/review-architecture` |
|
|
24
|
+
|
|
25
|
+
## Verbs (unchanged)
|
|
26
|
+
|
|
27
|
+
create · update · fix · review · check · test · release · remove
|
|
28
|
+
|
|
29
|
+
## Ludecker domains
|
|
30
|
+
|
|
31
|
+
| Slug | Bounded context |
|
|
32
|
+
|------|-----------------|
|
|
33
|
+
| `cms` | `apps/website` — public site + CMS admin |
|
|
34
|
+
| `ui` | `packages/ui` — design system |
|
|
35
|
+
| `database` | `supabase/migrations` — schema, RLS, type mirrors |
|
|
36
|
+
|
|
37
|
+
## Granular aliases
|
|
38
|
+
|
|
39
|
+
Finer nouns (api, endpoint, hook, spec, skill, graph, …) map to a canonical command — see `command_aliases` in [ontology.json](ontology.json). Examples:
|
|
40
|
+
|
|
41
|
+
| You type | Resolves to |
|
|
42
|
+
|----------|-------------|
|
|
43
|
+
| `/update-api` | `update-integration` |
|
|
44
|
+
| `/fix-hook` | `fix-function` |
|
|
45
|
+
| `/update-doc` | `update-architecture` |
|
|
46
|
+
| `/update-design` | `update-component` (cms/ui resolver) |
|
|
47
|
+
| `/check-inventory` | `check-module` |
|
|
48
|
+
| `/create-skill` | `create-module` |
|
|
49
|
+
| `/ship-ludecker` | `release-app` |
|
|
50
|
+
|
|
51
|
+
## Exceptions
|
|
52
|
+
|
|
53
|
+
| Command | Note |
|
|
54
|
+
|---------|------|
|
|
55
|
+
| `fix-bug` | Defect repair; domain resolver (`cms`, `ui`, `database`); unknown slug → `verb-fix` |
|
|
56
|
+
| `review-incident` | Production/deploy incident (`swarm-check` alias) |
|
|
57
|
+
| `test-function` | Journey verification (dedicated orchestrator) |
|
|
58
|
+
| `release-app` | Full platform ship (`ship-ludecker` alias) |
|
|
59
|
+
| `write-article` | Content research swarm → CMS persist |
|
|
60
|
+
|
|
61
|
+
## Invalid `release-*`
|
|
62
|
+
|
|
63
|
+
Use `release-app`, `release-feature`, or `release-integration` — not `release-function`, `release-module`, `release-schema`, etc. (see `invalid_pairs` in graph).
|
|
64
|
+
|
|
65
|
+
## Verb lifecycle and gates
|
|
66
|
+
|
|
67
|
+
**Work:** [lifecycle/lifecycle.json](lifecycle/lifecycle.json) → graph `verb_work_phases`
|
|
68
|
+
**Gates:** [governance/gates.json](governance/gates.json) → graph `governance_gate_stacks`
|
|
69
|
+
**Runtime (composed):** graph `verb_runtime` on Run at dispatch
|
|
70
|
+
**Run:** [run/schema.json](run/schema.json) — primary execution object
|
|
71
|
+
|
|
72
|
+
Phase → skill: [lifecycle/phases.json](lifecycle/phases.json)
|
|
73
|
+
|
|
74
|
+
## Object capabilities
|
|
75
|
+
|
|
76
|
+
Ontology declares `object_capabilities` per object. Graph resolves to provider skills via [capabilities/registry.json](capabilities/registry.json). Generated `object_skills` in graph.yaml is derived — do not edit by hand.
|
|
77
|
+
|
|
78
|
+
Example: `component` → `[component-model, layer-boundaries, ui-design]` → `[component, architecture, ludecker-design-system]`
|
|
79
|
+
|
|
80
|
+
## Domain argument
|
|
81
|
+
|
|
82
|
+
- **Required:** `update-module`, `update-domain`, …
|
|
83
|
+
- **Optional:** `*-function`, `review-incident`, `write-article`
|
|
84
|
+
|
|
85
|
+
## Manual commands (not in graph)
|
|
86
|
+
|
|
87
|
+
| Command | Purpose |
|
|
88
|
+
|---------|---------|
|
|
89
|
+
| `/launch-ludecker` | Local dev: kill stale processes, clean `.next`, start `pnpm dev` |
|
|
90
|
+
| `/kill-ludecker` | Kill local dev port listeners |
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Run — primary execution object
|
|
2
|
+
|
|
3
|
+
**Every AAAC command executes within a Run.** There is no standalone lifecycle execution or standalone logging.
|
|
4
|
+
|
|
5
|
+
Schema: [schema.json](schema.json)
|
|
6
|
+
|
|
7
|
+
## Create Run (dispatch step 2.5 — after graph resolve, before orchestrator)
|
|
8
|
+
|
|
9
|
+
1. Generate `run_id`: `run_{YYYYMMDD}_{short-slug}` or resume existing if user says `resume run_…`
|
|
10
|
+
2. Compose runtime phases from [lifecycle/lifecycle.json](../lifecycle/lifecycle.json) + [governance/gates.json](../governance/gates.json):
|
|
11
|
+
- `pending` = work phases through `plan` + gate stack + work phases from `execute`
|
|
12
|
+
3. Write manifest: `state/runs/{run_id}/run.json`
|
|
13
|
+
4. Set `status: running`, `phase: first pending item`, `phase_kind: work`
|
|
14
|
+
|
|
15
|
+
## Update Run (after every phase)
|
|
16
|
+
|
|
17
|
+
1. Append to `log[]`
|
|
18
|
+
2. Move phase from `pending` to `completed`
|
|
19
|
+
3. Write checkpoint: `state/runs/{run_id}/checkpoints/{phase}.json`
|
|
20
|
+
4. Store artifacts under `state/runs/{run_id}/artifacts/` — reference paths in `artifacts{}`
|
|
21
|
+
5. Append routing/capability choices to `decisions[]`
|
|
22
|
+
6. Persist `run.json`
|
|
23
|
+
|
|
24
|
+
## Gate stack execution
|
|
25
|
+
|
|
26
|
+
After `plan` completes:
|
|
27
|
+
|
|
28
|
+
1. Set `phase_kind: gate`, `gates.stack` from lifecycle
|
|
29
|
+
2. Run each gate in [governance/gates.json](../governance/gates.json) order
|
|
30
|
+
3. On fail → `status: blocked`, `awaiting_approval: true`, `blocked_reason`, **STOP**
|
|
31
|
+
4. On pass → record in `gates.results`, continue to `execute`
|
|
32
|
+
|
|
33
|
+
## Human approval
|
|
34
|
+
|
|
35
|
+
When `awaiting_approval: true`:
|
|
36
|
+
|
|
37
|
+
```text
|
|
38
|
+
STOP — awaiting approval
|
|
39
|
+
Reason: {blocked_reason}
|
|
40
|
+
Run: {run_id}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
User approves → log decision, set `status: running`, `awaiting_approval: false`, retry or continue.
|
|
44
|
+
|
|
45
|
+
## Observability
|
|
46
|
+
|
|
47
|
+
All observability lives on the Run:
|
|
48
|
+
|
|
49
|
+
| Field | Purpose |
|
|
50
|
+
|-------|---------|
|
|
51
|
+
| `decisions[]` | Why route/capability/gate |
|
|
52
|
+
| `log[]` | Phase and skill events |
|
|
53
|
+
| `checkpoints[]` | Resume points |
|
|
54
|
+
|
|
55
|
+
**No** append to standalone `decision-log.md` or `execution-log.md`.
|
|
56
|
+
|
|
57
|
+
## Capability resolution (record on Run)
|
|
58
|
+
|
|
59
|
+
When resolving `object_capabilities` → providers:
|
|
60
|
+
|
|
61
|
+
```yaml
|
|
62
|
+
capabilities_resolved:
|
|
63
|
+
layer-boundaries:
|
|
64
|
+
providers: [architecture]
|
|
65
|
+
source: object module
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
MCP providers (type `mcp`) are recorded in decisions but do not map to graph skill keys.
|
|
69
|
+
|
|
70
|
+
## Report
|
|
71
|
+
|
|
72
|
+
Final phase writes `artifacts.report` and sets `status: completed`.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "aaac run — primary execution object",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"description": "Every command executes within a Run. No standalone execution or logging.",
|
|
5
|
+
"run": {
|
|
6
|
+
"run_id": "run_{timestamp}_{slug}",
|
|
7
|
+
"command": "string",
|
|
8
|
+
"verb": "string",
|
|
9
|
+
"object": "string | null",
|
|
10
|
+
"domain": "string | null",
|
|
11
|
+
"intent": "string",
|
|
12
|
+
"orchestrator": "string",
|
|
13
|
+
"status": "pending | running | blocked | completed | failed",
|
|
14
|
+
"phase": "string | null",
|
|
15
|
+
"phase_kind": "work | gate | null",
|
|
16
|
+
"awaiting_approval": false,
|
|
17
|
+
"blocked_reason": "string | null",
|
|
18
|
+
"completed": [],
|
|
19
|
+
"pending": [],
|
|
20
|
+
"decisions": [],
|
|
21
|
+
"artifacts": {},
|
|
22
|
+
"checkpoints": [],
|
|
23
|
+
"log": [],
|
|
24
|
+
"capabilities_resolved": {},
|
|
25
|
+
"confidence": {
|
|
26
|
+
"architecture": null,
|
|
27
|
+
"requirements": null,
|
|
28
|
+
"scope": null
|
|
29
|
+
},
|
|
30
|
+
"gates": {
|
|
31
|
+
"stack": "string | null",
|
|
32
|
+
"results": {}
|
|
33
|
+
},
|
|
34
|
+
"created_at": "iso8601",
|
|
35
|
+
"updated_at": "iso8601"
|
|
36
|
+
},
|
|
37
|
+
"storage": {
|
|
38
|
+
"root": "aaac/state/runs/{run_id}/",
|
|
39
|
+
"manifest": "run.json",
|
|
40
|
+
"artifacts_dir": "artifacts/",
|
|
41
|
+
"checkpoints_dir": "checkpoints/"
|
|
42
|
+
},
|
|
43
|
+
"decision_entry": {
|
|
44
|
+
"at": "iso8601",
|
|
45
|
+
"phase": "string",
|
|
46
|
+
"decision": "string",
|
|
47
|
+
"reason": "string",
|
|
48
|
+
"evidence": "string"
|
|
49
|
+
},
|
|
50
|
+
"log_entry": {
|
|
51
|
+
"at": "iso8601",
|
|
52
|
+
"phase": "string",
|
|
53
|
+
"phase_kind": "work | gate",
|
|
54
|
+
"skill": "string | null",
|
|
55
|
+
"event": "phase_start | phase_complete | gate_pass | gate_fail | blocked | resumed",
|
|
56
|
+
"detail": "string"
|
|
57
|
+
},
|
|
58
|
+
"checkpoint_entry": {
|
|
59
|
+
"phase": "string",
|
|
60
|
+
"at": "iso8601",
|
|
61
|
+
"artifact_refs": [],
|
|
62
|
+
"outputs_summary": "string"
|
|
63
|
+
},
|
|
64
|
+
"artifact_keys": [
|
|
65
|
+
"plan",
|
|
66
|
+
"investigation",
|
|
67
|
+
"root_cause",
|
|
68
|
+
"impact",
|
|
69
|
+
"dependency_graph",
|
|
70
|
+
"fitness",
|
|
71
|
+
"rollback",
|
|
72
|
+
"report"
|
|
73
|
+
],
|
|
74
|
+
"resume": {
|
|
75
|
+
"read_manifest": "state/runs/{run_id}/run.json",
|
|
76
|
+
"continue_from": "phase field when status running or blocked with user approval"
|
|
77
|
+
},
|
|
78
|
+
"human_approval": {
|
|
79
|
+
"when_blocked": "Set awaiting_approval true; do not execute until user approves in chat",
|
|
80
|
+
"on_approve": "status running; retry failed gate or continue pending",
|
|
81
|
+
"record_decision": "User approved gate {phase}: {reason}"
|
|
82
|
+
}
|
|
83
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Run checkpoints — per Run, per phase
|
|
2
|
+
|
|
3
|
+
Checkpoints live under each Run:
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
state/runs/{run_id}/
|
|
7
|
+
run.json
|
|
8
|
+
checkpoints/{phase}.json
|
|
9
|
+
artifacts/
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Gitignored except this README. Enables resume after gate block or crash.
|
|
13
|
+
|
|
14
|
+
Each checkpoint records:
|
|
15
|
+
- run_id, command, phase, timestamp
|
|
16
|
+
- outputs required by contracts/skills for that phase
|
|
17
|
+
- confidence, gate results when applicable
|
|
18
|
+
- next pending phase
|
|
19
|
+
|
|
20
|
+
Do not commit active runs to git.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Agent: check-capability-trace
|
|
2
|
+
|
|
3
|
+
**Readonly.** Do not edit files.
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
Answer whether the codebase supports the asked capability and how it is implemented.
|
|
8
|
+
|
|
9
|
+
Trace: entry points (UI, API, MCP, CLI) → handlers → domain logic → persistence/external calls.
|
|
10
|
+
|
|
11
|
+
## Return
|
|
12
|
+
|
|
13
|
+
- **Can do:** yes | no | partial (with conditions)
|
|
14
|
+
- **How:** numbered flow in product language
|
|
15
|
+
- Findings (bullets)
|
|
16
|
+
- Evidence (`path:line` for each claim)
|
|
17
|
+
- Gaps (unverified assumptions, missing tests, dead paths)
|
|
18
|
+
- Confidence: high | medium | low
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Agent: discovery-inventory
|
|
2
|
+
|
|
3
|
+
**Readonly.** Do not edit files.
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
Find all files, routes, tests, and migrations belonging to the target domain.
|
|
8
|
+
|
|
9
|
+
## Return
|
|
10
|
+
|
|
11
|
+
- Findings (bullets, product language in summary)
|
|
12
|
+
- Evidence (`path:line` for verification)
|
|
13
|
+
- Gaps (what could not be confirmed)
|
|
14
|
+
- Confidence: high | medium | low
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Agent: impact-analysis
|
|
2
|
+
|
|
3
|
+
**Readonly.** Do not edit files.
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
Given an approved plan, list affected domains/systems and risk categories.
|
|
8
|
+
|
|
9
|
+
## Inputs
|
|
10
|
+
|
|
11
|
+
- Plan summary (files, routes, migrations)
|
|
12
|
+
- [dependencies.yaml](../aaac/dependencies.yaml)
|
|
13
|
+
- Domain inventory constraints
|
|
14
|
+
|
|
15
|
+
## Return
|
|
16
|
+
|
|
17
|
+
```yaml
|
|
18
|
+
affected: [cms, ui, database, integration, ...]
|
|
19
|
+
risk: [migrations, breaking_contracts, auth, deployment]
|
|
20
|
+
blast_radius: low | medium | high
|
|
21
|
+
evidence: path:line bullets
|
|
22
|
+
```
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Agent: plan-layer-map
|
|
2
|
+
|
|
3
|
+
**Readonly** until parent approves plan.
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
Map user intent to layers (UI, store, domain, server, shared schemas). Flag files ≥80% size budget.
|
|
8
|
+
|
|
9
|
+
## Return
|
|
10
|
+
|
|
11
|
+
Proposed file list, layer per file, extraction needs, risks.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Agent: plan-state-machines
|
|
2
|
+
|
|
3
|
+
**Readonly.**
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
Does this change need explicit state machine transitions? Name states/events if yes.
|
|
8
|
+
|
|
9
|
+
## Return
|
|
10
|
+
|
|
11
|
+
Machine proposal or "local UI only", anti-patterns to avoid (race guards, useEffect orchestration).
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Agent: release-git
|
|
2
|
+
|
|
3
|
+
**Wave 1 — blocking.** Parent must not start Wave 2 until this agent returns success.
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
Commit and push all pending work to `main` for the Lüdecker monorepo.
|
|
8
|
+
|
|
9
|
+
## Inputs (from orchestrator)
|
|
10
|
+
|
|
11
|
+
- User intent (optional): e.g. "with tests" handled by preflight, not this agent
|
|
12
|
+
- `domain`: `production` (default)
|
|
13
|
+
- Flags from user message: `--no-commit`, `--message "…"`, `--dry-run`
|
|
14
|
+
|
|
15
|
+
## Procedure
|
|
16
|
+
|
|
17
|
+
Follow [ship-procedure.md § Git](../skills/shared/platform-release/ship-procedure.md).
|
|
18
|
+
|
|
19
|
+
**Repo check:** `git rev-parse --show-toplevel` must be the ludecker monorepo.
|
|
20
|
+
|
|
21
|
+
## Return
|
|
22
|
+
|
|
23
|
+
```yaml
|
|
24
|
+
status: success | failed
|
|
25
|
+
commit_sha: string
|
|
26
|
+
commit_message_first_line: string
|
|
27
|
+
commit_message_body: string
|
|
28
|
+
evidence: git log -1 output
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Rules
|
|
32
|
+
|
|
33
|
+
- Never force-push `main`
|
|
34
|
+
- Never skip hooks unless user explicitly requested
|
|
35
|
+
- Never stage `.env*` or service role keys
|
|
36
|
+
- On failure: stop pipeline; do not start Render agent
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Agent: unit-test-run
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
|
|
5
|
+
Run targeted tests for paths from domain inventory. Report pass/fail with test names.
|
|
6
|
+
|
|
7
|
+
## Lüdecker defaults
|
|
8
|
+
|
|
9
|
+
From repo root:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
pnpm typecheck
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
If domain inventory lists vitest/jest targets, run those instead.
|
|
16
|
+
|
|
17
|
+
## Return
|
|
18
|
+
|
|
19
|
+
Command run, exit code, failing test summary, suggested fix area (path only).
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Policy: Implementation governance
|
|
2
|
+
|
|
3
|
+
**Sources:**
|
|
4
|
+
|
|
5
|
+
- [{{DOCS_ROOT}}/architecture.md](../../{{DOCS_ROOT}}/architecture.md)
|
|
6
|
+
- [.cursor/skills/shared/governance/implementation/SKILL.md](../skills/shared/governance/implementation/SKILL.md)
|
|
7
|
+
|
|
8
|
+
Loaded on every mutating command. Architecture boundaries and SSOT rules apply before execute.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Policy: Master rules
|
|
2
|
+
|
|
3
|
+
**Source of truth:** [{{DOCS_ROOT}}/master_rules.md](../../{{DOCS_ROOT}}/master_rules.md)
|
|
4
|
+
|
|
5
|
+
All AAAC orchestrators, skills, and agents **must** comply. Domain skills cannot weaken these rules.
|
|
6
|
+
|
|
7
|
+
When `governance/implementation` or `execution` runs, master rules override convenience.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: shared-api
|
|
3
|
+
description: >-
|
|
4
|
+
HTTP routes, BFF handlers, request/response contracts. Used by verb orchestrators
|
|
5
|
+
when object is api. Not user-facing.
|
|
6
|
+
disable-model-invocation: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Shared API layer
|
|
10
|
+
|
|
11
|
+
## Scope
|
|
12
|
+
|
|
13
|
+
- `server/routes/`, route handlers, middleware
|
|
14
|
+
- Request validation (Zod/schemas at boundaries)
|
|
15
|
+
- Auth and project scoping on endpoints
|
|
16
|
+
- OpenAPI or shared route constants if present
|
|
17
|
+
|
|
18
|
+
## Execution focus
|
|
19
|
+
|
|
20
|
+
- One route family per change; no cross-cutting drive-by edits
|
|
21
|
+
- Validate at boundary; errors explicit and actionable
|
|
22
|
+
- CORS and origins per deploy policy
|
|
23
|
+
|
|
24
|
+
## Discovery / check angles
|
|
25
|
+
|
|
26
|
+
Map: method + path → handler → service → DB/external.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: shared-architecture-review
|
|
3
|
+
description: >-
|
|
4
|
+
SOLID, boundaries, decomposition review. Used by review-module. Readonly.
|
|
5
|
+
Not user-facing.
|
|
6
|
+
disable-model-invocation: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Shared architecture review
|
|
10
|
+
|
|
11
|
+
## When
|
|
12
|
+
|
|
13
|
+
`review-module` orchestrator. **Readonly** unless user also invoked a code command.
|
|
14
|
+
|
|
15
|
+
## Swarm
|
|
16
|
+
|
|
17
|
+
Parallel readonly agents per [boundary-review.md](../../../agents/boundary-review.md), [dependency-analysis.md](../../../agents/dependency-analysis.md), [system-decomposition.md](../../../agents/system-decomposition.md).
|
|
18
|
+
|
|
19
|
+
## Depth
|
|
20
|
+
|
|
21
|
+
For file-level SOLID/size detail, also read [refactor-analysis.md](refactor-analysis.md) for target path.
|
|
22
|
+
|
|
23
|
+
## Output
|
|
24
|
+
|
|
25
|
+
Prioritized findings: critical vs suggestion. No drive-by refactors unless user invoked `update-module` separately.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: review-module-orchestrator
|
|
3
|
+
description: Orchestrates review-module — architecture and quality analysis. Internal only.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# review-module orchestrator
|
|
8
|
+
|
|
9
|
+
## Parse
|
|
10
|
+
|
|
11
|
+
- **Domain:** slug or path hint
|
|
12
|
+
- **Intent:** quoted analysis goal
|
|
13
|
+
|
|
14
|
+
## Phases
|
|
15
|
+
|
|
16
|
+
1. Load domain inventory if slug maps in graph
|
|
17
|
+
2. [discovery](../discovery/SKILL.md) — readonly, focused scope
|
|
18
|
+
3. [architecture review](../SKILL.md)
|
|
19
|
+
4. [reporting](../reporting/SKILL.md)
|
|
20
|
+
|
|
21
|
+
No code changes in this command alone.
|