@sixsevenai/ai-dlc-installer 1.4.2 → 1.4.4
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/dist/cli.js +48 -2
- package/dist/cli.js.map +1 -1
- package/library/commands/commit.md +45 -3
- package/library/commands/spec/analyze.md +5 -1
- package/library/commands/spec/checklist.md +5 -1
- package/library/commands/spec/clarify.md +5 -1
- package/library/commands/spec/complete.md +5 -1
- package/library/commands/spec/constitution.md +5 -1
- package/library/commands/spec/implement.md +9 -1
- package/library/commands/spec/plan.md +5 -1
- package/library/commands/spec/task-to-issue.md +5 -1
- package/library/commands/spec/tasks.md +5 -1
- package/library/commands/spec/to-intent.md +5 -1
- package/package.json +1 -1
|
@@ -68,18 +68,60 @@ Intelligently group staged changes into logical commits.
|
|
|
68
68
|
|
|
69
69
|
---
|
|
70
70
|
|
|
71
|
+
## Branch Sync Gate (PR workflows only)
|
|
72
|
+
|
|
73
|
+
<gate id="branch-sync" blocking="true" trigger="--generate-pr, --generate-merge-pr, --generate-merge-pr-tag">
|
|
74
|
+
<description>Ensures the current branch includes all commits from origin/main before creating a PR. Prevents merge conflicts and "branch is behind" failures on GitHub.</description>
|
|
75
|
+
|
|
76
|
+
<action>
|
|
77
|
+
1. Fetch latest remote state:
|
|
78
|
+
```bash
|
|
79
|
+
git fetch origin main
|
|
80
|
+
```
|
|
81
|
+
2. Check if origin/main is an ancestor of the current branch:
|
|
82
|
+
```bash
|
|
83
|
+
git merge-base --is-ancestor origin/main HEAD
|
|
84
|
+
```
|
|
85
|
+
</action>
|
|
86
|
+
|
|
87
|
+
<verify>
|
|
88
|
+
Exit code 0 from `git merge-base --is-ancestor` means the branch already includes origin/main. Continue normally.
|
|
89
|
+
</verify>
|
|
90
|
+
|
|
91
|
+
<on-fail>
|
|
92
|
+
Exit code 1 means origin/main has commits not in this branch.
|
|
93
|
+
|
|
94
|
+
1. Report to the user: "Branch is behind origin/main. Rebasing to incorporate upstream changes."
|
|
95
|
+
2. Rebase onto origin/main:
|
|
96
|
+
```bash
|
|
97
|
+
git rebase origin/main
|
|
98
|
+
```
|
|
99
|
+
3. If rebase succeeds cleanly, continue with the PR workflow.
|
|
100
|
+
</on-fail>
|
|
101
|
+
|
|
102
|
+
<on-fail type="rebase-conflict">
|
|
103
|
+
If rebase conflicts occur, **STOP** immediately and report:
|
|
104
|
+
|
|
105
|
+
> "Rebase conflict detected. Resolve conflicts manually, then run `/commit` again."
|
|
106
|
+
|
|
107
|
+
Do NOT force-push or auto-resolve conflicts. Do NOT continue with the PR workflow.
|
|
108
|
+
</on-fail>
|
|
109
|
+
</gate>
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
71
113
|
## Workflow Options
|
|
72
114
|
|
|
73
115
|
<execution-mode name="generate-pr" trigger="--generate-pr">
|
|
74
|
-
Creates a pull request on GitHub
|
|
116
|
+
Creates a pull request on GitHub (runs Branch Sync Gate first)
|
|
75
117
|
</execution-mode>
|
|
76
118
|
|
|
77
119
|
<execution-mode name="generate-merge-pr" trigger="--generate-merge-pr">
|
|
78
|
-
Creates PR, merges to main, and pulls main locally
|
|
120
|
+
Creates PR, merges to main, and pulls main locally (runs Branch Sync Gate first)
|
|
79
121
|
</execution-mode>
|
|
80
122
|
|
|
81
123
|
<execution-mode name="generate-merge-pr-tag" trigger="--generate-merge-pr-tag">
|
|
82
|
-
Creates PR, merges, pulls main, and creates a semantic version tag (v1.0.0 → v1.0.1)
|
|
124
|
+
Creates PR, merges, pulls main, and creates a semantic version tag (v1.0.0 → v1.0.1) (runs Branch Sync Gate first)
|
|
83
125
|
</execution-mode>
|
|
84
126
|
|
|
85
127
|
---
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
command: spec:analyze
|
|
3
3
|
description: Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.
|
|
4
|
-
argument-hint: ""
|
|
4
|
+
argument-hint: "[--offline [spec-name]]"
|
|
5
5
|
phase: construction
|
|
6
6
|
allowed-tools: Task, Read, Glob, Grep
|
|
7
7
|
args: []
|
|
@@ -24,6 +24,10 @@ $ARGUMENTS
|
|
|
24
24
|
|
|
25
25
|
You **MUST** consider the user input before proceeding (if not empty).
|
|
26
26
|
|
|
27
|
+
## Offline Mode
|
|
28
|
+
|
|
29
|
+
When `--offline` is passed, this command operates without an active AI-DLC session. Session state is stored locally in the spec's own directory (`artifacts/specs/{spec-name}/session-state.json`) instead of `.ai-dlc/session-state.json`. Provide the spec name as an argument if multiple specs exist, or omit it if only one spec is in progress.
|
|
30
|
+
|
|
27
31
|
## Goal
|
|
28
32
|
|
|
29
33
|
Identify inconsistencies, duplications, ambiguities, and underspecified items across the three core artifacts (`spec.md`, `plan.md`, `tasks.md`) before implementation. This command MUST run only after `/spec:tasks` has successfully produced a complete `tasks.md`.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
command: spec:checklist
|
|
3
3
|
description: Generate a custom checklist for the current feature based on user requirements.
|
|
4
|
-
argument-hint: "[domain]"
|
|
4
|
+
argument-hint: "[domain] [--offline [spec-name]]"
|
|
5
5
|
phase: construction
|
|
6
6
|
allowed-tools: Task, Read, Write, Edit, Glob, Grep, AskUserQuestion
|
|
7
7
|
args:
|
|
@@ -48,6 +48,10 @@ $ARGUMENTS
|
|
|
48
48
|
|
|
49
49
|
You **MUST** consider the user input before proceeding (if not empty).
|
|
50
50
|
|
|
51
|
+
## Offline Mode
|
|
52
|
+
|
|
53
|
+
When `--offline` is passed, this command operates without an active AI-DLC session. Session state is stored locally in the spec's own directory (`artifacts/specs/{spec-name}/session-state.json`) instead of `.ai-dlc/session-state.json`. Provide the spec name as an argument if multiple specs exist, or omit it if only one spec is in progress.
|
|
54
|
+
|
|
51
55
|
## Execution Steps
|
|
52
56
|
|
|
53
57
|
<execution-steps>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
command: spec:clarify
|
|
3
3
|
description: Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.
|
|
4
|
-
argument-hint: ""
|
|
4
|
+
argument-hint: "[--offline [spec-name]]"
|
|
5
5
|
phase: inception
|
|
6
6
|
allowed-tools: Task, Read, Write, Edit, Glob, Grep, AskUserQuestion
|
|
7
7
|
args: []
|
|
@@ -24,6 +24,10 @@ $ARGUMENTS
|
|
|
24
24
|
|
|
25
25
|
You **MUST** consider the user input before proceeding (if not empty).
|
|
26
26
|
|
|
27
|
+
## Offline Mode
|
|
28
|
+
|
|
29
|
+
When `--offline` is passed, this command operates without an active AI-DLC session. Session state is stored locally in the spec's own directory (`artifacts/specs/{spec-name}/session-state.json`) instead of `.ai-dlc/session-state.json`. Provide the spec name as an argument if multiple specs exist, or omit it if only one spec is in progress.
|
|
30
|
+
|
|
27
31
|
## Outline
|
|
28
32
|
|
|
29
33
|
Goal: Detect and reduce ambiguity or missing decision points in the active feature specification and record the clarifications directly in the spec file.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
command: spec:complete
|
|
3
3
|
description: Complete and archive the current spec session, marking it as finished
|
|
4
|
-
argument-hint: ""
|
|
4
|
+
argument-hint: "[--offline [spec-name]]"
|
|
5
5
|
phase: finalization
|
|
6
6
|
allowed-tools: Bash, Read
|
|
7
7
|
args: []
|
|
@@ -16,6 +16,10 @@ args: []
|
|
|
16
16
|
|
|
17
17
|
<!-- CONTEXT_ISOLATION:END -->
|
|
18
18
|
|
|
19
|
+
## Offline Mode
|
|
20
|
+
|
|
21
|
+
When `--offline` is passed, this command operates without an active AI-DLC session. Session state is stored locally in the spec's own directory (`artifacts/specs/{spec-name}/session-state.json`) instead of `.ai-dlc/session-state.json`. Provide the spec name as an argument if multiple specs exist, or omit it if only one spec is in progress.
|
|
22
|
+
|
|
19
23
|
## Purpose
|
|
20
24
|
|
|
21
25
|
Complete the current spec workflow session:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
command: spec:constitution
|
|
3
3
|
description: Create or update the project constitution from interactive or provided principle inputs, ensuring all dependent templates stay in sync.
|
|
4
|
-
argument-hint: "[principles]"
|
|
4
|
+
argument-hint: "[principles] [--offline [spec-name]]"
|
|
5
5
|
phase: inception
|
|
6
6
|
allowed-tools: Task, Read, Write, Edit, Glob, Grep, AskUserQuestion
|
|
7
7
|
args:
|
|
@@ -20,6 +20,10 @@ $ARGUMENTS
|
|
|
20
20
|
|
|
21
21
|
You **MUST** consider the user input before proceeding (if not empty).
|
|
22
22
|
|
|
23
|
+
## Offline Mode
|
|
24
|
+
|
|
25
|
+
When `--offline` is passed, this command operates without an active AI-DLC session. Session state is stored locally in the spec's own directory (`artifacts/specs/{spec-name}/session-state.json`) instead of `.ai-dlc/session-state.json`. Provide the spec name as an argument if multiple specs exist, or omit it if only one spec is in progress.
|
|
26
|
+
|
|
23
27
|
## Outline
|
|
24
28
|
|
|
25
29
|
You are updating the project constitution at `.claude/memory/spec/constitution.md`. This file is a TEMPLATE containing placeholder tokens in square brackets (e.g. `[PROJECT_NAME]`, `[PRINCIPLE_1_NAME]`). Your job is to (a) collect/derive concrete values, (b) fill the template precisely, and (c) propagate any amendments across dependent artifacts.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
command: spec:implement
|
|
3
3
|
description: Execute the implementation plan by processing and executing all tasks defined in tasks.md
|
|
4
|
-
argument-hint: "[phase]"
|
|
4
|
+
argument-hint: "[phase] (--offline NOT supported)"
|
|
5
5
|
phase: construction
|
|
6
6
|
allowed-tools: Task, Read, Write, Edit, Glob, Grep, Bash, AskUserQuestion
|
|
7
7
|
args:
|
|
@@ -27,6 +27,14 @@ $ARGUMENTS
|
|
|
27
27
|
|
|
28
28
|
You **MUST** consider the user input before proceeding (if not empty).
|
|
29
29
|
|
|
30
|
+
## Offline Mode Gate
|
|
31
|
+
|
|
32
|
+
**BLOCKING**: If `--offline` is passed, STOP immediately with this error:
|
|
33
|
+
|
|
34
|
+
> "spec:implement requires an active AI-DLC session. Remove --offline to use session mode. Specs must be online (with an active session) before implementation can begin."
|
|
35
|
+
|
|
36
|
+
Do NOT proceed with any implementation steps.
|
|
37
|
+
|
|
30
38
|
## Outline
|
|
31
39
|
|
|
32
40
|
<execution-steps>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
command: spec:plan
|
|
3
3
|
description: Execute the implementation planning workflow using the plan template to generate design artifacts.
|
|
4
|
-
argument-hint: "[--stack tech-stack]"
|
|
4
|
+
argument-hint: "[--stack tech-stack] [--offline [spec-name]]"
|
|
5
5
|
phase: construction
|
|
6
6
|
allowed-tools: Task, Read, Write, Edit, Glob, Grep, Bash, AskUserQuestion
|
|
7
7
|
args:
|
|
@@ -27,6 +27,10 @@ $ARGUMENTS
|
|
|
27
27
|
|
|
28
28
|
You **MUST** consider the user input before proceeding (if not empty).
|
|
29
29
|
|
|
30
|
+
## Offline Mode
|
|
31
|
+
|
|
32
|
+
When `--offline` is passed, this command operates without an active AI-DLC session. Session state is stored locally in the spec's own directory (`artifacts/specs/{spec-name}/session-state.json`) instead of `.ai-dlc/session-state.json`. Provide the spec name as an argument if multiple specs exist, or omit it if only one spec is in progress.
|
|
33
|
+
|
|
30
34
|
## Outline
|
|
31
35
|
|
|
32
36
|
1. **Setup**: Run the CLI from repo root:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
command: spec:task-to-issue
|
|
3
3
|
description: Convert existing tasks into actionable, dependency-ordered GitHub issues for the feature based on available design artifacts.
|
|
4
|
-
argument-hint: ""
|
|
4
|
+
argument-hint: "[--offline [spec-name]]"
|
|
5
5
|
phase: construction
|
|
6
6
|
allowed-tools: Task, Read, Glob, Grep, Bash
|
|
7
7
|
args: []
|
|
@@ -24,6 +24,10 @@ $ARGUMENTS
|
|
|
24
24
|
|
|
25
25
|
You **MUST** consider the user input before proceeding (if not empty).
|
|
26
26
|
|
|
27
|
+
## Offline Mode
|
|
28
|
+
|
|
29
|
+
When `--offline` is passed, this command operates without an active AI-DLC session. Session state is stored locally in the spec's own directory (`artifacts/specs/{spec-name}/session-state.json`) instead of `.ai-dlc/session-state.json`. Provide the spec name as an argument if multiple specs exist, or omit it if only one spec is in progress.
|
|
30
|
+
|
|
27
31
|
## Outline
|
|
28
32
|
|
|
29
33
|
1. Run the CLI from repo root:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
command: spec:tasks
|
|
3
3
|
description: Generate an actionable, dependency-ordered tasks.md for the feature based on available design artifacts.
|
|
4
|
-
argument-hint: ""
|
|
4
|
+
argument-hint: "[--offline [spec-name]]"
|
|
5
5
|
phase: construction
|
|
6
6
|
allowed-tools: Task, Read, Write, Edit, Glob, Grep, Bash, AskUserQuestion
|
|
7
7
|
args: []
|
|
@@ -24,6 +24,10 @@ $ARGUMENTS
|
|
|
24
24
|
|
|
25
25
|
You **MUST** consider the user input before proceeding (if not empty).
|
|
26
26
|
|
|
27
|
+
## Offline Mode
|
|
28
|
+
|
|
29
|
+
When `--offline` is passed, this command operates without an active AI-DLC session. Session state is stored locally in the spec's own directory (`artifacts/specs/{spec-name}/session-state.json`) instead of `.ai-dlc/session-state.json`. Provide the spec name as an argument if multiple specs exist, or omit it if only one spec is in progress.
|
|
30
|
+
|
|
27
31
|
---
|
|
28
32
|
|
|
29
33
|
## Outline
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
command: spec:to-intent
|
|
3
3
|
description: Convert a SpecKit specification into an AI-DLC intent document to bridge spec-driven development with AI-DLC workflow.
|
|
4
|
-
argument-hint: "[feature]"
|
|
4
|
+
argument-hint: "[feature] [--offline [spec-name]]"
|
|
5
5
|
phase: inception
|
|
6
6
|
allowed-tools: Task, Read, Write, Edit, Glob, Grep, Bash
|
|
7
7
|
args:
|
|
@@ -27,6 +27,10 @@ $ARGUMENTS
|
|
|
27
27
|
|
|
28
28
|
You **MUST** consider the user input before proceeding (if not empty).
|
|
29
29
|
|
|
30
|
+
## Offline Mode
|
|
31
|
+
|
|
32
|
+
When `--offline` is passed, this command operates without an active AI-DLC session. Session state is stored locally in the spec's own directory (`artifacts/specs/{spec-name}/session-state.json`) instead of `.ai-dlc/session-state.json`. Provide the spec name as an argument if multiple specs exist, or omit it if only one spec is in progress.
|
|
33
|
+
|
|
30
34
|
## Purpose
|
|
31
35
|
|
|
32
36
|
This command bridges SpecKit's spec-driven development workflow with the AI-DLC methodology. It converts a completed SpecKit specification (`spec.md`) into an AI-DLC intent document, preserving the work done during specification while enabling the full AI-DLC construction workflow.
|