@aicgen/aicgen 1.0.5 → 1.1.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/data/version.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "1.0.0",
3
- "lastUpdated": "2026-01-15",
3
+ "lastUpdated": "2026-05-14",
4
4
  "totalGuidelines": 99,
5
5
  "categories": {
6
6
  "Language": 39,
@@ -0,0 +1,51 @@
1
+ # SDLC Workflows
2
+
3
+ aicgen injects a structured 6-command SDLC workflow into every generated assistant configuration. These commands guide the AI assistant through a repeatable, artifact-driven development lifecycle.
4
+
5
+ ## The Flow
6
+
7
+ ```
8
+ /spec → /research → /plan → /build → /check → /ship
9
+ ```
10
+
11
+ | Step | Command | Output artifact |
12
+ |------|---------|----------------|
13
+ | 1 | [`/spec [name]`](sdlc/spec.md) | `docs/specs/{name}.md` |
14
+ | 2 | [`/research`](sdlc/research.md) | Appends `## Research Findings` to spec |
15
+ | 3 | [`/plan`](sdlc/plan.md) | `docs/plans/{name}.md` |
16
+ | 4 | [`/build [phase?]`](sdlc/build.md) | Code changes |
17
+ | 5 | [`/check`](sdlc/check.md) | Inline verification report |
18
+ | 6 | [`/ship`](sdlc/ship.md) | PR description draft |
19
+
20
+ ## Commands
21
+
22
+ - [/spec](sdlc/spec.md) — Capture feature requirements before writing any code
23
+ - [/research](sdlc/research.md) — Codebase scan + web research + infrastructure preference
24
+ - [/plan](sdlc/plan.md) — Phased, checkpoint-driven implementation plan
25
+ - [/build](sdlc/build.md) — Execute plan phase by phase with review checkpoints
26
+ - [/check](sdlc/check.md) — Verify implementation against spec and run tests
27
+ - [/ship](sdlc/ship.md) — Pre-flight checks and PR description draft
28
+
29
+ ## Output directory
30
+
31
+ All spec and plan artifacts are saved to the `docs/` directory in the user's project. This directory is created automatically if it does not exist.
32
+
33
+ ```
34
+ docs/
35
+ ├── specs/
36
+ │ └── {feature-name}.md
37
+ └── plans/
38
+ └── {feature-name}.md
39
+ ```
40
+
41
+ ## Guard rails
42
+
43
+ | Command | Pre-condition |
44
+ |---------|--------------|
45
+ | `/research` | Active spec in `docs/specs/` — prompts `/spec` if missing |
46
+ | `/plan` | Active spec with `## Research Findings` — warns if research was skipped |
47
+ | `/build` | Active plan in `docs/plans/` — prompts `/plan` if missing |
48
+
49
+ ## Source
50
+
51
+ Command definitions are maintained in [`aicgen/data/workflows/sdlc.md`](https://github.com/aicgen/aicgen/blob/main/data/workflows/sdlc.md) and injected into every generated config at `aicgen init` time.
@@ -0,0 +1,38 @@
1
+ # /build [phase]
2
+
3
+ **Purpose:** Execute the next (or a specified) phase of the current implementation plan, pausing between phases for review.
4
+
5
+ ## When to use
6
+
7
+ After `/plan`. Run once per phase until all phases are complete. Can also be used to re-execute a specific phase by passing its number.
8
+
9
+ ## Arguments
10
+
11
+ | Argument | Required | Description |
12
+ |----------|----------|-------------|
13
+ | `phase` | No | Phase number to execute. If omitted, executes the next incomplete phase. |
14
+
15
+ ## Pre-condition
16
+
17
+ An active plan must exist in `docs/plans/`. If none is found, the assistant will prompt you to run `/plan` first and stop.
18
+
19
+ ## Steps
20
+
21
+ 1. Read the active plan from `docs/plans/`
22
+ 2. Determine the next incomplete phase (or the specified phase)
23
+ 3. Announce which phase is being executed and what it covers
24
+ 4. Implement step by step, following existing codebase patterns and conventions
25
+ 5. Summarise what was changed and created
26
+ 6. Mark the phase complete in the plan file
27
+ 7. Run relevant tests and report results
28
+ 8. Ask: "Phase {n} complete. Continue to phase {n+1}?" before proceeding
29
+
30
+ ## Behaviour
31
+
32
+ - The assistant pauses after each phase and waits for your go-ahead
33
+ - If tests fail at the end of a phase, the assistant reports failures before asking to continue
34
+ - The plan file is updated in place as phases are completed — it acts as a progress tracker
35
+
36
+ ## Next step
37
+
38
+ After all phases are complete, run [`/check`](check.md) to verify the full implementation against the spec.
@@ -0,0 +1,46 @@
1
+ # /check
2
+
3
+ **Purpose:** Verify the current implementation against the active spec — tests, code review, and regression check.
4
+
5
+ ## When to use
6
+
7
+ After `/build` phases are complete. Can also be run at any point during development to check progress. Safe to run repeatedly.
8
+
9
+ ## Steps
10
+
11
+ 1. Read the active spec from `docs/specs/` and plan from `docs/plans/`
12
+ 2. Run the full test suite and report results
13
+ 3. Review changed files against the spec's acceptance criteria — flag any gaps
14
+ 4. Check for regressions — unintended side effects in changed files
15
+ 5. Produce a structured report
16
+ 6. If all criteria are met and no regressions, prompt the user to run `/ship`
17
+
18
+ ## Output
19
+
20
+ Inline structured report:
21
+
22
+ ```
23
+ ✅ Acceptance criteria met
24
+ - [criterion 1]
25
+ - [criterion 2]
26
+
27
+ ❌ Acceptance criteria not met
28
+ - [criterion] — [details of gap]
29
+
30
+ ⚠️ Potential regressions
31
+ - [file/behaviour] — [details]
32
+
33
+ 📋 Suggested fixes
34
+ - [fix 1]
35
+ - [fix 2]
36
+ ```
37
+
38
+ ## Tips
39
+
40
+ - Run `/check` early and often — not just at the end
41
+ - Use it after each `/build` phase to catch issues while context is fresh
42
+ - A clean `/check` report is the gate for running `/ship`
43
+
44
+ ## Next step
45
+
46
+ If all criteria are met and no regressions: run [`/ship`](ship.md).
@@ -0,0 +1,54 @@
1
+ # /plan
2
+
3
+ **Purpose:** Produce a phased, checkpoint-driven implementation plan based on the spec and research findings.
4
+
5
+ ## When to use
6
+
7
+ After `/research`. This step breaks the work into independently verifiable phases that `/build` will execute one at a time.
8
+
9
+ ## Pre-condition
10
+
11
+ An active spec with a `## Research Findings` section must exist in `docs/specs/`. If research was skipped, the assistant will warn you and ask for confirmation before proceeding.
12
+
13
+ ## Steps
14
+
15
+ 1. Read the active spec (including research findings) from `docs/specs/`
16
+ 2. Analyse the codebase — existing structure, patterns, conventions
17
+ 3. Break implementation into phases, each independently verifiable
18
+ 4. For each phase: list files to create or modify, key decisions, and verification steps
19
+ 5. Identify risks and propose mitigations
20
+ 6. Create `docs/plans/` if it does not exist
21
+ 7. Save the plan to `docs/plans/{spec-name}.md`
22
+ 8. Confirm saved and prompt the user to run `/build`
23
+
24
+ ## Output
25
+
26
+ Creates `docs/plans/{spec-name}.md` with a phase-by-phase breakdown:
27
+
28
+ ```markdown
29
+ # Plan: {name}
30
+
31
+ ## Overview
32
+ {summary of approach}
33
+
34
+ ## Phase 1: {name}
35
+ **Files:** {files to create or modify}
36
+ **Steps:** {implementation steps}
37
+ **Verify:** {how to confirm this phase is complete}
38
+
39
+ ## Phase 2: {name}
40
+ ...
41
+
42
+ ## Risks
43
+ {risks and mitigations}
44
+ ```
45
+
46
+ ## Tips
47
+
48
+ - Each phase should be completable in one focused work session
49
+ - Verification steps should be concrete — runnable commands or observable outcomes
50
+ - Order phases so each one builds on a stable foundation from the previous
51
+
52
+ ## Next step
53
+
54
+ Run [`/build`](build.md) to execute the first phase of the plan.
@@ -0,0 +1,60 @@
1
+ # /research
2
+
3
+ **Purpose:** Analyze the active spec with internal codebase scanning and external web research, and prompt for infrastructure preference before planning begins.
4
+
5
+ ## When to use
6
+
7
+ After `/spec`, before `/plan`. This step surfaces codebase patterns, risks, and reference architectures that should inform the implementation plan.
8
+
9
+ ## Pre-condition
10
+
11
+ An active spec must exist in `docs/specs/`. If none is found, the assistant will tell you to run `/spec` first and stop.
12
+
13
+ ## Steps
14
+
15
+ 1. Read the most recently modified spec from `docs/specs/`
16
+ 2. **Internal scan** — search codebase for related code, patterns, dependencies, conflicts
17
+ 3. **Infrastructure prompt** — ask the user:
18
+ > "Does this feature require infrastructure decisions?"
19
+ > - Cost-optimised / serverless (pay-per-use: Cloud Run, Cloud Functions, AWS Lambda, Fargate, etc.)
20
+ > - Fixed / dedicated (predictable load: Kubernetes, EC2, GKE, dedicated VMs, etc.)
21
+ > - No infrastructure involved
22
+ 4. **Web research** — search for architecture patterns, best practices, reference implementations, and cost comparisons relevant to the spec. Results are biased toward the chosen infrastructure model.
23
+ 5. Surface: recommended approaches, trade-offs, cost implications, reference links
24
+ 6. Suggest improvements or clarifications to the spec
25
+ 7. Append `## Research Findings` to the active spec file
26
+ 8. Prompt the user to run `/plan`
27
+
28
+ ## Infrastructure preference
29
+
30
+ The infrastructure prompt shapes the direction of web research:
31
+
32
+ | Choice | Research focus |
33
+ |--------|---------------|
34
+ | Serverless | Event-driven patterns, cold start mitigation, pay-per-use cost modelling, Cloud Run / Lambda / Fargate comparisons |
35
+ | Fixed / dedicated | Kubernetes patterns, resource sizing, HA configuration, long-running process management |
36
+ | No infrastructure | Pure code architecture, library selection, algorithm trade-offs |
37
+
38
+ ## Output
39
+
40
+ Appends a `## Research Findings` section to the active spec file:
41
+
42
+ ```markdown
43
+ ## Research Findings
44
+
45
+ ### Internal codebase
46
+ {relevant existing code, patterns, conflicts found}
47
+
48
+ ### Web research
49
+ {architecture recommendations, reference links, cost comparisons}
50
+
51
+ ### Infrastructure recommendation
52
+ {recommendation based on chosen preference}
53
+
54
+ ### Suggested spec improvements
55
+ {clarifications or additions to the spec}
56
+ ```
57
+
58
+ ## Next step
59
+
60
+ Run [`/plan`](plan.md) to turn the refined spec into a phased implementation plan.
@@ -0,0 +1,43 @@
1
+ # /ship
2
+
3
+ **Purpose:** Pre-flight wrap-up — verify everything is ready, then draft a PR description referencing the spec and plan.
4
+
5
+ ## When to use
6
+
7
+ After `/check` reports all acceptance criteria met and no regressions. This is the final step of the SDLC workflow.
8
+
9
+ ## Steps
10
+
11
+ 1. Run the full test suite — stops and reports if any tests fail
12
+ 2. Read the active spec and plan
13
+ 3. Verify `docs/specs/{name}.md` and `docs/plans/{name}.md` are up to date
14
+ 4. List all uncommitted changes
15
+ 5. Draft a PR description:
16
+ ```
17
+ ## Summary
18
+ {goal from spec}
19
+
20
+ ## Changes
21
+ {summary of completed phases}
22
+
23
+ ## Spec
24
+ docs/specs/{name}.md
25
+
26
+ ## Plan
27
+ docs/plans/{name}.md
28
+
29
+ ## Test plan
30
+ {acceptance criteria as a checklist}
31
+ ```
32
+ 6. Present the PR description to the user for review
33
+ 7. Ask: "Ready to commit and push?" — if yes, stage all changes and create a conventional commit
34
+
35
+ ## Output
36
+
37
+ A complete PR description ready to paste or submit. If the user confirms, a commit is created with a conventional commit message.
38
+
39
+ ## Tips
40
+
41
+ - Do not run `/ship` if `/check` found unresolved issues
42
+ - The PR description links to `docs/specs/` and `docs/plans/` — reviewers can follow the full decision trail
43
+ - The commit message follows conventional commits format (e.g. `feat: add {feature-name}`)
@@ -0,0 +1,54 @@
1
+ # /spec [name]
2
+
3
+ **Purpose:** Capture the full specification for a feature or task before any code is written.
4
+
5
+ ## When to use
6
+
7
+ Run this at the very start of any non-trivial feature or task. It ensures the AI assistant and developer share a common understanding of what is being built before any planning or implementation begins.
8
+
9
+ ## Arguments
10
+
11
+ | Argument | Required | Description |
12
+ |----------|----------|-------------|
13
+ | `name` | No | Feature name used as the filename. If omitted, the assistant will ask. |
14
+
15
+ ## Steps
16
+
17
+ 1. Ask for a feature name if not provided
18
+ 2. Gather: goal, user stories, acceptance criteria, constraints, and what is explicitly out of scope
19
+ 3. Create `docs/specs/` if it does not exist
20
+ 4. Save to `docs/specs/{name}.md`
21
+ 5. Confirm the file was saved and prompt the user to run `/research`
22
+
23
+ ## Output
24
+
25
+ Creates `docs/specs/{name}.md` with this structure:
26
+
27
+ ```markdown
28
+ # Spec: {name}
29
+
30
+ ## Goal
31
+ {goal}
32
+
33
+ ## User Stories
34
+ {user stories}
35
+
36
+ ## Acceptance Criteria
37
+ {acceptance criteria}
38
+
39
+ ## Constraints
40
+ {constraints}
41
+
42
+ ## Out of Scope
43
+ {out of scope}
44
+ ```
45
+
46
+ ## Tips
47
+
48
+ - Be specific in acceptance criteria — vague criteria lead to vague implementations
49
+ - Out-of-scope is as important as in-scope; it prevents scope creep
50
+ - The more detail here, the better `/research` and `/plan` will be
51
+
52
+ ## Next step
53
+
54
+ Run [`/research`](research.md) to analyze the spec against the codebase and find reference solutions.