arey-pi 0.3.0 → 0.4.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.
@@ -0,0 +1,146 @@
1
+ # Arey Pi Templates
2
+
3
+ Arey Pi ships starter templates used by `/arey-bootstrap`.
4
+
5
+ Templates are intentionally useful but generic.
6
+ They should be edited after bootstrap to reflect the real project.
7
+
8
+ ## Template List
9
+
10
+ ```txt
11
+ templates/AGENTS.md
12
+ templates/adr.md
13
+ templates/feature.feature
14
+ templates/database.dbml
15
+ templates/glossary.md
16
+ templates/project-readiness-report.md
17
+ templates/specs-readme.md
18
+ templates/features-readme.md
19
+ templates/database-readme.md
20
+ templates/architecture-readme.md
21
+ templates/decisions-readme.md
22
+ templates/docs-readme.md
23
+ ```
24
+
25
+ ## Bootstrap Targets
26
+
27
+ `/arey-bootstrap` maps templates to project files:
28
+
29
+ ```txt
30
+ templates/AGENTS.md → AGENTS.md
31
+ templates/specs-readme.md → specs/README.md
32
+ templates/features-readme.md → specs/features/README.md
33
+ templates/feature.feature → specs/features/example.feature
34
+ templates/database-readme.md → specs/database/README.md
35
+ templates/database.dbml → specs/database/schema.dbml
36
+ templates/architecture-readme.md → specs/architecture/README.md
37
+ templates/decisions-readme.md → specs/decisions/README.md
38
+ templates/adr.md → specs/decisions/0001-record-architecture-decision.md
39
+ templates/glossary.md → specs/glossary.md
40
+ templates/docs-readme.md → docs/README.md
41
+ templates/project-readiness-report.md → docs/project-readiness-report.md
42
+ ```
43
+
44
+ Existing files are not overwritten unless `--force` is used.
45
+
46
+ ## `AGENTS.md`
47
+
48
+ The `AGENTS.md` template provides project-level AI harness instructions.
49
+
50
+ After bootstrap,
51
+ replace placeholders with real project commands:
52
+
53
+ - dependency installation;
54
+ - formatting;
55
+ - lint/static analysis;
56
+ - typecheck;
57
+ - tests;
58
+ - full validation;
59
+ - database validation when applicable.
60
+
61
+ Add local architecture,
62
+ safety,
63
+ and operational constraints.
64
+
65
+ Use nested `AGENTS.md` files for subtrees that need local instructions.
66
+
67
+ ## `feature.feature`
68
+
69
+ The Gherkin template includes:
70
+
71
+ - tags;
72
+ - a feature description;
73
+ - actor/outcome framing;
74
+ - a rule section;
75
+ - background context;
76
+ - happy path;
77
+ - scenario outline for validation or boundary cases;
78
+ - regression scenario.
79
+
80
+ Delete sections that are not useful for the real behaviour.
81
+ Do not keep placeholder scenarios as fake coverage.
82
+
83
+ ## `database.dbml`
84
+
85
+ The DBML template demonstrates:
86
+
87
+ - project metadata;
88
+ - enum modelling;
89
+ - primary keys;
90
+ - unique constraints;
91
+ - indexes;
92
+ - foreign-key relationships;
93
+ - JSON payload notes;
94
+ - table notes.
95
+
96
+ Replace the example schema with the canonical project schema.
97
+ Do not leave example tables in a real project unless they are clearly marked as placeholders and not used as canonical truth.
98
+
99
+ ## `adr.md`
100
+
101
+ The ADR template is decision-focused.
102
+
103
+ Use it for significant technical decisions,
104
+ not routine implementation details.
105
+
106
+ A good ADR should include:
107
+
108
+ - status;
109
+ - date;
110
+ - context;
111
+ - decision drivers;
112
+ - options considered;
113
+ - the chosen decision;
114
+ - consequences;
115
+ - validation;
116
+ - supersession and relationship metadata;
117
+ - revisit conditions.
118
+
119
+ ## `glossary.md`
120
+
121
+ The glossary template is for durable domain language.
122
+
123
+ Add terms when names or meanings matter to behaviour,
124
+ specs,
125
+ architecture,
126
+ or user-facing concepts.
127
+
128
+ Do not use it as a dumping ground for obvious technical vocabulary.
129
+
130
+ ## `project-readiness-report.md`
131
+
132
+ The readiness report template captures Arey Pi assessment output.
133
+
134
+ Use it when you want a persistent audit snapshot under `docs/`.
135
+ For routine checks,
136
+ `/arey-assess` can report directly in the session.
137
+
138
+ ## Template Maintenance
139
+
140
+ When templates change,
141
+ update:
142
+
143
+ - `docs/templates.md`;
144
+ - `docs/commands.md` if bootstrap behaviour changes;
145
+ - `README.md` if user-facing package behaviour changes;
146
+ - extension tests if scaffold targets change.
@@ -0,0 +1,92 @@
1
+ # Arey Pi Workflow Diagram
2
+
3
+ This diagram shows the intended Arey Pi delivery workflow.
4
+
5
+ The parent Pi session owns orchestration.
6
+ Specialist subagents contribute bounded evidence,
7
+ but the parent decides when to continue,
8
+ ask the user,
9
+ repair,
10
+ or finalise.
11
+
12
+ ```mermaid
13
+ graph TD
14
+ A["User request"] --> B["Parent acts as Arey Pi tech lead"]
15
+ B --> C{"Classify change mode"}
16
+
17
+ C -->|"Assessment"| EVAL["Project evaluator"]
18
+ EVAL --> EVALREPORT["Readiness report and improvement plan"]
19
+
20
+ C -->|"Bootstrap"| BOOT["arey-bootstrap"]
21
+ BOOT --> HARNESS["AGENTS.md, specs, docs, templates, project agents"]
22
+ HARNESS --> DOCTOR["arey-doctor and subagents-doctor"]
23
+
24
+ C -->|"Direct change"| DIRECT{"Specs, tests, docs unaffected?"}
25
+ DIRECT -->|"No or unclear"| SPEC
26
+ DIRECT -->|"Yes, justified"| IMPL
27
+
28
+ C -->|"Feature, bugfix, rebuild, risky change"| CONTEXT{"Enough context?"}
29
+ CONTEXT -->|"No"| RECON["Scout, context-builder, or planner"]
30
+ RECON --> SPEC["Spec author"]
31
+ CONTEXT -->|"Yes"| SPEC
32
+
33
+ SPEC --> SPECCHECK{"Canonical intent clear?"}
34
+ SPECCHECK -->|"No"| ASK["Ask user or resolve conflict"]
35
+ ASK --> SPEC
36
+ SPECCHECK -->|"Yes"| IMPL["TDD implementer"]
37
+
38
+ IMPL --> RED["Red: failing behaviour or regression test"]
39
+ RED --> GREEN["Green: minimal high-quality implementation"]
40
+ GREEN --> REFACTOR["Refactor while tests stay green"]
41
+ REFACTOR --> VALIDATE["Run validation and quality tooling"]
42
+
43
+ VALIDATE --> SYNC["Spec syncer"]
44
+ SYNC --> SYNCCHECK{"Specs and docs aligned?"}
45
+ SYNCCHECK -->|"No"| REPAIR["Repair sync gaps"]
46
+ REPAIR --> VALIDATE
47
+ SYNCCHECK -->|"Yes"| REVIEWGATE{"Risk warrants review?"}
48
+
49
+ REVIEWGATE -->|"Yes"| REVIEW["Fresh reviewers or engineering reviewer"]
50
+ REVIEW --> FINDINGS{"Blocking findings?"}
51
+ FINDINGS -->|"Yes"| FIX["Single writer applies accepted fixes"]
52
+ FIX --> VALIDATE
53
+ FINDINGS -->|"No"| DONE
54
+
55
+ REVIEWGATE -->|"No"| DONE["Parent finalises"]
56
+
57
+ DONE --> REPORT["Done summary with specs, TDD, validation, sync, quality, commits, and risks"]
58
+
59
+ ORACLE["Oracle second opinion"] -.-> B
60
+ ```
61
+
62
+ ## Safety Rules
63
+
64
+ - The parent session owns orchestration.
65
+ - Use fresh reviewers for independent adversarial review.
66
+ - Use `oracle` when the decision itself is risky.
67
+ - Use `scout`,
68
+ `context-builder`,
69
+ or `planner` before large changes when context is weak.
70
+ - Keep one writer in the active worktree at a time.
71
+ - Parallel subagents are best for read-only review,
72
+ planning,
73
+ scouting,
74
+ and audits.
75
+ - Chains are best for repeatable sequential workflows where one step's output feeds the next.
76
+
77
+ ## Required Completion Evidence
78
+
79
+ ```txt
80
+ Done summary:
81
+ - Behaviour/spec impact:
82
+ - Tests/TDD, including test location:
83
+ - Validation:
84
+ - Quality tooling:
85
+ - Spec sync:
86
+ - Documentation sync:
87
+ - Architecture/code quality:
88
+ - Architecture/ADR/glossary:
89
+ - Database/DBML:
90
+ - Commits:
91
+ - Residual risks:
92
+ ```
@@ -0,0 +1,213 @@
1
+ # Arey Pi Workflows
2
+
3
+ See `docs/workflow-diagram.md` for a visual overview of the framework workflow.
4
+
5
+ Arey Pi workflows can be started with slash commands or natural language.
6
+
7
+ The slash commands make the intended process explicit.
8
+ Natural language should still follow the same rules when the user asks to work following Arey Pi.
9
+
10
+ ## Feature Workflow
11
+
12
+ Command:
13
+
14
+ ```txt
15
+ /arey-feature <feature request>
16
+ ```
17
+
18
+ Expected flow:
19
+
20
+ ```txt
21
+ parent tech lead → arey-pi.spec-author → arey-pi.tdd-implementer → arey-pi.spec-syncer → fresh reviewers → parent finalisation
22
+ ```
23
+
24
+ For broad or risky changes,
25
+ use builtin `scout`,
26
+ `context-builder`,
27
+ or `planner` before the Arey Pi delivery flow.
28
+
29
+ Use this for new behaviour or meaningful behaviour changes.
30
+
31
+ The workflow should:
32
+
33
+ 1. clarify scope and change mode;
34
+ 2. confirm or author canonical Gherkin specs;
35
+ 3. add a failing test in a dedicated test directory;
36
+ 4. implement the smallest high-quality production change;
37
+ 5. refactor while tests remain green;
38
+ 6. synchronise specs and documentation;
39
+ 7. review engineering quality when risk warrants it;
40
+ 8. report evidence and residual risks.
41
+
42
+ ## Bugfix Workflow
43
+
44
+ Command:
45
+
46
+ ```txt
47
+ /arey-bugfix <bug description>
48
+ ```
49
+
50
+ Use this when behaviour is wrong.
51
+
52
+ Expected flow:
53
+
54
+ ```txt
55
+ reproduce with failing regression test → fix → validate → sync → review
56
+ ```
57
+
58
+ Bug fixes require a regression test.
59
+ The regression test should fail for the bug before the fix,
60
+ and it should live outside production source directories by default.
61
+
62
+ ## Sync Workflow
63
+
64
+ Command:
65
+
66
+ ```txt
67
+ /arey-sync [scope]
68
+ ```
69
+
70
+ Use this before completing non-trivial work or when drift is suspected.
71
+
72
+ The sync check covers:
73
+
74
+ - Gherkin specs;
75
+ - tests;
76
+ - code;
77
+ - DBML;
78
+ - ADRs;
79
+ - glossary;
80
+ - architecture docs;
81
+ - README files;
82
+ - `docs/`;
83
+ - `AGENTS.md`;
84
+ - skills,
85
+ prompts,
86
+ rules,
87
+ agents,
88
+ commands,
89
+ tooling instructions,
90
+ examples,
91
+ and templates.
92
+
93
+ The final result should include both spec and documentation status:
94
+
95
+ ```txt
96
+ Specs updated
97
+ Docs updated
98
+ ```
99
+
100
+ or justified unaffected statuses.
101
+
102
+ ## Review Workflow
103
+
104
+ Command:
105
+
106
+ ```txt
107
+ /arey-review [scope]
108
+ ```
109
+
110
+ Use this for adversarial engineering review.
111
+
112
+ Review should cover:
113
+
114
+ - architecture and code quality;
115
+ - test quality and test location;
116
+ - tooling and validation evidence;
117
+ - security and privacy;
118
+ - reliability and operability;
119
+ - maintainability;
120
+ - generated-code quality;
121
+ - spec,
122
+ ADR,
123
+ DBML,
124
+ glossary,
125
+ and documentation sync concerns.
126
+
127
+ Findings should be classified by severity.
128
+
129
+ ## Assessment Workflow
130
+
131
+ Command:
132
+
133
+ ```txt
134
+ /arey-assess [scope]
135
+ ```
136
+
137
+ Use this to assess project readiness.
138
+
139
+ The assessment is read-only by default.
140
+ It should produce scores,
141
+ evidence,
142
+ blockers,
143
+ quick wins,
144
+ and a prioritised improvement plan.
145
+
146
+ ## Bootstrap Workflow
147
+
148
+ Command:
149
+
150
+ ```txt
151
+ /arey-bootstrap
152
+ ```
153
+
154
+ With no flags,
155
+ bootstrap installs project-local Arey Pi agents and creates starter harness files where missing.
156
+
157
+ Use selective flags only when needed:
158
+
159
+ ```txt
160
+ /arey-bootstrap --agentsmd
161
+ /arey-bootstrap --specs
162
+ /arey-bootstrap --docs
163
+ /arey-bootstrap --force
164
+ ```
165
+
166
+ ## Subagent Orchestration Pattern
167
+
168
+ Keep orchestration in the parent Pi session.
169
+ Child agents should receive bounded tasks and should not launch their own subagent workflows unless explicitly assigned a bounded fanout job.
170
+
171
+ Use fresh-context reviewers for independent review.
172
+ Use `oracle` when a decision needs a second opinion before implementation.
173
+ Use one writer in the active worktree at a time.
174
+
175
+ For long-running work,
176
+ background subagents are appropriate.
177
+ If the parent has no useful independent work,
178
+ end the turn and wait for completion rather than polling repeatedly.
179
+
180
+ See `docs/pi-subagents.md` for detailed guidance.
181
+
182
+ ## Natural Language Workflow
183
+
184
+ Users do not need to memorise commands.
185
+
186
+ This should work:
187
+
188
+ ```txt
189
+ Implement password reset following Arey Pi.
190
+ ```
191
+
192
+ The parent agent should act as tech lead,
193
+ select the appropriate workflow,
194
+ and use specialist subagents when available.
195
+
196
+ ## Evidence Standard
197
+
198
+ Every non-trivial workflow should finish with:
199
+
200
+ ```txt
201
+ Done summary:
202
+ - Behaviour/spec impact:
203
+ - Tests/TDD, including test location:
204
+ - Validation:
205
+ - Quality tooling:
206
+ - Spec sync:
207
+ - Documentation sync:
208
+ - Architecture/code quality:
209
+ - Architecture/ADR/glossary:
210
+ - Database/DBML:
211
+ - Commits:
212
+ - Residual risks:
213
+ ```
@@ -60,17 +60,17 @@ export type WorkflowKind = "feature" | "bugfix" | "sync" | "review" | "assess" |
60
60
 
