@rasensio/aidlc 0.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/README.md +251 -0
- package/capabilities/claude-code.yaml +9 -0
- package/capabilities/codex.yaml +8 -0
- package/capabilities/cursor.yaml +8 -0
- package/capabilities/kiro.yaml +9 -0
- package/capabilities/windsurf.yaml +8 -0
- package/ci/aidlc-gate.yml +100 -0
- package/dist/cli.d.ts +11 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +39 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/add-action.d.ts +83 -0
- package/dist/commands/add-action.d.ts.map +1 -0
- package/dist/commands/add-action.js +437 -0
- package/dist/commands/add-action.js.map +1 -0
- package/dist/commands/continue.d.ts +23 -0
- package/dist/commands/continue.d.ts.map +1 -0
- package/dist/commands/continue.js +238 -0
- package/dist/commands/continue.js.map +1 -0
- package/dist/commands/discover.d.ts +19 -0
- package/dist/commands/discover.d.ts.map +1 -0
- package/dist/commands/discover.js +85 -0
- package/dist/commands/discover.js.map +1 -0
- package/dist/commands/docs.d.ts +25 -0
- package/dist/commands/docs.d.ts.map +1 -0
- package/dist/commands/docs.js +282 -0
- package/dist/commands/docs.js.map +1 -0
- package/dist/commands/gate.d.ts +25 -0
- package/dist/commands/gate.d.ts.map +1 -0
- package/dist/commands/gate.js +168 -0
- package/dist/commands/gate.js.map +1 -0
- package/dist/commands/init.d.ts +24 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +187 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/review.d.ts +60 -0
- package/dist/commands/review.d.ts.map +1 -0
- package/dist/commands/review.js +264 -0
- package/dist/commands/review.js.map +1 -0
- package/dist/commands/setup.d.ts +24 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +206 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/start.d.ts +27 -0
- package/dist/commands/start.d.ts.map +1 -0
- package/dist/commands/start.js +243 -0
- package/dist/commands/start.js.map +1 -0
- package/dist/commands/status.d.ts +25 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +263 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/transition.d.ts +30 -0
- package/dist/commands/transition.d.ts.map +1 -0
- package/dist/commands/transition.js +353 -0
- package/dist/commands/transition.js.map +1 -0
- package/dist/compile/adapters/claude-code.d.ts +24 -0
- package/dist/compile/adapters/claude-code.d.ts.map +1 -0
- package/dist/compile/adapters/claude-code.js +271 -0
- package/dist/compile/adapters/claude-code.js.map +1 -0
- package/dist/compile/adapters/codex.d.ts +19 -0
- package/dist/compile/adapters/codex.d.ts.map +1 -0
- package/dist/compile/adapters/codex.js +157 -0
- package/dist/compile/adapters/codex.js.map +1 -0
- package/dist/compile/adapters/cursor.d.ts +21 -0
- package/dist/compile/adapters/cursor.d.ts.map +1 -0
- package/dist/compile/adapters/cursor.js +181 -0
- package/dist/compile/adapters/cursor.js.map +1 -0
- package/dist/compile/adapters/index.d.ts +16 -0
- package/dist/compile/adapters/index.d.ts.map +1 -0
- package/dist/compile/adapters/index.js +26 -0
- package/dist/compile/adapters/index.js.map +1 -0
- package/dist/compile/adapters/kiro.d.ts +24 -0
- package/dist/compile/adapters/kiro.d.ts.map +1 -0
- package/dist/compile/adapters/kiro.js +222 -0
- package/dist/compile/adapters/kiro.js.map +1 -0
- package/dist/compile/adapters/windsurf.d.ts +25 -0
- package/dist/compile/adapters/windsurf.d.ts.map +1 -0
- package/dist/compile/adapters/windsurf.js +242 -0
- package/dist/compile/adapters/windsurf.js.map +1 -0
- package/dist/compile/install-plan.d.ts +49 -0
- package/dist/compile/install-plan.d.ts.map +1 -0
- package/dist/compile/install-plan.js +112 -0
- package/dist/compile/install-plan.js.map +1 -0
- package/dist/compile/loaders.d.ts +81 -0
- package/dist/compile/loaders.d.ts.map +1 -0
- package/dist/compile/loaders.js +293 -0
- package/dist/compile/loaders.js.map +1 -0
- package/dist/compile/merger.d.ts +32 -0
- package/dist/compile/merger.d.ts.map +1 -0
- package/dist/compile/merger.js +60 -0
- package/dist/compile/merger.js.map +1 -0
- package/dist/core/gate.d.ts +36 -0
- package/dist/core/gate.d.ts.map +1 -0
- package/dist/core/gate.js +97 -0
- package/dist/core/gate.js.map +1 -0
- package/dist/core/index.d.ts +7 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +7 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/lifecycle.d.ts +89 -0
- package/dist/core/lifecycle.d.ts.map +1 -0
- package/dist/core/lifecycle.js +356 -0
- package/dist/core/lifecycle.js.map +1 -0
- package/dist/core/template-resolver.d.ts +56 -0
- package/dist/core/template-resolver.d.ts.map +1 -0
- package/dist/core/template-resolver.js +261 -0
- package/dist/core/template-resolver.js.map +1 -0
- package/dist/core/types.d.ts +527 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +8 -0
- package/dist/core/types.js.map +1 -0
- package/dist/discover/scanner.d.ts +58 -0
- package/dist/discover/scanner.d.ts.map +1 -0
- package/dist/discover/scanner.js +772 -0
- package/dist/discover/scanner.js.map +1 -0
- package/dist/events/event-bus.d.ts +53 -0
- package/dist/events/event-bus.d.ts.map +1 -0
- package/dist/events/event-bus.js +263 -0
- package/dist/events/event-bus.js.map +1 -0
- package/dist/events/plugin-hooks.d.ts +44 -0
- package/dist/events/plugin-hooks.d.ts.map +1 -0
- package/dist/events/plugin-hooks.js +225 -0
- package/dist/events/plugin-hooks.js.map +1 -0
- package/dist/orchestrator/budget-packer.d.ts +57 -0
- package/dist/orchestrator/budget-packer.d.ts.map +1 -0
- package/dist/orchestrator/budget-packer.js +70 -0
- package/dist/orchestrator/budget-packer.js.map +1 -0
- package/dist/orchestrator/config.d.ts +43 -0
- package/dist/orchestrator/config.d.ts.map +1 -0
- package/dist/orchestrator/config.js +109 -0
- package/dist/orchestrator/config.js.map +1 -0
- package/dist/orchestrator/endpoint-clients.d.ts +23 -0
- package/dist/orchestrator/endpoint-clients.d.ts.map +1 -0
- package/dist/orchestrator/endpoint-clients.js +129 -0
- package/dist/orchestrator/endpoint-clients.js.map +1 -0
- package/dist/orchestrator/orchestrator-loop.d.ts +93 -0
- package/dist/orchestrator/orchestrator-loop.d.ts.map +1 -0
- package/dist/orchestrator/orchestrator-loop.js +185 -0
- package/dist/orchestrator/orchestrator-loop.js.map +1 -0
- package/dist/security/confirmation.d.ts +90 -0
- package/dist/security/confirmation.d.ts.map +1 -0
- package/dist/security/confirmation.js +140 -0
- package/dist/security/confirmation.js.map +1 -0
- package/dist/setup/setup-compute.d.ts +54 -0
- package/dist/setup/setup-compute.d.ts.map +1 -0
- package/dist/setup/setup-compute.js +66 -0
- package/dist/setup/setup-compute.js.map +1 -0
- package/dist/state/snapshot-store.d.ts +79 -0
- package/dist/state/snapshot-store.d.ts.map +1 -0
- package/dist/state/snapshot-store.js +164 -0
- package/dist/state/snapshot-store.js.map +1 -0
- package/dist/state/state-recovery.d.ts +87 -0
- package/dist/state/state-recovery.d.ts.map +1 -0
- package/dist/state/state-recovery.js +274 -0
- package/dist/state/state-recovery.js.map +1 -0
- package/dist/state/transition-log.d.ts +40 -0
- package/dist/state/transition-log.d.ts.map +1 -0
- package/dist/state/transition-log.js +83 -0
- package/dist/state/transition-log.js.map +1 -0
- package/dist/state/yaml-helpers.d.ts +53 -0
- package/dist/state/yaml-helpers.d.ts.map +1 -0
- package/dist/state/yaml-helpers.js +110 -0
- package/dist/state/yaml-helpers.js.map +1 -0
- package/examples/.gitkeep +0 -0
- package/guidance/accessibility.md +67 -0
- package/guidance/api-conventions.md +124 -0
- package/guidance/index.yaml +7 -0
- package/guidance/secure-defaults.md +71 -0
- package/package.json +52 -0
- package/phases/.gitkeep +0 -0
- package/skills/00-overview.md +74 -0
- package/skills/10-ideation.md +45 -0
- package/skills/20-requirements.md +54 -0
- package/skills/30-design.md +57 -0
- package/skills/40-implementation.md +64 -0
- package/skills/50-testing.md +60 -0
- package/skills/60-deployment.md +63 -0
- package/skills/70-maintenance.md +56 -0
- package/skills/80-review.md +85 -0
- package/skills/81-continue.md +57 -0
- package/skills/82-add-action.md +71 -0
- package/templates/.gitkeep +0 -0
- package/templates/bugfix.yaml +14 -0
- package/templates/full-feature.yaml +44 -0
- package/templates/micro-task.yaml +11 -0
- package/templates/quick-feature.yaml +20 -0
- package/templates/spike.yaml +15 -0
|
@@ -0,0 +1,54 @@
|
|
|
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`.
|
|
@@ -0,0 +1,57 @@
|
|
|
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`.
|
|
@@ -0,0 +1,64 @@
|
|
|
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`.
|
|
@@ -0,0 +1,60 @@
|
|
|
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`.
|
|
@@ -0,0 +1,63 @@
|
|
|
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`.
|
|
@@ -0,0 +1,56 @@
|
|
|
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.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: aidlc-review
|
|
3
|
+
description: Performs adversarial review of lifecycle artifacts — examining for ambiguities, gaps, and risks
|
|
4
|
+
phase: requirements
|
|
5
|
+
trigger: Activated when a review is requested for any artifact or phase
|
|
6
|
+
priority: 60
|
|
7
|
+
---
|
|
8
|
+
# Adversarial Review
|
|
9
|
+
|
|
10
|
+
## Purpose
|
|
11
|
+
|
|
12
|
+
Provide a structured, critical review of a lifecycle artifact from fresh context. Surface ambiguities, contradictions, missing edge cases, and risks before the artifact drives downstream work.
|
|
13
|
+
|
|
14
|
+
## Important
|
|
15
|
+
|
|
16
|
+
You MUST perform this review with fresh eyes. If you authored the artifact being reviewed, delegate to a separate session or subagent. Self-review defeats the purpose.
|
|
17
|
+
|
|
18
|
+
## Entry Criteria
|
|
19
|
+
|
|
20
|
+
- A target artifact exists (requirements.md, design.md, or other phase artifact)
|
|
21
|
+
- The reviewer is a different session/agent than the artifact author
|
|
22
|
+
|
|
23
|
+
## Required Artifacts
|
|
24
|
+
|
|
25
|
+
- `<artifact>.review.md` — Structured findings file in the instance namespace
|
|
26
|
+
|
|
27
|
+
## Instructions
|
|
28
|
+
|
|
29
|
+
1. **Read the target artifact completely.** Do not skim.
|
|
30
|
+
2. **Examine for each dimension:**
|
|
31
|
+
- **Ambiguities** — Vague terms, undefined behavior, unclear scope
|
|
32
|
+
- **Contradictions** — Requirements that conflict with each other
|
|
33
|
+
- **Missing edge cases** — Inputs, states, or scenarios not addressed
|
|
34
|
+
- **Untestable criteria** — Requirements with no observable pass/fail
|
|
35
|
+
- **Hidden assumptions** — Unstated preconditions the artifact relies on
|
|
36
|
+
- **Security gaps** — Missing auth, unvalidated input, exposed data
|
|
37
|
+
- **Scalability concerns** — Performance bottlenecks or resource limits
|
|
38
|
+
- **Scope creep** — Functionality beyond the stated scope
|
|
39
|
+
3. **Write findings.** For each issue found, record:
|
|
40
|
+
- **Severity**: `critical`, `major`, or `minor`
|
|
41
|
+
- **Section**: The specific part of the artifact
|
|
42
|
+
- **Issue**: Clear description of the problem
|
|
43
|
+
- **Suggestion**: A concrete resolution or question to ask
|
|
44
|
+
- **Status**: `open` (always for new findings)
|
|
45
|
+
4. **Save the findings file** as `<artifact>.review.md` in the instance namespace.
|
|
46
|
+
|
|
47
|
+
## Findings Format
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
---
|
|
51
|
+
artifact: <filename>
|
|
52
|
+
reviewed_at: <ISO 8601 UTC>
|
|
53
|
+
reviewer: <session-id>
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Finding 1
|
|
57
|
+
- **Severity:** critical | major | minor
|
|
58
|
+
- **Section:** <section reference>
|
|
59
|
+
- **Issue:** <description>
|
|
60
|
+
- **Suggestion:** <resolution>
|
|
61
|
+
- **Status:** open
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Exit Criteria
|
|
65
|
+
|
|
66
|
+
- Findings file exists in the instance namespace
|
|
67
|
+
- Every dimension was considered (even if no issues found — state "no issues" for that dimension)
|
|
68
|
+
- Findings are actionable (each has a concrete suggestion or question)
|
|
69
|
+
|
|
70
|
+
## Review Gate
|
|
71
|
+
|
|
72
|
+
When a Workflow_Template configures an adversarial review gate for a phase, the phase transition is blocked until:
|
|
73
|
+
- A findings file exists for the phase's required artifacts
|
|
74
|
+
- No finding with severity `critical` has status `open`
|
|
75
|
+
|
|
76
|
+
## Security Confirmation
|
|
77
|
+
|
|
78
|
+
If the review identifies security vulnerabilities:
|
|
79
|
+
1. Flag them as `critical` severity
|
|
80
|
+
2. Note that these MUST be resolved before deployment
|
|
81
|
+
3. If the vulnerability involves exposed credentials or active exploits, alert the user immediately rather than only recording a finding
|
|
82
|
+
|
|
83
|
+
## Completion
|
|
84
|
+
|
|
85
|
+
After writing the findings file, report the review summary: total findings count by severity, and whether any critical findings block phase transition.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: aidlc-continue
|
|
3
|
+
description: Resumes a lifecycle instance from the next incomplete step with minimal context loading
|
|
4
|
+
phase: implementation
|
|
5
|
+
priority: 70
|
|
6
|
+
---
|
|
7
|
+
# Lifecycle Continuation
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
|
|
11
|
+
Resume an in-progress lifecycle instance efficiently. Determine where work left off and continue from that exact point without re-reading full artifacts or re-explaining context.
|
|
12
|
+
|
|
13
|
+
## Instructions
|
|
14
|
+
|
|
15
|
+
1. **Load state.** Read `.aidlc/state/<instance>/instance.yaml` to get:
|
|
16
|
+
- Current phase
|
|
17
|
+
- Template name
|
|
18
|
+
- Scope
|
|
19
|
+
- Claim status
|
|
20
|
+
2. **Check claim.** If another session holds the claim:
|
|
21
|
+
- Check `renewed_at` against the staleness timeout (default: 60 minutes)
|
|
22
|
+
- If stale: warn and request override confirmation before taking over
|
|
23
|
+
- If active: warn and do NOT proceed without explicit override
|
|
24
|
+
3. **Claim the instance.** Record your session identifier and timestamp in the claim fields.
|
|
25
|
+
4. **Determine next step.** Apply this priority:
|
|
26
|
+
- If current phase has incomplete required artifacts → produce the next artifact
|
|
27
|
+
- If current phase is complete but not transitioned → evaluate transition (check gates)
|
|
28
|
+
- If transition is allowed → move to next pending phase
|
|
29
|
+
- If all phases complete → report instance complete and fire `on-instance-complete`
|
|
30
|
+
5. **Load minimal context.** Read only:
|
|
31
|
+
- The skill for the determined phase
|
|
32
|
+
- Artifact summaries (`.summary.md`) instead of full artifacts where available
|
|
33
|
+
- Compact state files, not full transition history
|
|
34
|
+
6. **Execute.** Follow the phase skill for the determined step.
|
|
35
|
+
|
|
36
|
+
## Multiple Instances
|
|
37
|
+
|
|
38
|
+
When multiple instances are active and the user did not specify which one:
|
|
39
|
+
- List all active instances: name, current phase, completion percentage
|
|
40
|
+
- Ask the user to select one
|
|
41
|
+
- Resume the selected instance
|
|
42
|
+
|
|
43
|
+
## Exit Criteria
|
|
44
|
+
|
|
45
|
+
- The next step is identified and executed (or the instance is reported as complete)
|
|
46
|
+
- State is updated to reflect progress
|
|
47
|
+
- Claim is held for the duration of work
|
|
48
|
+
|
|
49
|
+
## Security Confirmation
|
|
50
|
+
|
|
51
|
+
If continuation leads to a phase that involves sensitive operations (Deployment, infrastructure changes), apply the security confirmation rules of that phase's skill before executing.
|
|
52
|
+
|
|
53
|
+
## Token Efficiency
|
|
54
|
+
|
|
55
|
+
- Do NOT re-read unchanged files from prior sessions
|
|
56
|
+
- Use state fields to determine progress, not artifact content
|
|
57
|
+
- Load Artifact_Summaries in place of full documents when summaries exist
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: aidlc-add-action
|
|
3
|
+
description: Translates natural language automation descriptions into Lifecycle_Action declarations
|
|
4
|
+
phase: implementation
|
|
5
|
+
priority: 55
|
|
6
|
+
---
|
|
7
|
+
# AI-Assisted Action Authoring
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
|
|
11
|
+
Help the user create Lifecycle_Actions from natural language descriptions. Translate intent into a concrete, validated `.aidlc/actions.yaml` entry.
|
|
12
|
+
|
|
13
|
+
## Instructions
|
|
14
|
+
|
|
15
|
+
1. **Receive the description.** The user provides a natural language description of the automation they want (e.g., "create a log file every time we finish a feature").
|
|
16
|
+
|
|
17
|
+
2. **Infer the lifecycle event.** Map the described trigger to one of:
|
|
18
|
+
- `on-instance-start` — when a lifecycle instance is created
|
|
19
|
+
- `on-phase-enter` — when entering a specific phase
|
|
20
|
+
- `on-phase-exit` — when exiting a specific phase
|
|
21
|
+
- `on-instance-complete` — when all phases are done
|
|
22
|
+
- `on-artifact-created` — when a lifecycle artifact is produced
|
|
23
|
+
|
|
24
|
+
If the trigger cannot be mapped, list all available events and ask the user to select one.
|
|
25
|
+
|
|
26
|
+
3. **Compose the action declaration.** Determine:
|
|
27
|
+
- **event**: The lifecycle event from step 2
|
|
28
|
+
- **phase_filter** (optional): Which phase(s) this applies to
|
|
29
|
+
- **action**: A built-in action name (`git-branch`, `github-issue`, `doc-update`) or a custom shell command
|
|
30
|
+
- **blocking**: `true` if the transition should halt on failure, `false` otherwise
|
|
31
|
+
- **description**: Preserve the user's original natural language intent
|
|
32
|
+
|
|
33
|
+
4. **Present for confirmation.** Show the user:
|
|
34
|
+
```yaml
|
|
35
|
+
- event: <event>
|
|
36
|
+
action: <command or built-in>
|
|
37
|
+
blocking: <true|false>
|
|
38
|
+
description: "<original intent>"
|
|
39
|
+
```
|
|
40
|
+
Ask: "Does this look correct? Confirm to save, or describe changes."
|
|
41
|
+
|
|
42
|
+
5. **Validate.** Before saving, validate the entry against the actions.yaml schema.
|
|
43
|
+
|
|
44
|
+
6. **Save.** On confirmation + valid schema, append the entry to `.aidlc/actions.yaml`.
|
|
45
|
+
|
|
46
|
+
7. **Offer dry-run.** After saving, offer to test-fire the action with a sample event payload (no real transition occurs).
|
|
47
|
+
|
|
48
|
+
## Security Confirmation
|
|
49
|
+
|
|
50
|
+
If the generated command references sensitive operations:
|
|
51
|
+
- File deletion (`rm`, `del`)
|
|
52
|
+
- Infrastructure changes (`terraform`, `aws`, `kubectl`)
|
|
53
|
+
- Permission modifications (`chmod`, `chown`, IAM changes)
|
|
54
|
+
|
|
55
|
+
You MUST:
|
|
56
|
+
1. Warn the user that this action will execute automatically on the lifecycle event
|
|
57
|
+
2. Explain what the command does and what it affects
|
|
58
|
+
3. Require explicit confirmation that the user accepts the automated execution
|
|
59
|
+
4. If declined, do NOT save the entry — `actions.yaml` remains untouched
|
|
60
|
+
|
|
61
|
+
## Error Handling
|
|
62
|
+
|
|
63
|
+
- If the user declines confirmation: do not write anything, report that the action was not saved
|
|
64
|
+
- If schema validation fails: display the violation, do not save, suggest corrections
|
|
65
|
+
- If the description is too ambiguous to infer an event: list events and prompt selection
|
|
66
|
+
|
|
67
|
+
## Exit Criteria
|
|
68
|
+
|
|
69
|
+
- Action entry saved to `.aidlc/actions.yaml` (on confirmation) OR
|
|
70
|
+
- User explicitly declined (no file changes made)
|
|
71
|
+
- Dry-run offered after successful save
|
|
File without changes
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
name: bugfix
|
|
2
|
+
description: Bug fix workflow with reproduction steps, no design phase.
|
|
3
|
+
extends: quick-feature
|
|
4
|
+
scope: standard
|
|
5
|
+
phases: []
|
|
6
|
+
remove:
|
|
7
|
+
- design
|
|
8
|
+
override:
|
|
9
|
+
requirements:
|
|
10
|
+
required_artifacts:
|
|
11
|
+
- name: reproduction.md
|
|
12
|
+
- name: requirements.md
|
|
13
|
+
gates:
|
|
14
|
+
adversarial-review: []
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
name: full-feature
|
|
2
|
+
description: Full lifecycle from ideation through maintenance with adversarial review gates.
|
|
3
|
+
extends: null
|
|
4
|
+
scope: full
|
|
5
|
+
phases:
|
|
6
|
+
- name: ideation
|
|
7
|
+
required_artifacts:
|
|
8
|
+
- name: idea.md
|
|
9
|
+
optional_artifacts:
|
|
10
|
+
- name: research-notes.md
|
|
11
|
+
- name: requirements
|
|
12
|
+
required_artifacts:
|
|
13
|
+
- name: requirements.md
|
|
14
|
+
optional_artifacts:
|
|
15
|
+
- name: stakeholder-notes.md
|
|
16
|
+
- name: design
|
|
17
|
+
required_artifacts:
|
|
18
|
+
- name: design.md
|
|
19
|
+
optional_artifacts:
|
|
20
|
+
- name: architecture-diagram.md
|
|
21
|
+
- name: implementation
|
|
22
|
+
required_artifacts:
|
|
23
|
+
- name: code-complete.md
|
|
24
|
+
optional_artifacts:
|
|
25
|
+
- name: implementation-notes.md
|
|
26
|
+
- name: testing
|
|
27
|
+
required_artifacts:
|
|
28
|
+
- name: test-results.md
|
|
29
|
+
optional_artifacts:
|
|
30
|
+
- name: coverage-report.md
|
|
31
|
+
- name: deployment
|
|
32
|
+
required_artifacts:
|
|
33
|
+
- name: deployment-record.md
|
|
34
|
+
optional_artifacts:
|
|
35
|
+
- name: rollback-plan.md
|
|
36
|
+
- name: maintenance
|
|
37
|
+
required_artifacts:
|
|
38
|
+
- name: maintenance-plan.md
|
|
39
|
+
optional_artifacts:
|
|
40
|
+
- name: monitoring-config.md
|
|
41
|
+
gates:
|
|
42
|
+
adversarial-review:
|
|
43
|
+
- requirements
|
|
44
|
+
- design
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
name: micro-task
|
|
2
|
+
description: Minimal workflow for small tasks requiring only implementation and testing.
|
|
3
|
+
extends: null
|
|
4
|
+
scope: micro
|
|
5
|
+
phases:
|
|
6
|
+
- name: implementation
|
|
7
|
+
required_artifacts:
|
|
8
|
+
- name: code-complete.md
|
|
9
|
+
- name: testing
|
|
10
|
+
required_artifacts:
|
|
11
|
+
- name: test-results.md
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
name: quick-feature
|
|
2
|
+
description: Standard feature workflow from requirements through deployment.
|
|
3
|
+
extends: null
|
|
4
|
+
scope: standard
|
|
5
|
+
phases:
|
|
6
|
+
- name: requirements
|
|
7
|
+
required_artifacts:
|
|
8
|
+
- name: requirements.md
|
|
9
|
+
- name: design
|
|
10
|
+
required_artifacts:
|
|
11
|
+
- name: design.md
|
|
12
|
+
- name: implementation
|
|
13
|
+
required_artifacts:
|
|
14
|
+
- name: code-complete.md
|
|
15
|
+
- name: testing
|
|
16
|
+
required_artifacts:
|
|
17
|
+
- name: test-results.md
|
|
18
|
+
- name: deployment
|
|
19
|
+
required_artifacts:
|
|
20
|
+
- name: deployment-record.md
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
name: spike
|
|
2
|
+
description: Spike or research workflow for exploration and findings documentation.
|
|
3
|
+
extends: null
|
|
4
|
+
scope: standard
|
|
5
|
+
phases:
|
|
6
|
+
- name: ideation
|
|
7
|
+
required_artifacts:
|
|
8
|
+
- name: research-question.md
|
|
9
|
+
optional_artifacts:
|
|
10
|
+
- name: prior-art.md
|
|
11
|
+
- name: requirements
|
|
12
|
+
required_artifacts:
|
|
13
|
+
- name: findings.md
|
|
14
|
+
optional_artifacts:
|
|
15
|
+
- name: recommendations.md
|