@baldurpan/create-ai-workflow 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/LICENSE +21 -0
- package/README.md +165 -0
- package/dist/agents-block.js +70 -0
- package/dist/bin.js +14 -0
- package/dist/check/markdown.js +47 -0
- package/dist/check/parse.js +113 -0
- package/dist/check/rules.js +245 -0
- package/dist/cli.js +109 -0
- package/dist/commands/check.js +41 -0
- package/dist/commands/install.js +76 -0
- package/dist/commands/standards-add.js +145 -0
- package/dist/commands/update.js +214 -0
- package/dist/layout.js +115 -0
- package/dist/log.js +20 -0
- package/dist/manifest.js +53 -0
- package/dist/paths.js +41 -0
- package/package.json +37 -0
- package/templates/blocks/agents-block.md +30 -0
- package/templates/claude/agents/planner.agent.md +60 -0
- package/templates/claude/agents/reviewer.agent.md +77 -0
- package/templates/context/README.md +81 -0
- package/templates/context/plan-template.md +69 -0
- package/templates/context/plan-template.notes.md +55 -0
- package/templates/context/roles/coder.md +76 -0
- package/templates/context/workflow.md +143 -0
- package/templates/skills/feature-close/SKILL.md +102 -0
- package/templates/skills/feature-implement/SKILL.md +142 -0
- package/templates/skills/feature-plan/SKILL.md +138 -0
- package/templates/skills/feature-status/SKILL.md +86 -0
- package/templates/skills/onboard/SKILL.md +122 -0
- package/templates/skills/orchestrate/SKILL.md +92 -0
- package/templates/skills/roadmap/SKILL.md +97 -0
- package/templates/standards/.source +8 -0
- package/templates/standards/README.md +104 -0
- package/templates/standards/architecture/api-design.md +212 -0
- package/templates/standards/architecture/dependency-boundaries.md +104 -0
- package/templates/standards/architecture/feature-driven.md +102 -0
- package/templates/standards/architecture/folder-structure.md +108 -0
- package/templates/standards/architecture/monorepos.md +107 -0
- package/templates/standards/architecture/refactoring.md +97 -0
- package/templates/standards/architecture/shared-code.md +81 -0
- package/templates/standards/docs/PHP-SPEC.md +1195 -0
- package/templates/standards/docs/SPEC.md +540 -0
- package/templates/standards/examples/bad/data-fetching.tsx +52 -0
- package/templates/standards/examples/bad/derived-state.tsx +60 -0
- package/templates/standards/examples/bad/feature-component.tsx +80 -0
- package/templates/standards/examples/bad/prop-drilling.tsx +70 -0
- package/templates/standards/examples/good/data-fetching.tsx +53 -0
- package/templates/standards/examples/good/derived-state.tsx +52 -0
- package/templates/standards/examples/good/feature-component.tsx +141 -0
- package/templates/standards/examples/good/invoice.schema.ts +20 -0
- package/templates/standards/examples/good/prop-drilling.tsx +83 -0
- package/templates/standards/philosophy/ai-agent-behavior.md +93 -0
- package/templates/standards/philosophy/core-principles.md +49 -0
- package/templates/standards/philosophy/incremental-abstraction.md +56 -0
- package/templates/standards/philosophy/maintainability.md +66 -0
- package/templates/standards/philosophy/readability.md +87 -0
- package/templates/standards/php/README.md +62 -0
- package/templates/standards/php/anti-patterns.md +259 -0
- package/templates/standards/php/architecture.md +241 -0
- package/templates/standards/php/frameworks.md +197 -0
- package/templates/standards/php/rules.md +205 -0
- package/templates/standards/php/security.md +190 -0
- package/templates/standards/php/testing.md +139 -0
- package/templates/standards/php/tooling.md +245 -0
- package/templates/standards/react/accessibility.md +130 -0
- package/templates/standards/react/anti-patterns.md +187 -0
- package/templates/standards/react/component-design.md +139 -0
- package/templates/standards/react/error-boundaries.md +195 -0
- package/templates/standards/react/forms.md +147 -0
- package/templates/standards/react/hooks.md +88 -0
- package/templates/standards/react/memoization.md +87 -0
- package/templates/standards/react/state-management.md +123 -0
- package/templates/standards/react/testing.md +118 -0
- package/templates/standards/react/use-effect.md +110 -0
- package/templates/standards/security/api-security.md +136 -0
- package/templates/standards/security/auth.md +112 -0
- package/templates/standards/security/secrets.md +105 -0
- package/templates/standards/security/validation.md +89 -0
- package/templates/standards/templates/.editorconfig +16 -0
- package/templates/standards/templates/.nvmrc +1 -0
- package/templates/standards/templates/AGENTS.md +46 -0
- package/templates/standards/templates/CLAUDE.md +3 -0
- package/templates/standards/templates/_dot_gitignore +50 -0
- package/templates/standards/templates/biome.json +53 -0
- package/templates/standards/templates/eslint.config.js +61 -0
- package/templates/standards/templates/project-readme.md +76 -0
- package/templates/standards/templates/pull-request-template.md +46 -0
- package/templates/standards/templates/tsconfig.json +35 -0
- package/templates/standards/tooling/biome.md +92 -0
- package/templates/standards/tooling/ci.md +128 -0
- package/templates/standards/tooling/dates.md +194 -0
- package/templates/standards/tooling/dependencies.md +90 -0
- package/templates/standards/tooling/nx.md +113 -0
- package/templates/standards/tooling/observability.md +183 -0
- package/templates/standards/tooling/prisma.md +152 -0
- package/templates/standards/tooling/shadcn.md +115 -0
- package/templates/standards/tooling/tailwind.md +135 -0
- package/templates/standards/tooling/tanstack-query.md +214 -0
- package/templates/standards/tooling/tanstack-router.md +365 -0
- package/templates/standards/tooling/tanstack.md +31 -0
- package/templates/standards/tooling/vite.md +135 -0
- package/templates/standards/typescript/anti-patterns.md +107 -0
- package/templates/standards/typescript/error-handling.md +216 -0
- package/templates/standards/typescript/naming.md +78 -0
- package/templates/standards/typescript/rules.md +159 -0
- package/templates/standards/typescript/tsconfig/base.json +32 -0
- package/templates/standards/typescript/tsconfig/nextjs.json +12 -0
- package/templates/standards/typescript/tsconfig/react.json +9 -0
- package/templates/standards/typescript/validation.md +104 -0
- package/templates/stubs/executors.md +49 -0
- package/templates/stubs/findings.md +40 -0
- package/templates/stubs/history.md +13 -0
- package/templates/stubs/roadmap.md +29 -0
- package/templates/stubs/stack.md +35 -0
- package/templates/stubs/verify.md +48 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Findings
|
|
2
|
+
|
|
3
|
+
Defects that outlive the session that found them. A reviewer `FAIL`, a verification gate that hits its
|
|
4
|
+
loopback cap, or a defect found by hand all land here — **before** the loopback, not after it, so a finding
|
|
5
|
+
survives even when the cap is hit and the task is escalated.
|
|
6
|
+
|
|
7
|
+
## Contract
|
|
8
|
+
|
|
9
|
+
**Severity.** `P0` breaks production or data. `P1` blocks a phase or a gate. `P2` is a real defect that
|
|
10
|
+
does not block. `P3` is a note worth not losing.
|
|
11
|
+
|
|
12
|
+
**Tied to.** Either a phase — `<feature-name> Phase <n>` — or `ad-hoc` for a finding raised by
|
|
13
|
+
`/orchestrate` outside any feature.
|
|
14
|
+
|
|
15
|
+
**Gating.** An open `P0` or `P1` tied to a phase blocks that phase from being marked `done`, and blocks
|
|
16
|
+
`/feature-close` on the feature that owns it.
|
|
17
|
+
|
|
18
|
+
**Closing.** A finding closes when **the gate that raised it re-passes**, citing that run. There is no
|
|
19
|
+
"fixed but unverified" state — that implies an owner this workflow does not have.
|
|
20
|
+
|
|
21
|
+
**Bound.** Closed findings leave this file: a feature's at `/feature-close`, folded into the retiring
|
|
22
|
+
plan's own log; an `ad-hoc` one at the start of the next `/orchestrate`. This file must not grow for the
|
|
23
|
+
life of the project.
|
|
24
|
+
|
|
25
|
+
**Shape.** Entries go under **Open** below, newest last, and look like this:
|
|
26
|
+
|
|
27
|
+
> ### F-001 — P1 — one line naming the defect
|
|
28
|
+
>
|
|
29
|
+
> **Tied to:** some-feature Phase 2 · **Raised:** YYYY-MM-DD (by the gate that raised it, or "hand")
|
|
30
|
+
>
|
|
31
|
+
> What is wrong, where, and why it matters. Cite the file and the evidence.
|
|
32
|
+
>
|
|
33
|
+
> **Closes when:** the condition that closes it, naming the gate run that would prove it.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Open
|
|
38
|
+
|
|
39
|
+
## Closed
|
|
40
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# History
|
|
2
|
+
|
|
3
|
+
Retired features, newest last. Append-only — written by `/feature-close`, one row per feature, never edited
|
|
4
|
+
afterwards.
|
|
5
|
+
|
|
6
|
+
This file **indexes** depth rather than duplicating it: the reasoning stays in the archived plan document,
|
|
7
|
+
so a row never grows and this file gains one line per feature.
|
|
8
|
+
|
|
9
|
+
`dropped` is the load-bearing case. An idea killed before it ever got a plan document leaves no trace
|
|
10
|
+
except git history, and this row is what stops it being re-proposed.
|
|
11
|
+
|
|
12
|
+
| Date | Feature | Outcome | Why | Document |
|
|
13
|
+
|---|---|---|---|---|
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Roadmap
|
|
2
|
+
|
|
3
|
+
Tier 1 — the backlog. High-level by design: depth belongs in the plan document, not here.
|
|
4
|
+
|
|
5
|
+
Only `pending` and `active` entries live in this file. Finished and abandoned entries leave entirely, via
|
|
6
|
+
`/feature-close`, and are indexed in [`history.md`](history.md).
|
|
7
|
+
|
|
8
|
+
**An entry's status is the marker in its heading, and nowhere else.** At most one entry is `active` at a
|
|
9
|
+
time. There is no "active" section and no summary line — a second place to say the same thing is a second
|
|
10
|
+
place for it to go stale. To know what is being worked, scan for the marker.
|
|
11
|
+
|
|
12
|
+
Each entry's **Doc** field points at its document, and the path says what stage it is at: `drafts/` is
|
|
13
|
+
notes, `plans/` is a real plan with a phase ledger. `pending` with a `plans/` document means planned but
|
|
14
|
+
not being worked — that is a normal state, not a discrepancy.
|
|
15
|
+
|
|
16
|
+
Add an entry with `/roadmap "some idea"`. Turn one into a plan with `/feature-plan`. Entries look like
|
|
17
|
+
this, appended under **Features** below:
|
|
18
|
+
|
|
19
|
+
> ### some-feature-name — `pending`
|
|
20
|
+
>
|
|
21
|
+
> One or two lines: the problem, or what becomes possible. Not a design.
|
|
22
|
+
>
|
|
23
|
+
> - **Size:** small — what drives the size, a few words
|
|
24
|
+
> - **Doc:** none yet
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Features
|
|
29
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Stack
|
|
2
|
+
|
|
3
|
+
What this project is, and what an agent has to know before touching it. Run `/onboard` to fill it in.
|
|
4
|
+
|
|
5
|
+
<!-- One paragraph: what the project does, and anything about its history that explains why it is shaped
|
|
6
|
+
the way it is. -->
|
|
7
|
+
|
|
8
|
+
| Concern | Target |
|
|
9
|
+
|---|---|
|
|
10
|
+
| Runtime | |
|
|
11
|
+
| Package manager | |
|
|
12
|
+
| Database | |
|
|
13
|
+
| Storage | |
|
|
14
|
+
| Hosting | |
|
|
15
|
+
|
|
16
|
+
## Layout
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
<!-- The directories that matter, one line each on what lives there. -->
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Conventions
|
|
23
|
+
|
|
24
|
+
<!-- The rules that are specific to this repo and would not be guessed: things that break in this runtime,
|
|
25
|
+
things deliberately kept separate, where local secrets live, what must never be run against
|
|
26
|
+
production. -->
|
|
27
|
+
|
|
28
|
+
## Also in `context/`
|
|
29
|
+
|
|
30
|
+
<!-- Index anything you add under context/ here — decisions.md, glossary.md, ops-notes.md. Not in
|
|
31
|
+
context/README.md: that file is tool-owned and replaced on every update, so a line added there is a
|
|
32
|
+
line lost. -->
|
|
33
|
+
|
|
34
|
+
Verification commands are in [`verify.md`](verify.md), not here. Executor dispatch is in
|
|
35
|
+
[`executors.md`](executors.md).
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Verification commands
|
|
2
|
+
|
|
3
|
+
This project's real verification stack. **Gate 1 reads this file** — no skill, agent prompt or role file
|
|
4
|
+
carries a copy of these commands, because a hardcoded stack rots the moment the project changes shape.
|
|
5
|
+
|
|
6
|
+
This is the single home for every command in this project. If you find a command written down anywhere else
|
|
7
|
+
in `context/`, that copy is the one that is wrong.
|
|
8
|
+
|
|
9
|
+
Keep it in step with CI. If a command here fails while CI is green, this file is the one that is wrong.
|
|
10
|
+
|
|
11
|
+
Run `/onboard` to fill these sections in — it proposes candidates, **runs each one, and writes only the
|
|
12
|
+
ones that exit 0.** Filling them in by hand is fine too; running them first is not optional either way.
|
|
13
|
+
|
|
14
|
+
<!-- Prerequisites, if any: node version, package manager, install step already run, services up. -->
|
|
15
|
+
|
|
16
|
+
## Lint
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Typecheck
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Build
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Test
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Not run by Gate 1
|
|
37
|
+
|
|
38
|
+
<!-- Commands that need Docker, a cloud account, or a deploy target. CI and deploy concerns, not
|
|
39
|
+
per-task verification. List them here so nobody adds them above by mistake. -->
|
|
40
|
+
|
|
41
|
+
## Rules
|
|
42
|
+
|
|
43
|
+
- **A missing entry is skipped, never faked.** An empty section above means there is no such step. Gate 1
|
|
44
|
+
skips it and says so; it never substitutes a command it invented.
|
|
45
|
+
- **Docs-only changes run Lint only**, plus a read of the diff. Skip build and test for changes that touch
|
|
46
|
+
no application code.
|
|
47
|
+
- **Exit 0 is the verdict.** A non-zero exit is a Gate 1 failure regardless of what the summary text says.
|
|
48
|
+
- **If this file has no filled-in section at all, Gate 1 stops and says so.** It does not guess.
|