@rasensio/aidlc 0.4.0 → 0.7.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.
Files changed (66) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +43 -253
  3. package/dist/cli.js +0 -2
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/continue.d.ts.map +1 -1
  6. package/dist/commands/continue.js +11 -15
  7. package/dist/commands/continue.js.map +1 -1
  8. package/dist/commands/docs.d.ts.map +1 -1
  9. package/dist/commands/docs.js +35 -42
  10. package/dist/commands/docs.js.map +1 -1
  11. package/dist/commands/gate.d.ts.map +1 -1
  12. package/dist/commands/gate.js +11 -15
  13. package/dist/commands/gate.js.map +1 -1
  14. package/dist/commands/init.d.ts +17 -11
  15. package/dist/commands/init.d.ts.map +1 -1
  16. package/dist/commands/init.js +297 -77
  17. package/dist/commands/init.js.map +1 -1
  18. package/dist/commands/start.d.ts.map +1 -1
  19. package/dist/commands/start.js +14 -16
  20. package/dist/commands/start.js.map +1 -1
  21. package/dist/commands/status.d.ts.map +1 -1
  22. package/dist/commands/status.js +11 -15
  23. package/dist/commands/status.js.map +1 -1
  24. package/dist/commands/transition.d.ts.map +1 -1
  25. package/dist/commands/transition.js +11 -15
  26. package/dist/commands/transition.js.map +1 -1
  27. package/dist/commands/update.d.ts.map +1 -1
  28. package/dist/commands/update.js +31 -30
  29. package/dist/commands/update.js.map +1 -1
  30. package/dist/compile/adapters/claude-code.js +2 -2
  31. package/dist/compile/adapters/claude-code.js.map +1 -1
  32. package/dist/compile/adapters/kiro.d.ts.map +1 -1
  33. package/dist/compile/adapters/kiro.js +2 -1
  34. package/dist/compile/adapters/kiro.js.map +1 -1
  35. package/package.json +14 -21
  36. package/capabilities/claude-code.yaml +0 -9
  37. package/capabilities/codex.yaml +0 -8
  38. package/capabilities/cursor.yaml +0 -8
  39. package/capabilities/kiro.yaml +0 -9
  40. package/capabilities/windsurf.yaml +0 -8
  41. package/ci/aidlc-gate.yml +0 -100
  42. package/examples/.gitkeep +0 -0
  43. package/guidance/accessibility.md +0 -67
  44. package/guidance/api-conventions.md +0 -124
  45. package/guidance/index.yaml +0 -7
  46. package/guidance/secure-defaults.md +0 -71
  47. package/phases/.gitkeep +0 -0
  48. package/skills/00-overview.md +0 -74
  49. package/skills/01-getting-started.md +0 -131
  50. package/skills/02-first-activation.md +0 -158
  51. package/skills/10-ideation.md +0 -45
  52. package/skills/20-requirements.md +0 -54
  53. package/skills/30-design.md +0 -57
  54. package/skills/40-implementation.md +0 -64
  55. package/skills/50-testing.md +0 -60
  56. package/skills/60-deployment.md +0 -63
  57. package/skills/70-maintenance.md +0 -56
  58. package/skills/80-review.md +0 -85
  59. package/skills/81-continue.md +0 -57
  60. package/skills/82-add-action.md +0 -71
  61. package/templates/.gitkeep +0 -0
  62. package/templates/bugfix.yaml +0 -14
  63. package/templates/full-feature.yaml +0 -44
  64. package/templates/micro-task.yaml +0 -11
  65. package/templates/quick-feature.yaml +0 -20
  66. package/templates/spike.yaml +0 -15