61
61
  export function workflowMessage(kind: WorkflowKind, args: string): string {
62
62
  const target = args.trim() || "the current repository/task";
63
- const common = `Act as the Arey Pi tech lead. Use pi-subagents when available and appropriate. Keep orchestration authority in the parent session. Follow Arey Pi rules, preserve TDD, and report evidence clearly.`;
63
+ const common = `Act as the Arey Pi tech lead. Use pi-subagents when available and appropriate. Keep orchestration authority in the parent session, give child agents bounded tasks, and keep one writer in the active worktree at a time. Follow Arey Pi rules, preserve TDD, and report evidence clearly.`;
64
64
 
65
65
  switch (kind) {
66
66
  case "feature":
67
- return `${common}\n\nRun the Arey Pi feature workflow for: ${target}\n\nExpected flow: spec-author for canonical specs, tdd-implementer for Red-Green-Refactor, spec-syncer for final alignment, and engineering-reviewer for adversarial quality review when risk warrants it.`;
67
+ return `${common}\n\nRun the Arey Pi feature workflow for: ${target}\n\nExpected flow: arey-pi.spec-author for canonical specs, arey-pi.tdd-implementer for Red-Green-Refactor, arey-pi.spec-syncer for final alignment, and fresh reviewers or arey-pi.engineering-reviewer for adversarial quality review when risk warrants it. Use scout/context-builder/planner first if the codebase context is not clear.`;
68
68
  case "bugfix":
69
- return `${common}\n\nRun the Arey Pi bugfix workflow for: ${target}\n\nStart with a regression test that fails for the bug, then implement the minimal high-quality fix, synchronise specs, and review engineering quality.`;
69
+ return `${common}\n\nRun the Arey Pi bugfix workflow for: ${target}\n\nStart with a regression test that fails for the bug, keep tests outside production source directories by default, implement the minimal high-quality fix, synchronise specs and docs, and review engineering quality.`;
70
70
  case "sync":
71
71
  return `${common}\n\nRun Arey Pi spec and documentation sync for: ${target}\n\nVerify Gherkin, tests, code, DBML, ADRs, glossary, architecture docs, README files, docs, AGENTS.md, skills, prompts, rules, agents, commands, and tooling instructions. End with both a spec status and a documentation status.`;
72
72
  case "review":
73
- return `${common}\n\nRun an Arey Pi engineering review for: ${target}\n\nReview architecture, code quality, test quality, quality tooling, security, privacy, operability, maintainability, and spec/ADR/DBML concerns. Classify findings by severity.`;
73
+ return `${common}\n\nRun an Arey Pi engineering review for: ${target}\n\nPrefer fresh-context review. Review architecture, code quality, test quality and location, quality tooling, security, privacy, operability, maintainability, and spec/ADR/DBML/documentation concerns. Classify findings by severity.`;
74
74
  case "assess":
75
75
  return `${common}\n\nAssess this repository against Arey Pi Project Readiness. Audit only by default. Produce scores, evidence, blockers, quick wins, and a prioritised improvement plan.`;
76
76
  default:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arey-pi",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "A Pi package for canonical Gherkin specs, non-negotiable TDD, spec synchronisation, AI harness readiness, and senior-quality software delivery.",
5
5
  "license": "MIT",
6
6
  "author": "Alejandro Rey Leyva",
@@ -24,6 +24,7 @@
24
24
  ],
25
25
  "files": [
26
26
  "agents/",
27
+ "assets/",
27
28
  "extensions/",
28
29
  "docs/",
29
30
  "skills/",
@@ -42,7 +43,8 @@
42
43
  ],
43
44
  "prompts": [
44
45
  "./prompts"
45
- ]
46
+ ],
47
+ "image": "https://cdn.jsdelivr.net/gh/alereyleyva/arey-pi@main/assets/arey-pi-logo.png"
46
48
  },