@@ -1,131 +0,0 @@
1
- ---
2
- name: aidlc-getting-started
3
- description: Helps users get started with AIDLC — responds to onboarding questions, suggests templates, and guides first steps
4
- phase: ideation
5
- priority: 95
6
- trigger: When the user asks how to get started, how to use the framework, or asks about fixing bugs, adding features, or beginning work
7
- ---
8
- # Getting Started with AIDLC
9
-
10
- ## Pre-condition: First Activation
11
-
12
- Before responding with this skill, check whether `.aidlc/context/` exists and contains at least one `.md` file. If it does NOT, defer to the **aidlc-first-activation** skill instead — it will scan the project, build context docs, and then hand control back to the user's original request. Do not proceed with getting-started guidance until first-activation has completed.
13
-
14
- ## When to Activate
15
-
16
- Respond using this skill when the user asks any of the following:
17
- - "How do I get started?"
18
- - "How do I fix a bug?"
19
- - "How do I add a feature?"
20
- - "What should I do first?"
21
- - "How does this lifecycle thing work?"
22
- - "What template should I use?"
23
- - "Help me start working on X"
24
-
25
- ## Quick Answers
26
-
27
- ### "How do I fix a bug?"
28
-
29
- 1. Start a bugfix lifecycle instance:
30
- ```
31
- aidlc start bugfix --name <short-description>
32
- ```
33
- 2. This creates a focused workflow: reproduce the bug → fix it → test it → deploy.
34
- 3. Run `aidlc continue <name>` to see what step to do next.
35
- 4. The bugfix template skips the design phase and requires a `reproduction.md` artifact first.
36
-
37
- ### "How do I add a feature?"
38
-
39
- For a small, well-defined feature:
40
- ```
41
- aidlc start quick-feature --name <feature-name>
42
- ```
43
-
44
- For a larger feature needing design and review:
45
- ```
46
- aidlc start full-feature --name <feature-name>
47
- ```
48
-
49
- For something tiny (just code + test):
50
- ```
51
- aidlc start micro-task --name <task-name>
52
- ```
53
-
54
- ### "How do I explore an idea or do research?"
55
-
56
- ```
57
- aidlc start spike --name <research-topic>
58
- ```
59
- This gives you Ideation + Requirements phases only — no implementation pressure.
60
-
61
- ### "What should I do next?"
62
-
63
- Run:
64
- ```
65
- aidlc continue
66
- ```
67
- This tells you exactly which artifact to produce or which phase to enter next.
68
-
69
- ### "How do I check progress?"
70
-
71
- ```
72
- aidlc status
73
- ```
74
- Shows all active lifecycle instances with completion %, current phase, and stall detection.
75
-
76
- ### "How does the lifecycle work?"
77
-
78
- AIDLC guides your work through phases:
79
-
80
- 1. **Ideation** — What are we building and why?
81
- 2. **Requirements** — What are the acceptance criteria?
82
- 3. **Design** — How will we build it?
83
- 4. **Implementation** — Write the code
84
- 5. **Testing** — Verify it works
85
- 6. **Deployment** — Ship it
86
- 7. **Maintenance** — Keep it running
87
-
88
- Not every task needs all phases. The templates handle this:
89
- - **micro-task** → Implementation + Testing only
90
- - **quick-feature** → Requirements through Deployment
91
- - **full-feature** → All 7 phases with review gates
92
- - **bugfix** → Requirements (reproduction) + Implementation + Testing + Deployment
93
- - **spike** → Ideation + Requirements (research) only
94
-
95
- ### "How do I set up AIDLC in this project?"
96
-
97
- If AIDLC is already installed (you can see `.aidlc/skills/` in the project), just start using it:
98
- ```
99
- aidlc start <template>
100
- ```
101
-
102
- If not installed yet:
103
- ```
104
- aidlc setup
105
- ```
106
- This runs an interactive wizard that configures the framework for your project.
107
-
108
- ## Choosing the Right Template
109
-
110
- | You want to... | Use this template | Scope |
111
- |---------------|-------------------|-------|
112
- | Fix a bug | `bugfix` | Standard (no design) |
113
- | Add a small feature | `quick-feature` | Standard |
114
- | Build something complex | `full-feature` | Full (with review gates) |
115
- | Just write code + test | `micro-task` | Micro |
116
- | Research / explore | `spike` | Ideation + Requirements |
117
-
118
- ## After Starting
119
-
120
- Once you've started an instance, the framework tracks your progress. At any point:
121
- - `aidlc continue` — what to do next
122
- - `aidlc status` — overall progress
123
- - `aidlc gate <instance> <phase>` — check if a phase is complete
124
- - `aidlc transition <instance>` — advance to the next phase
125
-
126
- ## State Location
127
-
128
- All lifecycle state lives in `.aidlc/state/<instance-name>/`. It's just YAML files — you can read them directly if needed. The key files are:
129
- - `instance.yaml` — which template, scope, and current phase
130
- - `phase-<name>.yaml` — artifact completion for each phase
131
- - `transitions.log` — history of phase transitions
@@ -1,158 +0,0 @@
1
- ---
2
- name: aidlc-first-activation
3
- description: Auto-discovers a brownfield project on first activation — scans codebase, asks about extra context folders, writes context docs
4
- phase: ideation
5
- priority: 98
6
- trigger: When AIDLC is installed but `.aidlc/context/` does not exist or contains no files
7
- ---
8
- # First Activation — Project Discovery
9
-
10
- ## Purpose
11
-
12
- When AIDLC is freshly installed in an existing (brownfield) project, this skill runs once to build project context automatically. It replaces the need for the user to run `aidlc discover` from the terminal.
13
-
14
- ## Activation Condition
15
-
16
- Activate this skill **before any other AIDLC skill** when ALL of the following are true:
17
-
18
- 1. AIDLC skills are installed (`.aidlc/skills/` exists)
19
- 2. The context directory is missing or empty (`.aidlc/context/` does not exist, or contains no `.md` files)
20
- 3. The user has just sent a message (any message — they may be asking to fix a bug, add a feature, etc.)
21
-
22
- If `.aidlc/context/` already contains at least one `.md` file, skip this skill entirely and proceed with the user's request using the appropriate skill.
23
-
24
- ## Behavior
25
-
26
- ### Step 1: Acknowledge and Scan
27
-
28
- Tell the user briefly that you're indexing the project for the first time. Keep it short — don't block them with a wall of text.
29
-
30
- Example: *"First time here — let me scan the project quickly so I have context."*
31
-
32
- Then perform a lightweight scan:
33
-
34
- 1. **Read manifest files** at the project root: `package.json`, `pyproject.toml`, `Cargo.toml`, `go.mod`, `pom.xml`, `build.gradle`, `Gemfile`, or equivalent.
35
- 2. **List top-level directories** to understand the project structure.
36
- 3. **Sample 3-5 source files** from the primary source directory to detect:
37
- - Indentation style (tabs, 2-space, 4-space)
38
- - Naming convention (camelCase, snake_case, PascalCase)
39
- - Import style (grouped vs ungrouped)
40
- 4. **Identify the tech stack**: language(s), frameworks, test runner, build tool, linter.
41
-
42
- ### Step 2: Ask About Extra Context Folders
43
-
44
- After scanning, ask the user:
45
-
46
- > "I've got the basics — [summarize: language, framework, structure in one line].
47
- >
48
- > Beyond the source code, are there any folders I should be aware of for ongoing context? For example: specs, roadmap, architecture decisions, API schemas, design docs, etc."
49
-
50
- Wait for the user's answer. Common examples:
51
- - `specs/`, `docs/`, `roadmap/`, `architecture/`, `adr/`, `design/`, `api/`
52
- - The user might also point to specific files like `ARCHITECTURE.md` or `openapi.yaml`
53
-
54
- If the user says "no" or "that's it," proceed without extra folders.
55
-
56
- ### Step 3: Read Extra Context
57
-
58
- For each folder or file the user mentions:
59
- 1. List its contents (non-recursive, top level only for folders)
60
- 2. Read key files (prefer: index files, READMEs, YAML/JSON schemas, markdown docs)
61
- 3. Summarize what you found — don't copy entire documents verbatim
62
-
63
- Cap this step: read at most 10 files total from extra context folders. If there's more, note what was skipped and tell the user they can point you at specific files later.
64
-
65
- ### Step 4: Write Context Documents
66
-
67
- Create `.aidlc/context/` and write:
68
-
69
- #### `style-guide.md`
70
- ```markdown
71
- ---
72
- generated_by: aidlc-first-activation
73
- generated_at: <ISO 8601 UTC>
74
- ---
75
- # Style Guide
76
-
77
- ## Languages
78
- <table of languages with approximate file counts>
79
-
80
- ## Conventions
81
- - Indentation: <detected>
82
- - Naming: <detected>
83
- - Import style: <detected>
84
-
85
- ## Frameworks & Tools
86
- <list of detected frameworks, test runners, build tools>
87
- ```
88
-
89
- #### `architecture.md`
90
- ```markdown
91
- ---
92
- generated_by: aidlc-first-activation
93
- generated_at: <ISO 8601 UTC>
94
- ---
95
- # Architecture Overview
96
-
97
- ## Tech Stack
98
- <primary languages and frameworks>
99
-
100
- ## Directory Structure
101
- <role mapping of top-level directories>
102
-
103
- ## Entry Points
104
- <detected entry points>
105
-
106
- ## Configuration
107
- <config approach: env vars, YAML, etc.>
108
- ```
109
-
110
- #### `project-knowledge.md` (only if the user provided extra folders)
111
- ```markdown
112
- ---
113
- generated_by: aidlc-first-activation
114
- generated_at: <ISO 8601 UTC>
115
- source_paths:
116
- - <path1>
117
- - <path2>
118
- ---
119
- # Project Knowledge
120
-
121
- ## Sources
122
- <list of folders/files the user pointed to>
123
-
124
- ## Summary
125
-
126
- ### <Folder/File 1 Name>
127
- <2-5 sentence summary of what's in there and what's relevant>
128
-
129
- ### <Folder/File 2 Name>
130
- <2-5 sentence summary>
131
-
132
- ## Key References
133
- <specific files worth reading in full when working on related areas>
134
- ```
135
-
136
- ### Step 5: Confirm and Continue
137
-
138
- After writing the context docs, briefly confirm:
139
-
140
- > "Done — indexed the project. Context saved to `.aidlc/context/`. Now, back to your request..."
141
-
142
- Then **immediately proceed** with whatever the user originally asked. Do not make them repeat themselves. Their original message is still the active task — discovery was a transparent preamble.
143
-
144
- ## Important Notes
145
-
146
- - **This skill runs exactly once per project.** After context docs are written, it never triggers again.
147
- - **Don't over-scan.** This is a lightweight pass, not a full AST analysis. 3-5 sampled files is enough for style detection.
148
- - **Don't block the user.** The scan should feel like a 10-second preamble, not a separate workflow. If the project is huge, just scan what you can quickly and note gaps.
149
- - **Respect .gitignore patterns.** Don't scan `node_modules/`, `dist/`, `build/`, `.git/`, etc.
150
- - **Extra context is optional.** If the user says "nah, just the code" — that's fine. Skip `project-knowledge.md`.
151
- - **The user's original request takes priority.** Discovery enables better answers but must not derail the conversation.
152
-
153
- ## Exit Criteria
154
-
155
- - `.aidlc/context/style-guide.md` exists with detected conventions
156
- - `.aidlc/context/architecture.md` exists with structure overview
157
- - `.aidlc/context/project-knowledge.md` exists (if extra folders were provided)
158
- - The user's original request is being addressed (not abandoned)
@@ -1,45 +0,0 @@
1
- ---
2
- name: aidlc-ideation
3
- description: Guides the Ideation phase — exploring the problem space, defining goals and constraints
4
- phase: ideation
5
- priority: 50
6
- ---
7
- # Ideation Phase
8
-
9
- ## Purpose
10
-
11
- Explore the problem space before committing to a solution. Define what we are building, why, and what constraints exist.
12
-
13
- ## Entry Criteria
14
-
15
- - A lifecycle instance has been created with a Full scope
16
- - The instance is claimed by this session
17
-
18
- ## Required Artifacts
19
-
20
- - `ideation.md` — Problem statement, goals, constraints, initial ideas, and open questions
21
-
22
- ## Instructions
23
-
24
- 1. **Clarify the problem.** Ask the user what they want to build and why. Identify the core need vs. nice-to-haves.
25
- 2. **Explore constraints.** Document: timeline, technical constraints, platform limitations, team size, budget considerations.
26
- 3. **Generate options.** Propose 2-3 approaches. For each, note trade-offs (complexity, time, risk).
27
- 4. **Identify unknowns.** List open questions that need answers before requirements can be written.
28
- 5. **Summarize.** Write `ideation.md` with sections: Problem Statement, Goals, Constraints, Explored Options, Open Questions.
29
-
30
- ## Exit Criteria
31
-
32
- - `ideation.md` exists and contains at minimum a problem statement and one defined goal
33
- - The user has confirmed the direction (which option to pursue or a synthesis)
34
-
35
- ## Guidance
36
-
37
- {{guidance:secure-defaults}}
38
-
39
- ## Security Confirmation
40
-
41
- If any ideation option involves sensitive operations (new credentials, infrastructure provisioning, access control changes), flag it explicitly and note that confirmation will be required before execution in later phases.
42
-
43
- ## Completion
44
-
45
- When exit criteria are met, update `phase-ideation.yaml` status to `complete` and append a transition record to `transitions.log`.
@@ -1,54 +0,0 @@
1
- ---
2
- name: aidlc-requirements
3
- description: Guides the Requirements phase — defining acceptance criteria and user stories
4
- phase: requirements
5
- priority: 50
6
- ---
7
- # Requirements Phase
8
-
9
- ## Purpose
10
-
11
- Translate the ideation output (or the user's direct request) into precise, testable acceptance criteria.
12
-
13
- ## Entry Criteria
14
-
15
- - Ideation phase complete (Full scope) OR instance created with Standard scope
16
- - The instance is claimed by this session
17
-
18
- ## Required Artifacts
19
-
20
- - `requirements.md` — User stories, acceptance criteria, scope boundaries, non-functional requirements
21
-
22
- ## Instructions
23
-
24
- 1. **Gather requirements.** If a Full scope, read `ideation.md` for context. Otherwise, ask the user to describe desired behavior.
25
- 2. **Write user stories.** Use the format: "As a [role], I want [capability], so that [benefit]."
26
- 3. **Define acceptance criteria.** Each criterion must be:
27
- - Specific and unambiguous
28
- - Testable (an observable outcome)
29
- - Independent (not relying on unstated assumptions)
30
- 4. **Set scope boundaries.** Explicitly state what is NOT included.
31
- 5. **Non-functional requirements.** Address performance, security, accessibility, and compatibility where relevant.
32
- 6. **For complex input**: If requirements are extensive, create an Input_File at `.aidlc/inbox/requirements-input.md` with structured sections for the user to fill in, rather than asking many sequential questions.
33
-
34
- ## Exit Criteria
35
-
36
- - `requirements.md` exists with at least one user story and corresponding acceptance criteria
37
- - Each acceptance criterion is testable (has an observable pass/fail condition)
38
- - The user has confirmed the requirements are complete for the chosen scope
39
-
40
- ## Guidance
41
-
42
- {{context:style-guide}}
43
- {{guidance:secure-defaults}}
44
-
45
- ## Security Confirmation
46
-
47
- If requirements reference sensitive data handling, authentication flows, or access control:
48
- 1. Explicitly document the security requirements as acceptance criteria
49
- 2. Flag that a security review will be needed before deployment
50
- 3. Never embed credentials or secrets in requirement examples
51
-
52
- ## Completion
53
-
54
- When exit criteria are met, update `phase-requirements.yaml` status to `complete` and append a transition record to `transitions.log`.
@@ -1,57 +0,0 @@
1
- ---
2
- name: aidlc-design
3
- description: Guides the Design phase — architecture decisions, interfaces, and data flow
4
- phase: design
5
- priority: 50
6
- ---
7
- # Design Phase
8
-
9
- ## Purpose
10
-
11
- Produce a technical design that satisfies the requirements. Define architecture, interfaces, data models, and integration points before writing code.
12
-
13
- ## Entry Criteria
14
-
15
- - Requirements phase complete
16
- - The instance is claimed by this session
17
-
18
- ## Required Artifacts
19
-
20
- - `design.md` — Architecture overview, component design, interfaces, data flow, and design decisions with rationale
21
-
22
- ## Instructions
23
-
24
- 1. **Review requirements.** Read `requirements.md` (or its summary if one exists). Identify the key technical challenges.
25
- 2. **Define architecture.** Describe the high-level structure: components, their responsibilities, and how they communicate.
26
- 3. **Specify interfaces.** For each component boundary, define the contract (function signatures, API shapes, data types).
27
- 4. **Data flow.** Document how data moves through the system — inputs, transformations, storage, outputs.
28
- 5. **Design decisions.** Record each significant decision with rationale and alternatives considered.
29
- 6. **Address non-functional concerns.** Map performance, security, and accessibility requirements to design choices.
30
- 7. **Identify risks.** Note technical risks and mitigation strategies.
31
-
32
- ## Exit Criteria
33
-
34
- - `design.md` exists with architecture, interfaces, and at least one design decision with rationale
35
- - The design addresses all acceptance criteria from `requirements.md`
36
- - The user has confirmed the design direction
37
-
38
- ## Guidance
39
-
40
- {{context:architecture}}
41
- {{context:style-guide}}
42
- {{guidance:secure-defaults}}
43
- {{guidance:accessibility}}
44
-
45
- ## Security Confirmation
46
-
47
- If the design involves:
48
- - New authentication or authorization flows
49
- - Data storage of sensitive information
50
- - External service integrations with credentials
51
- - Infrastructure provisioning
52
-
53
- You MUST flag these explicitly in the design document and note that implementation will require security confirmation before proceeding.
54
-
55
- ## Completion
56
-
57
- When exit criteria are met, update `phase-design.yaml` status to `complete` and append a transition record to `transitions.log`.
@@ -1,64 +0,0 @@
1
- ---
2
- name: aidlc-implementation
3
- description: Guides the Implementation phase — writing code following the design and project conventions
4
- phase: implementation
5
- priority: 50
6
- ---
7
- # Implementation Phase
8
-
9
- ## Purpose
10
-
11
- Produce working code that satisfies the design and requirements. Follow project conventions discovered in context docs.
12
-
13
- ## Entry Criteria
14
-
15
- - Design phase complete (Full/Standard scope) OR instance created with Micro scope (task description + criteria exist)
16
- - The instance is claimed by this session
17
-
18
- ## Required Artifacts
19
-
20
- - Source code changes implementing the feature or fix
21
- - Updated or new tests (handed off to Testing phase for verification)
22
-
23
- ## Instructions
24
-
25
- 1. **Load context.** Read `.aidlc/context/style-guide.md` and `.aidlc/context/architecture.md` if they exist. Match the project's established patterns.
26
- 2. **Load guidance.** Read all active Guidance_Layers from `.aidlc/guidance/index.yaml`. Apply their rules during implementation.
27
- 3. **Plan the work.** Break the implementation into discrete steps. For Micro scope, reference the task description and acceptance criteria directly.
28
- 4. **Write code.** Follow the design interfaces. Match existing code style (naming, formatting, error handling patterns).
29
- 5. **Handle sensitive operations.** Before executing any of the following, describe the action and wait for explicit user confirmation:
30
- - File deletions or destructive operations
31
- - Infrastructure changes (provisioning, configuration)
32
- - Permission or access control modifications
33
- - Credential or secret handling
34
- 6. **Commit incrementally.** Produce working code at each step; avoid large uncommittable diffs.
35
- 7. **Update state.** As implementation artifacts are produced, mark them in `phase-implementation.yaml`.
36
-
37
- ## Exit Criteria
38
-
39
- - All acceptance criteria from requirements are addressed in code
40
- - Code follows project style (naming, formatting, patterns from context docs)
41
- - No unresolved TODOs or placeholder implementations remain for required functionality
42
- - Guidance layer rules have been applied (security defaults, accessibility, API conventions)
43
-
44
- ## Guidance
45
-
46
- {{context:style-guide}}
47
- {{context:architecture}}
48
- {{guidance:secure-defaults}}
49
- {{guidance:accessibility}}
50
- {{guidance:api-conventions}}
51
-
52
- ## Security Confirmation
53
-
54
- Before proceeding with any sensitive operation during implementation:
55
- 1. Describe what the operation does and what it affects
56
- 2. State whether it is reversible
57
- 3. Wait for explicit user acknowledgment
58
- 4. If the user cancels, halt execution and log the cancellation with a timestamp in state
59
-
60
- Never store credentials, API keys, tokens, or passwords in source code or state files. Use placeholder syntax for secrets (e.g., `${SECRET_NAME}`).
61
-
62
- ## Completion
63
-
64
- When exit criteria are met, update `phase-implementation.yaml` status to `complete` and append a transition record to `transitions.log`.
@@ -1,60 +0,0 @@
1
- ---
2
- name: aidlc-testing
3
- description: Guides the Testing phase — verifying implementation against requirements
4
- phase: testing
5
- priority: 50
6
- ---
7
- # Testing Phase
8
-
9
- ## Purpose
10
-
11
- Verify that the implementation satisfies all acceptance criteria. Produce evidence of correctness through automated tests and manual verification where needed.
12
-
13
- ## Entry Criteria
14
-
15
- - Implementation phase complete
16
- - The instance is claimed by this session
17
-
18
- ## Required Artifacts
19
-
20
- - Test files covering acceptance criteria
21
- - `testing.md` — Test plan, results summary, and coverage notes
22
-
23
- ## Instructions
24
-
25
- 1. **Review acceptance criteria.** Read `requirements.md` (or task description for Micro scope). Each criterion needs at least one test.
26
- 2. **Write automated tests.** Follow the project's existing test patterns:
27
- - Unit tests for pure logic and edge cases
28
- - Integration tests for component interactions
29
- - Property-based tests where inputs have broad domains
30
- 3. **Run tests.** Execute the project's test suite. All new tests must pass.
31
- 4. **Document results.** Write `testing.md` with:
32
- - Test plan (what was tested and why)
33
- - Results (pass/fail counts, any notable findings)
34
- - Coverage notes (which criteria are covered, any gaps)
35
- 5. **Address failures.** If tests reveal bugs, fix the implementation. Do not skip or weaken tests to force a pass.
36
-
37
- ## Exit Criteria
38
-
39
- - All acceptance criteria have corresponding test coverage
40
- - All tests pass
41
- - `testing.md` exists with results summary
42
- - No critical bugs remain open
43
-
44
- ## Guidance
45
-
46
- {{context:style-guide}}
47
- {{guidance:secure-defaults}}
48
-
49
- ## Security Confirmation
50
-
51
- If testing requires:
52
- - Access to production-like environments
53
- - Use of real credentials or sensitive data
54
- - Execution of destructive operations (even in test environments)
55
-
56
- You MUST describe the action, confirm it targets a safe environment, and wait for user acknowledgment before proceeding.
57
-
58
- ## Completion
59
-
60
- When exit criteria are met, update `phase-testing.yaml` status to `complete` and append a transition record to `transitions.log`.
@@ -1,63 +0,0 @@
1
- ---
2
- name: aidlc-deployment
3
- description: Guides the Deployment phase — release preparation, validation, and execution
4
- phase: deployment
5
- priority: 50
6
- ---
7
- # Deployment Phase
8
-
9
- ## Purpose
10
-
11
- Prepare and execute the release. Ensure all preceding phases are complete, all gates pass, and the deployment itself is safe and reversible.
12
-
13
- ## Entry Criteria
14
-
15
- - All preceding required phases have status `complete` in the State_Store
16
- - Testing phase complete with all tests passing
17
- - Security sign-off recorded (if a security review phase is configured)
18
- - The instance is claimed by this session
19
-
20
- ## Required Artifacts
21
-
22
- - `deployment.md` — Release plan, rollback strategy, deployment checklist
23
-
24
- ## Instructions
25
-
26
- 1. **Validate readiness.** Run `aidlc gate deployment` (or check state manually): every preceding required phase must be complete. If any gate fails, address the gap before proceeding.
27
- 2. **Write release plan.** Document in `deployment.md`:
28
- - What is being deployed (version, changes summary)
29
- - Target environment(s)
30
- - Deployment steps in order
31
- - Rollback procedure
32
- - Monitoring and verification steps post-deploy
33
- 3. **Pre-deployment checks.** Verify:
34
- - CI pipeline passes
35
- - No critical findings open from adversarial reviews
36
- - Dependencies are pinned and audited
37
- 4. **Execute deployment.** Follow the release plan step by step.
38
- 5. **Verify.** Confirm the deployment succeeded using the monitoring steps.
39
-
40
- ## Exit Criteria
41
-
42
- - `deployment.md` exists with release plan and rollback strategy
43
- - Deployment executed successfully (or plan approved for manual execution)
44
- - Post-deployment verification confirms expected behavior
45
-
46
- ## Security Confirmation
47
-
48
- Deployment is inherently sensitive. You MUST:
49
- 1. Confirm the target environment with the user (production vs. staging vs. dev)
50
- 2. Present the full list of changes being deployed
51
- 3. Confirm rollback procedure exists and is tested
52
- 4. Wait for explicit user approval before executing any deployment command
53
- 5. If deploying to production, require additional confirmation stating the environment name
54
-
55
- Never deploy without explicit user confirmation. If the user cancels, halt and log the cancellation.
56
-
57
- ## Guidance
58
-
59
- {{guidance:secure-defaults}}
60
-
61
- ## Completion
62
-
63
- When exit criteria are met, update `phase-deployment.yaml` status to `complete` and append a transition record to `transitions.log`.
@@ -1,56 +0,0 @@
1
- ---
2
- name: aidlc-maintenance
3
- description: Guides the Maintenance phase — monitoring, iteration, and documentation upkeep
4
- phase: maintenance
5
- priority: 50
6
- ---
7
- # Maintenance Phase
8
-
9
- ## Purpose
10
-
11
- Ensure the deployed feature remains healthy. Update documentation, address feedback, and plan follow-up work.
12
-
13
- ## Entry Criteria
14
-
15
- - Deployment phase complete
16
- - The instance is claimed by this session
17
-
18
- ## Required Artifacts
19
-
20
- - `maintenance.md` — Post-deployment notes, monitoring status, known issues, follow-up items
21
-
22
- ## Instructions
23
-
24
- 1. **Monitor.** Check that the deployed changes behave as expected in their target environment. Note any anomalies.
25
- 2. **Update documentation.** Ensure project docs reflect the new state:
26
- - README or user-facing docs updated if behavior changed
27
- - Architecture docs updated if new components were added
28
- - API docs updated if endpoints changed
29
- 3. **Gather feedback.** Collect user/team feedback on the delivered feature.
30
- 4. **Record known issues.** Document any edge cases, limitations, or technical debt introduced.
31
- 5. **Plan follow-up.** If feedback or monitoring reveals needed improvements, document them as potential future lifecycle instances.
32
- 6. **Close the instance.** When maintenance tasks are complete, mark the lifecycle instance as done.
33
-
34
- ## Exit Criteria
35
-
36
- - `maintenance.md` exists with post-deployment status
37
- - Documentation is updated to reflect the delivered changes
38
- - No critical issues remain unaddressed
39
- - Follow-up items are documented (even if deferred to new instances)
40
-
41
- ## Security Confirmation
42
-
43
- If maintenance involves:
44
- - Modifying production configuration
45
- - Rotating credentials or updating access controls
46
- - Patching security vulnerabilities
47
-
48
- You MUST describe the change, confirm the target environment, and wait for explicit user approval before proceeding.
49
-
50
- ## Guidance
51
-
52
- {{guidance:secure-defaults}}
53
-
54
- ## Completion
55
-
56
- When exit criteria are met, update `phase-maintenance.yaml` status to `complete`, append a transition record to `transitions.log`, and fire the `on-instance-complete` event.