47
49
  "scripts": {
48
50
  "format": "biome format --write .",
@@ -2,7 +2,7 @@
2
2
 
3
3
  This project uses Arey Pi.
4
4
 
5
- ## Delivery rules
5
+ ## Delivery Rules
6
6
 
7
7
  - Treat canonical specs as the source of truth.
8
8
  - Use Gherkin for behaviour specs.
@@ -14,8 +14,101 @@ This project uses Arey Pi.
14
14
  - Run formatter, lint/static analysis, typecheck, tests, and relevant dynamic analysis where available.
15
15
  - Use incremental Conventional Commits for meaningful steps.
16
16
 
17
+ ## Project Commands
18
+
19
+ Document the project-specific commands here.
20
+ Agents should run the narrowest relevant validation first,
21
+ then the composed project check before completion.
22
+
23
+ ```bash
24
+ # Install dependencies
25
+ <package-manager> install
26
+
27
+ # Format
28
+ <package-manager> run format
29
+
30
+ # Lint/static analysis
31
+ <package-manager> run lint
32
+
33
+ # Typecheck
34
+ <package-manager> run typecheck
35
+
36
+ # Test
37
+ <package-manager> run test
38
+
39
+ # Full validation
40
+ <package-manager> run check
41
+ ```
42
+
43
+ ## Specs and Documentation
44
+
45
+ Canonical specs should live under:
46
+
47
+ ```txt
48
+ specs/features/
49
+ specs/database/
50
+ specs/architecture/
51
+ specs/decisions/
52
+ specs/glossary.md
53
+ ```
54
+
55
+ Project-facing documentation should live under:
56
+
57
+ ```txt
58
+ docs/
59
+ README.md
60
+ AGENTS.md
61
+ ```
62
+
63
+ Every completed change should report:
64
+
65
+ ```txt
66
+ Specs updated
67
+ ```
68
+
69
+ or:
70
+
71
+ ```txt
72
+ Specs unaffected: <reason>
73
+ ```
74
+
75
+ and:
76
+
77
+ ```txt
78
+ Docs updated
79
+ ```
80
+
81
+ or:
82
+
83
+ ```txt
84
+ Docs unaffected: <reason>
85
+ ```
86
+
87
+ ## Test Layout
88
+
89
+ Keep tests outside production source directories by default.
90
+
91
+ Preferred examples:
92
+
93
+ ```txt
94
+ src/domain/accounts/password-reset.ts
95
+ tests/domain/accounts/password-reset.test.ts
96
+ ```
97
+
98
+ Avoid creating colocated tests such as:
99
+
100
+ ```txt
101
+ src/domain/accounts/password-reset.test.ts
102
+ ```
103
+
104
+ unless this repository documents that convention explicitly.
105
+
17
106
  ## Subagents
18
107
 
108
+ Keep orchestration in the parent Pi session.
109
+ Child agents should receive concrete,
110
+ bounded tasks and should not launch their own subagent workflows unless explicitly assigned a bounded fanout job.
111
+
19
112
  Project-local Arey Pi subagents live in:
20
113
 
21
114
  ```txt
@@ -23,3 +116,36 @@ Project-local Arey Pi subagents live in:
23
116
  ```
24
117
 
25
118
  Use them through pi-subagents when available.
119
+ Run `/subagents-doctor` if subagent discovery or async coordination looks wrong.
120
+
121
+ Suggested Arey Pi roles:
122
+
123
+ - `arey-pi.tech-lead` for orchestration;
124
+ - `arey-pi.spec-author` for canonical specs;
125
+ - `arey-pi.tdd-implementer` for Red-Green-Refactor;
126
+ - `arey-pi.spec-syncer` for spec and documentation alignment;
127
+ - `arey-pi.engineering-reviewer` for adversarial quality review;
128
+ - `arey-pi.project-evaluator` for readiness assessment.
129
+
130
+ Useful builtin `pi-subagents` roles:
131
+
132
+ - `scout` for fast codebase reconnaissance;
133
+ - `context-builder` for stronger planning handoff context;
134
+ - `planner` for implementation plans;
135
+ - `worker` for approved generic implementation;
136
+ - `reviewer` for fresh-context reviews;
137
+ - `oracle` for risky decisions and second opinions;
138
+ - `researcher` for external evidence when web access is available.
139
+
140
+ Prefer fresh reviewers for independent review.
141
+ Use `oracle` when prior conversation context and decision drift matter.
142
+ Keep one writer in the active worktree at a time.
143
+
144
+ ## Local Overrides
145
+
146
+ Add repository-specific technology,
147
+ architecture,
148
+ safety,
149
+ and validation instructions below.
150
+
151
+ Nested `AGENTS.md` files may override or extend these instructions for specific subtrees.