@devobsessed/code-captain 0.2.2 → 0.3.2
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/bin/install.js +43 -7
- package/copilot/Directory.Build.props +3 -1
- package/copilot/copilot-instructions.md +57 -2
- package/copilot/prompts/create-adr.prompt.md +26 -28
- package/copilot/prompts/create-spec.prompt.md +46 -7
- package/copilot/prompts/edit-spec.prompt.md +3 -0
- package/copilot/prompts/execute-task.prompt.md +102 -3
- package/copilot/prompts/initialize.prompt.md +31 -2
- package/copilot/prompts/status.prompt.md +20 -8
- package/cursor/commands/create-spec.md +47 -8
- package/cursor/commands/execute-task.md +14 -1
- package/manifest.json +58 -58
- package/package.json +13 -12
package/bin/install.js
CHANGED
|
@@ -444,6 +444,16 @@ class CodeCaptainInstaller {
|
|
|
444
444
|
return recommendations;
|
|
445
445
|
}
|
|
446
446
|
|
|
447
|
+
// Detect .sln files in the current directory
|
|
448
|
+
async detectSlnFiles() {
|
|
449
|
+
try {
|
|
450
|
+
const entries = await fs.readdir(".");
|
|
451
|
+
return entries.filter((entry) => entry.endsWith(".sln"));
|
|
452
|
+
} catch {
|
|
453
|
+
return [];
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
|
|
447
457
|
// Auto-detect IDE preference
|
|
448
458
|
detectIDE() {
|
|
449
459
|
const detections = [];
|
|
@@ -527,9 +537,33 @@ class CodeCaptainInstaller {
|
|
|
527
537
|
const changeInfo = await this.detectChanges(selectedIDE);
|
|
528
538
|
|
|
529
539
|
if (changeInfo.isFirstInstall) {
|
|
530
|
-
// Fresh installation - install everything
|
|
540
|
+
// Fresh installation - install everything, but check for VS Solution View opt-in
|
|
541
|
+
let installVsSolution = false;
|
|
542
|
+
if (selectedIDE === "copilot") {
|
|
543
|
+
// Auto-detect .sln files to determine if VS Solution View is relevant
|
|
544
|
+
const slnFiles = await this.detectSlnFiles();
|
|
545
|
+
if (slnFiles.length > 0) {
|
|
546
|
+
console.log(
|
|
547
|
+
chalk.green(
|
|
548
|
+
`\n✨ Detected .NET solution file(s): ${slnFiles.join(", ")}`
|
|
549
|
+
)
|
|
550
|
+
);
|
|
551
|
+
const { enableVsSolution } = await inquirer.prompt([
|
|
552
|
+
{
|
|
553
|
+
type: "confirm",
|
|
554
|
+
name: "enableVsSolution",
|
|
555
|
+
message:
|
|
556
|
+
"Install VS Solution View (Directory.Build.props) to make Code Captain files visible in Visual Studio Solution Explorer?",
|
|
557
|
+
default: true,
|
|
558
|
+
},
|
|
559
|
+
]);
|
|
560
|
+
installVsSolution = enableVsSolution;
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
|
|
531
564
|
return {
|
|
532
565
|
installAll: true,
|
|
566
|
+
installVsSolution,
|
|
533
567
|
changeInfo,
|
|
534
568
|
};
|
|
535
569
|
}
|
|
@@ -1111,13 +1145,15 @@ class CodeCaptainInstaller {
|
|
|
1111
1145
|
spinner.text = `Installing files... (${completed}/${files.length})`;
|
|
1112
1146
|
}
|
|
1113
1147
|
|
|
1114
|
-
// Handle Directory.Build.props for vs-solution component
|
|
1148
|
+
// Handle Directory.Build.props for vs-solution component
|
|
1115
1149
|
let vsSolutionResult = null;
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1150
|
+
const shouldInstallVsSolution =
|
|
1151
|
+
(installOptions.installAll && installOptions.installVsSolution) ||
|
|
1152
|
+
(!installOptions.installAll &&
|
|
1153
|
+
selectedComponents &&
|
|
1154
|
+
selectedComponents.includes("vs-solution"));
|
|
1155
|
+
|
|
1156
|
+
if (shouldInstallVsSolution) {
|
|
1121
1157
|
spinner.text = "Installing Directory.Build.props...";
|
|
1122
1158
|
vsSolutionResult = await this.installDirectoryBuildProps();
|
|
1123
1159
|
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
<Project>
|
|
2
|
-
<!-- Code Captain: Make
|
|
2
|
+
<!-- Code Captain: Make Copilot and Code Captain files visible in VS Solution Explorer -->
|
|
3
3
|
<ItemGroup Label="Code Captain">
|
|
4
4
|
<None Include=".github\copilot-instructions.md" Link="Code Captain\copilot-instructions.md" />
|
|
5
5
|
<None Include=".github\agents\**\*" Link="Code Captain\agents\%(RecursiveDir)%(Filename)%(Extension)" />
|
|
6
6
|
<None Include=".github\prompts\**\*" Link="Code Captain\prompts\%(RecursiveDir)%(Filename)%(Extension)" />
|
|
7
|
+
<None Include=".code-captain\docs\**\*" Link="Code Captain\docs\%(RecursiveDir)%(Filename)%(Extension)" />
|
|
8
|
+
<None Include=".code-captain\specs\**\*" Link="Code Captain\specs\%(RecursiveDir)%(Filename)%(Extension)" />
|
|
7
9
|
</ItemGroup>
|
|
8
10
|
</Project>
|
|
@@ -17,8 +17,34 @@ When a user invokes any Code Captain command, you MUST:
|
|
|
17
17
|
- "Steady as she goes! Code Captain prepared to steer your project to success."
|
|
18
18
|
- "Anchors aweigh! Code Captain ready to lead your development expedition."
|
|
19
19
|
- "All hands on deck! Code Captain here to guide your coding voyage."
|
|
20
|
-
2. **
|
|
21
|
-
3. **
|
|
20
|
+
2. **Locate the repository root (mandatory)** - Before accessing any `.code-captain/` path or executing any command workflow, confirm you are at the repository root. See **Working Directory Bootstrap** below.
|
|
21
|
+
3. **Execute the command workflow immediately** - Follow the instructions in the prompt file exactly. Do NOT describe or summarize the instructions back to the user. Act on them.
|
|
22
|
+
4. **Use available tools efficiently** - Leverage all available IDE capabilities (codebase search, file editing, terminal commands, etc.)
|
|
23
|
+
|
|
24
|
+
## Working Directory Bootstrap
|
|
25
|
+
|
|
26
|
+
IDEs may open the terminal in a sub-project directory instead of the repository root (common with Visual Studio + .NET solutions). The `.code-captain/` folder lives at the repo root, so you MUST locate it before any file access or terminal command that references `.code-captain/`.
|
|
27
|
+
|
|
28
|
+
**Detection steps (run once at the start of every command):**
|
|
29
|
+
|
|
30
|
+
1. **Prefer tool-based search (no shell dependency)** — Use `codebase` or `search` to look for `.code-captain/` or `.git/`. These tools work regardless of shell type or OS. If the repo root is found this way, record the path and skip to step 5.
|
|
31
|
+
2. **If terminal fallback is needed, detect the shell first** — Run this single command via `runCommands`:
|
|
32
|
+
```
|
|
33
|
+
echo $PSVersionTable
|
|
34
|
+
```
|
|
35
|
+
- If the output contains version info (e.g., `PSVersion`), the shell is **PowerShell** (typical: Windows + Visual Studio).
|
|
36
|
+
- If the output is blank or errors, the shell is **bash/zsh** (typical: macOS, Linux, VS Code on any OS).
|
|
37
|
+
- **Record the detected shell type** and use only the matching syntax for all subsequent commands in this session.
|
|
38
|
+
3. **Check for `.code-captain/` in the current directory:**
|
|
39
|
+
- **PowerShell:** `if (Test-Path .code-captain) { 'FOUND' } else { 'NOT_FOUND' }`
|
|
40
|
+
- **Bash/Zsh:** `test -d .code-captain && echo FOUND || echo NOT_FOUND`
|
|
41
|
+
4. If `NOT_FOUND`, navigate to the parent directory and check again. Repeat up to 3 levels:
|
|
42
|
+
- **PowerShell:** `Set-Location .. ; if (Test-Path .code-captain) { Get-Location } else { 'NOT_FOUND' }`
|
|
43
|
+
- **Bash/Zsh:** `cd .. && test -d .code-captain && pwd || echo NOT_FOUND`
|
|
44
|
+
5. Once the root is found, **record the repo root path** and prefix all `.code-captain/` references with that path for the remainder of the session.
|
|
45
|
+
6. If `.code-captain/` is not found after 3 levels, inform the user: "Could not locate the .code-captain directory. Please ensure you opened the repository root folder in your IDE, or run `/initialize` to create the project foundation."
|
|
46
|
+
|
|
47
|
+
**Important:** Do NOT skip this step even if you assume you are at the root. The one-time cost of verification prevents repeated failures and retries.
|
|
22
48
|
|
|
23
49
|
## File Organization
|
|
24
50
|
|
|
@@ -53,6 +79,35 @@ All Code Captain output is organized under `.code-captain/`:
|
|
|
53
79
|
### Meta
|
|
54
80
|
- `new-command` - Create new Code Captain commands following established patterns
|
|
55
81
|
|
|
82
|
+
## Terminal Command Standards
|
|
83
|
+
|
|
84
|
+
When executing terminal commands via `runCommands`:
|
|
85
|
+
|
|
86
|
+
1. **Non-interactive only** — Never run commands that require user input or enter watch/interactive mode
|
|
87
|
+
- Vitest: `npx vitest run` (never bare `npx vitest` which enters watch mode)
|
|
88
|
+
- Jest: `npx jest --ci`
|
|
89
|
+
- dotnet: `dotnet test` (already non-interactive)
|
|
90
|
+
2. **No long-running processes** — Never start dev servers, file watchers, or background services through `runCommands`. They will block the chat session indefinitely.
|
|
91
|
+
3. **CWD preservation** — Use single-expression commands when working in subdirectories: `cd <subdir> && <command>`. Never leave the terminal in a shifted working directory. All `.code-captain/` paths are relative to the repository root.
|
|
92
|
+
4. **Quick verification** — Prefer non-blocking checks over full builds. Use `--dry-run`, `--no-restore`, or type-check-only flags when assessing project health.
|
|
93
|
+
5. **Verify before using npm scripts** — If a `package.json` `test` or `build` script exists, check its contents before running it. Scripts may invoke watch mode or dev servers.
|
|
94
|
+
6. **Detect the shell before running commands** — The shell type varies by IDE and OS. The Working Directory Bootstrap detects this once per session. Use the detected shell type for all commands:
|
|
95
|
+
- **Windows + Visual Studio:** Typically PowerShell. Uses `Test-Path`, `Set-Location`, `Get-ChildItem`, and `;` to chain statements.
|
|
96
|
+
- **macOS / Linux (any IDE):** Typically zsh or bash. Uses `test -d`, `cd`, `ls`, and `&&` to chain statements. PowerShell is NOT available unless explicitly installed.
|
|
97
|
+
- **Windows + VS Code:** Usually PowerShell, but may be configured to use Git Bash, WSL, or CMD.
|
|
98
|
+
- **Path separators:** Always use `/` (forward slash) — it works in PowerShell, bash, and zsh.
|
|
99
|
+
- **When in doubt:** Prefer tool-based operations (`codebase`, `search`, `editFiles`) over terminal commands. Tools are shell-independent.
|
|
100
|
+
|
|
101
|
+
## Monorepo & Solution Awareness
|
|
102
|
+
|
|
103
|
+
Projects may contain multiple sub-projects (e.g., .NET solutions with React frontends). When working in these projects:
|
|
104
|
+
|
|
105
|
+
1. **Repo root is already known** — The Working Directory Bootstrap (above) has already located the repo root. Use that recorded path for all `.code-captain/` references.
|
|
106
|
+
2. **Detect project topology early** — Look for `.sln` files, multiple `package.json` files, or workspace configurations (`pnpm-workspace.yaml`, `lerna.json`, `nx.json`). This tells you the project has subdirectories with independent tooling.
|
|
107
|
+
3. **Identify the target subdirectory** — Determine which sub-project contains the code relevant to the current task. Note its path relative to the repo root.
|
|
108
|
+
4. **Root-relative file references** — All `.code-captain/` paths (specs, progress trackers, docs) are relative to the repository root, not any subdirectory. When running terminal commands in a subdirectory, always return to or reference the repo root path for `.code-captain/` operations.
|
|
109
|
+
5. **Subdirectory-specific tooling** — Each sub-project may have its own `package.json`, test runner, build tool, and configuration. Don't assume the root-level tooling applies to subdirectories.
|
|
110
|
+
|
|
56
111
|
## Behavioral Rules
|
|
57
112
|
|
|
58
113
|
- **Challenge ideas** - If a requirement seems technically infeasible, the scope is too large, or the approach conflicts with existing patterns, say so directly. Suggest alternatives.
|
|
@@ -21,53 +21,51 @@ Your mission: Create a comprehensive Architecture Decision Record (ADR) that doc
|
|
|
21
21
|
|
|
22
22
|
## Prerequisites
|
|
23
23
|
|
|
24
|
-
**MANDATORY:**
|
|
24
|
+
**MANDATORY:** Ensure research context exists before creating the ADR. The process will:
|
|
25
25
|
|
|
26
|
-
1. Check for existing research on the decision topic
|
|
27
|
-
2. If no research found:
|
|
26
|
+
1. Check for existing research on the decision topic in `.code-captain/research/`
|
|
27
|
+
2. If no research found: conduct targeted inline research as part of Step 0
|
|
28
28
|
3. Only proceed with ADR creation after research is completed and documented
|
|
29
29
|
|
|
30
|
-
### Step 0:
|
|
30
|
+
### Step 0: Research Verification & Targeted Research
|
|
31
31
|
|
|
32
|
-
**Objective:** Ensure
|
|
32
|
+
**Objective:** Ensure sufficient research context exists before creating the ADR
|
|
33
33
|
|
|
34
34
|
**Actions:**
|
|
35
35
|
|
|
36
36
|
1. **Check for existing research:**
|
|
37
|
-
|
|
38
37
|
- Use `search` to look for related research in `.code-captain/research/` directory
|
|
39
|
-
- Search for research documents that
|
|
38
|
+
- Search for research documents that relate to the architectural decision topic
|
|
40
39
|
- Use `codebase` to explore the research directory structure
|
|
41
40
|
|
|
42
|
-
2. **
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
"No existing research found for this architectural decision.
|
|
47
|
-
|
|
48
|
-
Architecture Decision Records require comprehensive research to document alternatives properly.
|
|
49
|
-
|
|
50
|
-
AUTOMATICALLY EXECUTING RESEARCH WORKFLOW FIRST...
|
|
41
|
+
2. **If relevant research exists:**
|
|
42
|
+
- Load and summarize key findings
|
|
43
|
+
- Identify any gaps that need additional investigation for the ADR
|
|
44
|
+
- Proceed to Step 1 with research context loaded
|
|
51
45
|
|
|
52
|
-
|
|
53
|
-
```
|
|
46
|
+
3. **If NO relevant research exists — conduct targeted ADR research inline:**
|
|
54
47
|
|
|
55
|
-
|
|
48
|
+
Perform focused research specific to the architectural decision (do NOT attempt to invoke the `/research` command as a sub-prompt):
|
|
56
49
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
50
|
+
a. **Define the decision scope** — What specific architectural question needs answering?
|
|
51
|
+
b. **Gather alternatives** — Use `fetch` to research 2-4 approaches:
|
|
52
|
+
- "[technology/pattern] architectural approaches"
|
|
53
|
+
- "[option A] vs [option B] comparison"
|
|
54
|
+
- "[technology] production experience case study"
|
|
55
|
+
c. **Evaluate against project context** — Use `codebase` to understand how each alternative fits the current architecture
|
|
56
|
+
d. **Document findings** — Get the current date using `npx @devobsessed/code-captain date`, then create a research document in `.code-captain/research/[DATE]-[topic]-research.md` with key findings, pros/cons, and sources
|
|
60
57
|
|
|
61
|
-
4. **
|
|
62
|
-
|
|
63
|
-
-
|
|
64
|
-
-
|
|
58
|
+
4. **Progress checkpoint:**
|
|
59
|
+
Before proceeding to Step 1, confirm:
|
|
60
|
+
- Research document exists and is referenced
|
|
61
|
+
- At least 2 alternatives have been identified with pros/cons
|
|
62
|
+
- Project-specific implications have been assessed
|
|
65
63
|
|
|
66
64
|
**Deliverables:**
|
|
67
65
|
|
|
68
66
|
- Research availability assessment
|
|
69
|
-
-
|
|
70
|
-
-
|
|
67
|
+
- Research document (loaded from existing or created inline)
|
|
68
|
+
- Summary of key findings ready for ADR reference
|
|
71
69
|
|
|
72
70
|
### Step 1: Analyze Decision Context and Current State
|
|
73
71
|
|
|
@@ -11,12 +11,36 @@ Your mission: Turn the user's rough feature idea into a clear work specification
|
|
|
11
11
|
|
|
12
12
|
### Phase 1: Contract Establishment (No File Creation)
|
|
13
13
|
|
|
14
|
+
#### Step 1.0: Pre-flight Check
|
|
15
|
+
|
|
16
|
+
Before starting, verify these foundational files exist in `.code-captain/docs/`:
|
|
17
|
+
|
|
18
|
+
- `tech-stack.md`
|
|
19
|
+
- `code-style.md`
|
|
20
|
+
- `objective.md`
|
|
21
|
+
|
|
22
|
+
If **ANY** of these files are missing, inform the user before proceeding:
|
|
23
|
+
|
|
24
|
+
```text
|
|
25
|
+
I notice this project hasn't been fully initialized — the foundational docs
|
|
26
|
+
(tech-stack, code-style, objective) are missing from .code-captain/docs/.
|
|
27
|
+
Running /initialize first will produce better specification results because
|
|
28
|
+
I'll have your project's architecture, conventions, and patterns as context.
|
|
29
|
+
|
|
30
|
+
Would you like to:
|
|
31
|
+
1. Switch to /initialize now (recommended)
|
|
32
|
+
2. Continue with /create-spec without the foundational context
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
If the user chooses option 2, proceed but note that pattern detection will rely entirely on live codebase scanning rather than pre-analyzed documentation.
|
|
36
|
+
|
|
14
37
|
#### Step 1.1: Initial Context Scan
|
|
15
38
|
|
|
16
39
|
- Scan existing `.code-captain/specs/` for related specifications
|
|
17
40
|
- Analyze current codebase architecture and patterns using `codebase`
|
|
18
|
-
- Load project context files (`tech-stack.md`, `code-style.md`, `objective.md`)
|
|
19
|
-
- **
|
|
41
|
+
- Load project context files if they exist (`tech-stack.md`, `code-style.md`, `objective.md`)
|
|
42
|
+
- **Identify existing codebase patterns** — Catalog naming conventions, project structure patterns, architectural layers (e.g., repository/service/controller), dependency injection patterns, and any established conventions. These become automatic constraints for the specification.
|
|
43
|
+
- **Output:** Context summary including detected patterns (no files created yet)
|
|
20
44
|
|
|
21
45
|
#### Step 1.2: Gap Analysis & Silent Enumeration
|
|
22
46
|
|
|
@@ -85,7 +109,7 @@ When confident, present a contract proposal with any concerns surfaced:
|
|
|
85
109
|
|
|
86
110
|
**Format:**
|
|
87
111
|
|
|
88
|
-
```
|
|
112
|
+
```text
|
|
89
113
|
## Specification Contract
|
|
90
114
|
|
|
91
115
|
**Deliverable:** [One clear sentence describing what will be built]
|
|
@@ -104,6 +128,11 @@ When confident, present a contract proposal with any concerns surfaced:
|
|
|
104
128
|
- [Specific concern about feasibility, performance, or architecture]
|
|
105
129
|
- [Suggested alternative or mitigation approach]
|
|
106
130
|
|
|
131
|
+
**Existing Patterns to Follow:**
|
|
132
|
+
- [Patterns detected from codebase scan or code-style.md — e.g., repository pattern, service layer, naming conventions]
|
|
133
|
+
- [Architectural layers and their relationships]
|
|
134
|
+
- [Any relevant conventions that new code must adhere to]
|
|
135
|
+
|
|
107
136
|
**Recommendations:**
|
|
108
137
|
- [Suggestions for improving the approach based on codebase analysis]
|
|
109
138
|
- [Ways to reduce risk or complexity]
|
|
@@ -132,7 +161,7 @@ This returns the current date in `YYYY-MM-DD` format for folder naming:
|
|
|
132
161
|
|
|
133
162
|
**Generated folder (using determined date):**
|
|
134
163
|
|
|
135
|
-
```
|
|
164
|
+
```text
|
|
136
165
|
.code-captain/specs/[DATE]-{feature-name}/
|
|
137
166
|
├── spec.md # Main specification (from contract)
|
|
138
167
|
├── spec-lite.md # Condensed version for AI context
|
|
@@ -273,7 +302,7 @@ Each user story gets its own file for better organization. Keep implementation t
|
|
|
273
302
|
|
|
274
303
|
Present complete package with file references:
|
|
275
304
|
|
|
276
|
-
```
|
|
305
|
+
```text
|
|
277
306
|
Specification package created successfully!
|
|
278
307
|
|
|
279
308
|
.code-captain/specs/[DATE]-feature-name/
|
|
@@ -302,9 +331,19 @@ Please read through the files and let me know:
|
|
|
302
331
|
- Are the user stories appropriately sized (5-7 tasks each)?
|
|
303
332
|
- Should any stories be split further or combined?
|
|
304
333
|
|
|
305
|
-
Once you're satisfied with the specification,
|
|
334
|
+
Once you're satisfied with the specification, you can start implementation using /execute-task, or we can make any needed adjustments.
|
|
306
335
|
```
|
|
307
336
|
|
|
337
|
+
## CRITICAL: Command Boundary — STOP HERE
|
|
338
|
+
|
|
339
|
+
**This command ENDS after presenting the spec package review above.**
|
|
340
|
+
|
|
341
|
+
- **DO NOT** proceed to implement any code from the stories.
|
|
342
|
+
- **DO NOT** begin executing tasks, writing tests, or making code changes.
|
|
343
|
+
- **DO NOT** offer to "get started on the first story" and then begin coding.
|
|
344
|
+
- Your ONLY job is to create the specification documents. Implementation is handled by the `/execute-task` command.
|
|
345
|
+
- After presenting the final review, **STOP and wait for the user's response.**
|
|
346
|
+
|
|
308
347
|
## Tool Integration
|
|
309
348
|
|
|
310
349
|
**Primary tools:**
|
|
@@ -323,7 +362,7 @@ Once you're satisfied with the specification, I can help you start implementatio
|
|
|
323
362
|
|
|
324
363
|
## Example of expected interaction
|
|
325
364
|
|
|
326
|
-
```
|
|
365
|
+
```text
|
|
327
366
|
Developer: /create-spec "real-time multiplayer chat with blockchain integration"
|
|
328
367
|
|
|
329
368
|
Agent: I'm ready to help you create a comprehensive specification.
|
|
@@ -141,6 +141,9 @@ Options:
|
|
|
141
141
|
#### Step 2.1: Create Backup & Change Documentation
|
|
142
142
|
|
|
143
143
|
**Backup Process:**
|
|
144
|
+
|
|
145
|
+
**IMPORTANT:** Use repo-root-relative paths for all backup operations. If working in a monorepo or solution with subdirectories, ensure all `.code-captain/` paths reference the repository root, not the current working directory. Use `editFiles` for file creation rather than `runCommands` with `cp` when possible to avoid cwd drift.
|
|
146
|
+
|
|
144
147
|
1. **CREATE** backup folder: `.code-captain/specs/[spec-folder]/backups/`
|
|
145
148
|
2. **COPY** all current files to `backups/[timestamp]/`
|
|
146
149
|
3. **CREATE** change log entry in `CHANGELOG.md` within spec folder
|
|
@@ -44,6 +44,7 @@ Create `.code-captain/current-task-progress.md` to track the execution process:
|
|
|
44
44
|
## Progress Steps:
|
|
45
45
|
- [x] Task discovery and selection
|
|
46
46
|
- [ ] Context gathering from specs and codebase
|
|
47
|
+
- [ ] Project structure & infrastructure verification
|
|
47
48
|
- [ ] Subtask execution in TDD order
|
|
48
49
|
- [ ] Test verification (100% pass rate required)
|
|
49
50
|
- [ ] Task completion and status update
|
|
@@ -51,6 +52,12 @@ Create `.code-captain/current-task-progress.md` to track the execution process:
|
|
|
51
52
|
## Current Step: Task Discovery
|
|
52
53
|
```
|
|
53
54
|
|
|
55
|
+
**Progress tracker update triggers:**
|
|
56
|
+
- Update after completing each numbered sub-task
|
|
57
|
+
- Update when encountering unexpected prerequisite work (e.g., "Added test framework setup — not in original task list")
|
|
58
|
+
- Record test run results with pass/fail counts after each test execution
|
|
59
|
+
- Update the "Current Step" indicator as you move through phases
|
|
60
|
+
|
|
54
61
|
### Step 2: Context Gathering & Analysis
|
|
55
62
|
|
|
56
63
|
**Load specification context:**
|
|
@@ -70,6 +77,51 @@ Use `codebase` and `search` to understand:
|
|
|
70
77
|
- Integration points for new features
|
|
71
78
|
- Testing frameworks and conventions
|
|
72
79
|
|
|
80
|
+
### Step 2.5: Project Structure & Infrastructure Verification
|
|
81
|
+
|
|
82
|
+
Before writing any code or tests, verify the project environment.
|
|
83
|
+
|
|
84
|
+
**Check existing project documentation:**
|
|
85
|
+
|
|
86
|
+
- If `.code-captain/docs/tech-stack.md` exists and contains project topology and test infrastructure status, use it rather than re-detecting from scratch
|
|
87
|
+
- Only perform fresh detection if `tech-stack.md` is missing or stale
|
|
88
|
+
|
|
89
|
+
**Detect project structure:**
|
|
90
|
+
|
|
91
|
+
1. Search for `*.sln` files at the repository root
|
|
92
|
+
2. If a solution file exists:
|
|
93
|
+
- Identify project subdirectories (client, server, shared, etc.)
|
|
94
|
+
- Determine which subdirectory contains the implementation target
|
|
95
|
+
- Note the repo root path — all `.code-captain/` references are relative to root
|
|
96
|
+
3. If no solution file exists, treat the workspace root as the project root
|
|
97
|
+
|
|
98
|
+
**Verify test infrastructure:**
|
|
99
|
+
|
|
100
|
+
1. Check `package.json` (in the target directory) for a `test` script and test-related `devDependencies`
|
|
101
|
+
2. If NO test framework exists:
|
|
102
|
+
- Select a test runner aligned with the project's build tool (e.g., Vitest for Vite, Jest for Webpack/CRA)
|
|
103
|
+
- Install minimum required packages (test runner, DOM environment, assertion matchers)
|
|
104
|
+
- Configure the test runner in the project's existing config file
|
|
105
|
+
- Create a setup file if needed (e.g., for jest-dom matchers)
|
|
106
|
+
- Add a `test` script to `package.json`
|
|
107
|
+
- Run a trivial smoke test to confirm the framework works before writing real tests
|
|
108
|
+
3. If a test framework exists, verify it runs successfully with any existing tests
|
|
109
|
+
4. Document test infrastructure additions in the progress tracker
|
|
110
|
+
|
|
111
|
+
**Select test strategies (based on project stack):**
|
|
112
|
+
|
|
113
|
+
For JavaScript/TypeScript projects:
|
|
114
|
+
- **Component behavior tests**: Use the project's testing library (e.g., React Testing Library with `render`, `screen`, `fireEvent`) for rendered output and interactions
|
|
115
|
+
- **Static file content tests** (CSS variables, import assertions, file structure): Use Node.js `fs.readFileSync` to read source files as text — do NOT use `fetch()` which is unavailable or incomplete in test DOM environments (jsdom does not support `fetch` for `file://` URLs)
|
|
116
|
+
- **Integration tests**: Use the test runner's DOM environment for full component mounting
|
|
117
|
+
|
|
118
|
+
For .NET projects:
|
|
119
|
+
- Use the project's existing test framework (xUnit, NUnit, MSTest)
|
|
120
|
+
- Run tests with `dotnet test` (already non-interactive)
|
|
121
|
+
|
|
122
|
+
For other stacks:
|
|
123
|
+
- Align test strategy with the framework and conventions detected in `tech-stack.md` or discovered during infrastructure verification
|
|
124
|
+
|
|
73
125
|
### Step 3: Story & Task Analysis
|
|
74
126
|
|
|
75
127
|
Parse selected story structure and validate TDD approach within story using file-based progress tracking instead of todo_write.
|
|
@@ -84,7 +136,16 @@ Execute story tasks in sequential order with file-based tracking:
|
|
|
84
136
|
- Write comprehensive test cases for the entire feature
|
|
85
137
|
- Include unit tests, integration tests, and edge cases
|
|
86
138
|
- Cover happy path, error conditions, and boundary cases
|
|
87
|
-
-
|
|
139
|
+
- Use the appropriate test strategy from Step 2.5 (component tests vs static file tests vs integration tests)
|
|
140
|
+
|
|
141
|
+
**Red Phase Verification (mandatory before proceeding to green phase):**
|
|
142
|
+
1. Run the test suite after writing tests
|
|
143
|
+
2. Confirm tests produce **assertion failures** (e.g., "expected X but received Y") — not runtime errors or crashes
|
|
144
|
+
3. If tests error/crash instead of failing (e.g., `TypeError`, `fetch failed`, `Module not found`):
|
|
145
|
+
- This means the test infrastructure or test approach is broken, not the feature code
|
|
146
|
+
- Fix the test setup or rewrite the test approach
|
|
147
|
+
- Re-run until tests fail cleanly with assertion messages
|
|
148
|
+
4. Only proceed to the green phase once all tests fail with clear assertion errors
|
|
88
149
|
|
|
89
150
|
#### Tasks 2-N: Implementation (Green Phase)
|
|
90
151
|
|
|
@@ -108,6 +169,17 @@ For each implementation task within the story:
|
|
|
108
169
|
|
|
109
170
|
**STORY CANNOT BE MARKED COMPLETE WITH ANY FAILING TESTS**
|
|
110
171
|
|
|
172
|
+
### CRITICAL: One Story at a Time
|
|
173
|
+
|
|
174
|
+
**Execute ONLY the single selected story per invocation of this command.**
|
|
175
|
+
|
|
176
|
+
- After completing Step 4 (all tasks within the story) and verifying tests pass, proceed to Step 5.
|
|
177
|
+
- After Step 5, **STOP execution completely.**
|
|
178
|
+
- **DO NOT** automatically begin the next story.
|
|
179
|
+
- **DO NOT** ask "shall I continue with story 2?" and then start coding before the user responds.
|
|
180
|
+
- Present the completion summary and **wait for the user** to explicitly request the next story.
|
|
181
|
+
- The user must invoke `/execute-task` again or explicitly ask to continue with the next story.
|
|
182
|
+
|
|
111
183
|
### Step 5: Story Completion & Status Updates
|
|
112
184
|
|
|
113
185
|
Update story file status and progress tracking files with completion details, ensuring all tests pass before marking complete.
|
|
@@ -118,12 +190,39 @@ Update story file status and progress tracking files with completion details, en
|
|
|
118
190
|
- `codebase` - Understanding existing architecture and patterns
|
|
119
191
|
- `search` - Finding related code and patterns
|
|
120
192
|
- `editFiles` - Implementing code changes
|
|
121
|
-
- `runCommands` - Executing build processes
|
|
193
|
+
- `runCommands` - Executing build processes (follow Terminal Command Standards from system instructions)
|
|
122
194
|
- `runTests` - Running test suites
|
|
123
195
|
- `findTestFiles` - Locating test files
|
|
124
196
|
- `testFailure` - Analyzing test failures
|
|
125
197
|
|
|
198
|
+
**Terminal discipline (see system instructions for full standards):**
|
|
199
|
+
- Always use non-interactive, single-run flags for test runners (e.g., `vitest run`, `jest --ci`)
|
|
200
|
+
- Never start dev servers or watch-mode processes — they block the chat session
|
|
201
|
+
- When running commands in subdirectories, use `cd <subdir> && <command>` to preserve cwd
|
|
202
|
+
- Verify `npm test` script contents before using it — scripts may invoke watch mode
|
|
203
|
+
|
|
126
204
|
**Progress tracking:**
|
|
127
205
|
- File-based progress tracking in `.code-captain/current-task-progress.md`
|
|
128
206
|
- Story status updates in specification files
|
|
129
|
-
- Test execution results documentation
|
|
207
|
+
- Test execution results documentation with pass/fail counts
|
|
208
|
+
|
|
209
|
+
## CRITICAL: Command Boundary — STOP After Story Completion
|
|
210
|
+
|
|
211
|
+
After completing a story and updating status files, present a summary in this format:
|
|
212
|
+
|
|
213
|
+
```
|
|
214
|
+
Story [N]: [Title] — COMPLETED
|
|
215
|
+
|
|
216
|
+
Results:
|
|
217
|
+
- Tests: [X] passed, [Y] failed
|
|
218
|
+
- Tasks completed: [N/N]
|
|
219
|
+
- Acceptance criteria: [all met / details]
|
|
220
|
+
|
|
221
|
+
Updated files:
|
|
222
|
+
- [list of modified/created files]
|
|
223
|
+
|
|
224
|
+
Next available story: Story [N+1]: [Title]
|
|
225
|
+
To continue, invoke /execute-task again or ask me to proceed with the next story.
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
**STOP here. Do NOT begin the next story automatically.**
|
|
@@ -9,7 +9,7 @@ You MUST follow these instructions exactly. Do NOT describe this process — exe
|
|
|
9
9
|
|
|
10
10
|
Your mission: Analyze the current project and set up the technical foundation. Detect whether this is a greenfield (new) or brownfield (existing) project, scan the codebase, and generate foundational documentation.
|
|
11
11
|
|
|
12
|
-
### Step 1: Project Type Detection
|
|
12
|
+
### Step 1: Project Type & Structure Detection
|
|
13
13
|
|
|
14
14
|
**Scan for existing code:**
|
|
15
15
|
- Check for common files indicating existing project (package.json, pom.xml, etc.)
|
|
@@ -17,6 +17,16 @@ Your mission: Analyze the current project and set up the technical foundation. D
|
|
|
17
17
|
- Identify project structure patterns
|
|
18
18
|
- Determine if greenfield (new) or brownfield (existing) project
|
|
19
19
|
|
|
20
|
+
**Detect project topology:**
|
|
21
|
+
- Search for `*.sln` files at the repository root (indicates .NET solution / monorepo)
|
|
22
|
+
- Search for multiple `package.json` files (indicates JavaScript/TypeScript monorepo)
|
|
23
|
+
- Check for workspace configurations (`pnpm-workspace.yaml`, `lerna.json`, `nx.json`)
|
|
24
|
+
- If a solution or monorepo is detected:
|
|
25
|
+
- Map all sub-projects and their locations relative to the repo root
|
|
26
|
+
- Identify which sub-projects are frontend, backend, shared libraries, etc.
|
|
27
|
+
- Note each sub-project's independent tooling (build tool, test runner, package manager)
|
|
28
|
+
- Document the topology in Step 3 (tech-stack.md)
|
|
29
|
+
|
|
20
30
|
### Step 2: Project Analysis
|
|
21
31
|
|
|
22
32
|
**For Brownfield Projects:**
|
|
@@ -25,6 +35,15 @@ Your mission: Analyze the current project and set up the technical foundation. D
|
|
|
25
35
|
- Infer project purpose and goals
|
|
26
36
|
- Generate comprehensive documentation
|
|
27
37
|
|
|
38
|
+
**Test infrastructure inventory (all project types):**
|
|
39
|
+
- For each sub-project (or the root project if not a monorepo):
|
|
40
|
+
- Check `package.json` for `test` script and test-related `devDependencies`
|
|
41
|
+
- Identify the test runner (Vitest, Jest, xUnit, NUnit, MSTest, pytest, etc.)
|
|
42
|
+
- Note the test configuration file location (vite.config, jest.config, etc.)
|
|
43
|
+
- Check if a test setup file exists (test-setup.js, setupTests.ts, etc.)
|
|
44
|
+
- Record whether tests currently pass, fail, or if no test infrastructure exists
|
|
45
|
+
- Document findings in `tech-stack.md` so downstream commands (especially `execute-task`) have this context
|
|
46
|
+
|
|
28
47
|
**For Greenfield Projects:**
|
|
29
48
|
- Guide through strategic project setup questions
|
|
30
49
|
- Recommend technology stack based on requirements
|
|
@@ -34,7 +53,10 @@ Your mission: Analyze the current project and set up the technical foundation. D
|
|
|
34
53
|
|
|
35
54
|
Generate foundational documents in `.code-captain/docs/`:
|
|
36
55
|
|
|
37
|
-
- **tech-stack.md** - Complete technology inventory and analysis
|
|
56
|
+
- **tech-stack.md** - Complete technology inventory and analysis. Must include:
|
|
57
|
+
- Project topology (single project, monorepo, or .NET solution with sub-projects)
|
|
58
|
+
- For each sub-project: build tool, test runner (or "none"), test configuration location
|
|
59
|
+
- Test infrastructure status: "ready" (tests exist and pass), "configured" (framework installed but no tests), or "missing" (no test framework)
|
|
38
60
|
- **code-style.md** - Observed patterns and coding conventions
|
|
39
61
|
- **objective.md** - Inferred or defined project purpose and goals
|
|
40
62
|
- **architecture.md** - System architecture overview and decisions
|
|
@@ -57,6 +79,13 @@ Provide clear guidance on next steps, typically:
|
|
|
57
79
|
- `findTestFiles` - Locating test files and patterns
|
|
58
80
|
- `problems` - Identifying code issues
|
|
59
81
|
|
|
82
|
+
**Terminal discipline:** Follow Terminal Command Standards from system instructions. When detecting build tools and dependencies, use non-blocking commands (e.g., check file existence rather than running full builds). In monorepos, use `cd <subdir> && <command>` to avoid cwd drift.
|
|
83
|
+
|
|
60
84
|
**Documentation organization:**
|
|
61
85
|
- Progress documented in `.code-captain/initialization-progress.md`
|
|
62
86
|
- Results organized in `.code-captain/docs/` folder
|
|
87
|
+
|
|
88
|
+
**Progress tracker updates:**
|
|
89
|
+
- Update `.code-captain/initialization-progress.md` after completing each step
|
|
90
|
+
- Record unexpected findings (e.g., "No test framework found in client project")
|
|
91
|
+
- Document project topology discoveries as they occur
|
|
@@ -28,6 +28,8 @@ Your mission: Provide the developer with a comprehensive status report. Analyze
|
|
|
28
28
|
**Code Captain Integration:**
|
|
29
29
|
- Scan `.code-captain/specs/` for active specifications
|
|
30
30
|
- Parse current task progress from most recent spec's user-stories/
|
|
31
|
+
- Check `.code-captain/current-task-progress.md` for in-flight execution state
|
|
32
|
+
- Check `.code-captain/initialization-progress.md` for initialization status
|
|
31
33
|
- Identify completed vs pending tasks
|
|
32
34
|
- Determine current user story context
|
|
33
35
|
|
|
@@ -38,16 +40,26 @@ Your mission: Provide the developer with a comprehensive status report. Analyze
|
|
|
38
40
|
|
|
39
41
|
### Step 3: Project Health Check
|
|
40
42
|
|
|
41
|
-
**
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
-
|
|
45
|
-
-
|
|
43
|
+
**IMPORTANT: Use passive, non-blocking checks only. Do NOT run builds, start services, or execute long-running commands.**
|
|
44
|
+
|
|
45
|
+
**Basic Viability (file-based heuristics):**
|
|
46
|
+
- Check for build artifacts (e.g., `dist/`, `build/`, `bin/`, `obj/`) — presence suggests a recent successful build
|
|
47
|
+
- Check lock file freshness (`package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`) — staleness may indicate missing dependencies
|
|
48
|
+
- Check for TypeScript errors via `problems` tool if available
|
|
49
|
+
- Verify key configuration files exist (`.env`, `appsettings.json`, etc.)
|
|
50
|
+
- Check `node_modules/` existence — missing suggests `npm install` is needed
|
|
51
|
+
- For .NET projects: check for `*.csproj` build errors via `problems` tool, not `dotnet build`
|
|
52
|
+
|
|
53
|
+
**Do NOT run these commands during status checks:**
|
|
54
|
+
- `npm run build`, `dotnet build`, or any full compilation
|
|
55
|
+
- `npm start`, `dotnet run`, or any dev server startup
|
|
56
|
+
- `npm test` or `dotnet test` — report test infrastructure status from file inspection only
|
|
46
57
|
|
|
47
58
|
**Immediate Blockers:**
|
|
48
59
|
- Merge conflicts that need resolution
|
|
49
|
-
- Missing environment variables or config files
|
|
50
|
-
-
|
|
60
|
+
- Missing environment variables or config files (check for `.env.example` without corresponding `.env`)
|
|
61
|
+
- Missing `node_modules/` or other dependency directories
|
|
62
|
+
- Stale lock files suggesting dependency drift
|
|
51
63
|
|
|
52
64
|
### Step 4: Output the Status Report
|
|
53
65
|
|
|
@@ -97,7 +109,7 @@ QUICK COMMANDS
|
|
|
97
109
|
**Primary tools:**
|
|
98
110
|
- `codebase` - Analyzing project structure and Code Captain specs
|
|
99
111
|
- `search` - Finding active specifications and related documentation
|
|
100
|
-
- `runCommands` - Git commands
|
|
112
|
+
- `runCommands` - Git commands only (follow Terminal Command Standards from system instructions — no builds, no dev servers)
|
|
101
113
|
- `problems` - Identifying project health issues and conflicts
|
|
102
114
|
- `changes` - Tracking recent modifications and activity
|
|
103
115
|
|
|
@@ -12,12 +12,36 @@ Generate comprehensive feature specifications using a contract-first approach th
|
|
|
12
12
|
|
|
13
13
|
> Your goal is to turn my rough feature idea into a very clear work specification. You will deliver the complete spec package only after we both agree on the requirements contract. **Important: Challenge ideas that don't make technical or business sense - it's better to surface concerns early than build the wrong thing.**
|
|
14
14
|
|
|
15
|
+
#### Step 1.0: Pre-flight Check
|
|
16
|
+
|
|
17
|
+
Before starting, verify these foundational files exist in `.code-captain/docs/`:
|
|
18
|
+
|
|
19
|
+
- `tech-stack.md`
|
|
20
|
+
- `code-style.md`
|
|
21
|
+
- `objective.md`
|
|
22
|
+
|
|
23
|
+
If **ANY** of these files are missing, inform the user before proceeding:
|
|
24
|
+
|
|
25
|
+
```text
|
|
26
|
+
I notice this project hasn't been fully initialized — the foundational docs
|
|
27
|
+
(tech-stack, code-style, objective) are missing from .code-captain/docs/.
|
|
28
|
+
Running /initialize first will produce better specification results because
|
|
29
|
+
I'll have your project's architecture, conventions, and patterns as context.
|
|
30
|
+
|
|
31
|
+
Would you like to:
|
|
32
|
+
1. Switch to /initialize now (recommended)
|
|
33
|
+
2. Continue with /create-spec without the foundational context
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
If the user chooses option 2, proceed but note that pattern detection will rely entirely on live codebase scanning rather than pre-analyzed documentation.
|
|
37
|
+
|
|
15
38
|
#### Step 1.1: Initial Context Scan
|
|
16
39
|
|
|
17
40
|
- Scan existing `.code-captain/specs/` for related specifications
|
|
18
41
|
- Analyze current codebase architecture and patterns using `codebase_search`
|
|
19
|
-
- Load project context files (`tech-stack.md`, `code-style.md`, `objective.md`)
|
|
20
|
-
- **
|
|
42
|
+
- Load project context files if they exist (`tech-stack.md`, `code-style.md`, `objective.md`)
|
|
43
|
+
- **Identify existing codebase patterns** — Catalog naming conventions, project structure patterns, architectural layers (e.g., repository/service/controller), dependency injection patterns, and any established conventions. These become automatic constraints for the specification.
|
|
44
|
+
- **Output:** Context summary including detected patterns (no files created yet)
|
|
21
45
|
|
|
22
46
|
#### Step 1.2: Gap Analysis & Silent Enumeration
|
|
23
47
|
|
|
@@ -86,7 +110,7 @@ When confident, present a contract proposal with any concerns surfaced:
|
|
|
86
110
|
|
|
87
111
|
**Format:**
|
|
88
112
|
|
|
89
|
-
```
|
|
113
|
+
```text
|
|
90
114
|
## Specification Contract
|
|
91
115
|
|
|
92
116
|
**Deliverable:** [One clear sentence describing what will be built]
|
|
@@ -105,6 +129,11 @@ When confident, present a contract proposal with any concerns surfaced:
|
|
|
105
129
|
- [Specific concern about feasibility, performance, or architecture]
|
|
106
130
|
- [Suggested alternative or mitigation approach]
|
|
107
131
|
|
|
132
|
+
**Existing Patterns to Follow:**
|
|
133
|
+
- [Patterns detected from codebase scan or code-style.md — e.g., repository pattern, service layer, naming conventions]
|
|
134
|
+
- [Architectural layers and their relationships]
|
|
135
|
+
- [Any relevant conventions that new code must adhere to]
|
|
136
|
+
|
|
108
137
|
**💡 Recommendations:**
|
|
109
138
|
- [Suggestions for improving the approach based on codebase analysis]
|
|
110
139
|
- [Ways to reduce risk or complexity]
|
|
@@ -124,7 +153,7 @@ Options:
|
|
|
124
153
|
|
|
125
154
|
#### Step 2.1: Initialize Tracking
|
|
126
155
|
|
|
127
|
-
```
|
|
156
|
+
```text
|
|
128
157
|
# Use todo_write to track creation process
|
|
129
158
|
1. Get current date and create spec folder structure
|
|
130
159
|
2. Generate core specification document
|
|
@@ -145,7 +174,7 @@ This returns the current date in `YYYY-MM-DD` format for folder naming:
|
|
|
145
174
|
|
|
146
175
|
**Generated folder (using determined date):**
|
|
147
176
|
|
|
148
|
-
```
|
|
177
|
+
```text
|
|
149
178
|
.code-captain/specs/[DATE]-{feature-name}/
|
|
150
179
|
├── spec.md # Main specification (from contract)
|
|
151
180
|
├── spec-lite.md # Condensed version for AI context
|
|
@@ -311,7 +340,7 @@ This returns the current date in `YYYY-MM-DD` format for folder naming:
|
|
|
311
340
|
|
|
312
341
|
Present complete package with file references:
|
|
313
342
|
|
|
314
|
-
```
|
|
343
|
+
```text
|
|
315
344
|
✅ Specification package created successfully!
|
|
316
345
|
|
|
317
346
|
📁 .code-captain/specs/[DATE]-feature-name/
|
|
@@ -347,9 +376,19 @@ The user-stories folder structure allows you to:
|
|
|
347
376
|
- Assign different stories to different team members
|
|
348
377
|
- Keep task lists manageable and actionable
|
|
349
378
|
|
|
350
|
-
Once you're satisfied with the specification,
|
|
379
|
+
Once you're satisfied with the specification, you can start implementation using /execute-task, or we can make any needed adjustments.
|
|
351
380
|
```
|
|
352
381
|
|
|
382
|
+
## CRITICAL: Command Boundary — STOP HERE
|
|
383
|
+
|
|
384
|
+
**This command ENDS after presenting the spec package review above.**
|
|
385
|
+
|
|
386
|
+
- **DO NOT** proceed to implement any code from the stories.
|
|
387
|
+
- **DO NOT** begin executing tasks, writing tests, or making code changes.
|
|
388
|
+
- **DO NOT** offer to "get started on the first story" and then begin coding.
|
|
389
|
+
- Your ONLY job is to create the specification documents. Implementation is handled by the `/execute-task` command.
|
|
390
|
+
- After presenting the final review, **STOP and wait for the user's response.**
|
|
391
|
+
|
|
353
392
|
## Key Improvements Over Original
|
|
354
393
|
|
|
355
394
|
### 1. Contract-First Approach
|
|
@@ -379,7 +418,7 @@ Once you're satisfied with the specification, I can help you start implementatio
|
|
|
379
418
|
|
|
380
419
|
## Example Usage Flow
|
|
381
420
|
|
|
382
|
-
```
|
|
421
|
+
```text
|
|
383
422
|
Developer: /create-spec "real-time multiplayer chat with blockchain integration"
|
|
384
423
|
|
|
385
424
|
Agent: I'm ready to help you create a comprehensive specification.
|
|
@@ -285,6 +285,17 @@ Use available testing tools to verify:
|
|
|
285
285
|
4. Repeat until NO tests fail
|
|
286
286
|
5. Only then mark story as complete
|
|
287
287
|
|
|
288
|
+
### CRITICAL: One Story at a Time
|
|
289
|
+
|
|
290
|
+
**Execute ONLY the single selected story per invocation of this command.**
|
|
291
|
+
|
|
292
|
+
- After completing Step 6 (test validation) and verifying tests pass, proceed to Step 7.
|
|
293
|
+
- After Step 7, **STOP execution completely.**
|
|
294
|
+
- **DO NOT** automatically begin the next story.
|
|
295
|
+
- **DO NOT** ask "shall I continue with story 2?" and then start coding before the user responds.
|
|
296
|
+
- Present the completion summary and **wait for the user** to explicitly request the next story.
|
|
297
|
+
- The user must invoke `/execute-task` again or explicitly ask to continue with the next story.
|
|
298
|
+
|
|
288
299
|
### Step 7: Story Completion & Status Updates
|
|
289
300
|
|
|
290
301
|
**Update story file status:**
|
|
@@ -367,9 +378,11 @@ Next available stories:
|
|
|
367
378
|
- Story 2: Password Reset (4 tasks) - Not Started
|
|
368
379
|
- Story 3: Profile Management (6 tasks) - Not Started
|
|
369
380
|
|
|
370
|
-
|
|
381
|
+
To continue, invoke /execute-task again or ask me to proceed with the next story.
|
|
371
382
|
```
|
|
372
383
|
|
|
384
|
+
**STOP here. Do NOT begin the next story automatically.**
|
|
385
|
+
|
|
373
386
|
**If ANY tests fail, present this instead:**
|
|
374
387
|
|
|
375
388
|
```
|
package/manifest.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
3
|
-
"timestamp": "2026-02-
|
|
4
|
-
"commit": "
|
|
2
|
+
"version": "0.3.0",
|
|
3
|
+
"timestamp": "2026-02-12T13:09:10.578Z",
|
|
4
|
+
"commit": "a18e9dc145c3990823850611b321d0713e63d657",
|
|
5
5
|
"description": "Code Captain file manifest for change detection",
|
|
6
6
|
"files": {
|
|
7
7
|
"cursor/cc.mdc": {
|
|
8
8
|
"hash": "sha256:92bf482f44684af5072358908dfece0247470d14d7bdfd15d7ee83a9127ff199",
|
|
9
9
|
"size": 4800,
|
|
10
10
|
"lastModified": "2025-11-25T16:41:04.604Z",
|
|
11
|
-
"version": "0.
|
|
11
|
+
"version": "0.3.0",
|
|
12
12
|
"component": "rules",
|
|
13
13
|
"description": "You are **Code Captain** - a methodical AI development partner who executes comprehensive software w..."
|
|
14
14
|
},
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"hash": "sha256:5a80261ed75b56c6eb58b7e11a951f5ac1cdf184290582bdd8210bea1bb820b2",
|
|
17
17
|
"size": 15818,
|
|
18
18
|
"lastModified": "2025-11-25T16:41:04.605Z",
|
|
19
|
-
"version": "0.
|
|
19
|
+
"version": "0.3.0",
|
|
20
20
|
"component": "commands",
|
|
21
21
|
"description": "Create comprehensive Architecture Decision Records (ADRs) that systematically document architectural..."
|
|
22
22
|
},
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"hash": "sha256:f7305a4584b2f291fc494bee035c20d7dd48dc2f6ea913982ee96773e24e8499",
|
|
25
25
|
"size": 17742,
|
|
26
26
|
"lastModified": "2025-11-25T16:41:04.605Z",
|
|
27
|
-
"version": "0.
|
|
27
|
+
"version": "0.3.0",
|
|
28
28
|
"component": "commands",
|
|
29
29
|
"description": "Generate comprehensive feature specifications using a contract-first approach that ensures complete ..."
|
|
30
30
|
},
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"hash": "sha256:95836eba17d903953a4c4209a69c33eb6ad19f276f472d66c13887a8094868e2",
|
|
33
33
|
"size": 16803,
|
|
34
34
|
"lastModified": "2025-11-25T16:41:04.605Z",
|
|
35
|
-
"version": "0.
|
|
35
|
+
"version": "0.3.0",
|
|
36
36
|
"component": "commands",
|
|
37
37
|
"description": "Modify existing feature specifications using a contract-first approach that ensures complete alignme..."
|
|
38
38
|
},
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"hash": "sha256:01323eaf32a4b44cc4c2abdaccd728245448070235a8d623751449e8daf23871",
|
|
41
41
|
"size": 16496,
|
|
42
42
|
"lastModified": "2025-11-25T16:41:04.605Z",
|
|
43
|
-
"version": "0.
|
|
43
|
+
"version": "0.3.0",
|
|
44
44
|
"component": "commands",
|
|
45
45
|
"description": "Execute a specific task and its sub-tasks systematically following a Test-Driven Development (TDD) w..."
|
|
46
46
|
},
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"hash": "sha256:e44b9353ca3fa1f332af52f1e2b6148e152bb12a16e52b81cc9f5794d453a9e2",
|
|
49
49
|
"size": 6974,
|
|
50
50
|
"lastModified": "2025-11-25T16:41:04.605Z",
|
|
51
|
-
"version": "0.
|
|
51
|
+
"version": "0.3.0",
|
|
52
52
|
"component": "commands",
|
|
53
53
|
"description": "The `explain-code` command provides comprehensive, AI-powered explanations of code segments, functio..."
|
|
54
54
|
},
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"hash": "sha256:a519ecaacb02097b1d12a43a34ac3498a6bf9b47ecc6cb6621dd84b3d4970a10",
|
|
57
57
|
"size": 11267,
|
|
58
58
|
"lastModified": "2025-11-25T16:41:04.605Z",
|
|
59
|
-
"version": "0.
|
|
59
|
+
"version": "0.3.0",
|
|
60
60
|
"component": "commands",
|
|
61
61
|
"description": "Set up technical foundation and development infrastructure by detecting if this is a greenfield (new..."
|
|
62
62
|
},
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"hash": "sha256:3b3d9be4e4b66ca4bd461b2dee8681217fd3c6681dced4736e6d85e793efef3e",
|
|
65
65
|
"size": 14341,
|
|
66
66
|
"lastModified": "2025-11-25T16:41:04.606Z",
|
|
67
|
-
"version": "0.
|
|
67
|
+
"version": "0.3.0",
|
|
68
68
|
"component": "commands",
|
|
69
69
|
"description": "A meta command that creates new Code Captain commands following established patterns and conventions..."
|
|
70
70
|
},
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"hash": "sha256:90a69bc3334a69af98aa0814e7a00e1e2c4ce4cd0abf32b04f3c577f9437f221",
|
|
73
73
|
"size": 16455,
|
|
74
74
|
"lastModified": "2025-11-25T16:41:04.606Z",
|
|
75
|
-
"version": "0.
|
|
75
|
+
"version": "0.3.0",
|
|
76
76
|
"component": "commands",
|
|
77
77
|
"description": "Generate comprehensive product planning documentation using a contract-first approach that establish..."
|
|
78
78
|
},
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"hash": "sha256:6def0906545267f6fe14f1d920baa8cce0fdb27f3bae45c2ab9b22e3e6464e0e",
|
|
81
81
|
"size": 8595,
|
|
82
82
|
"lastModified": "2025-11-25T16:41:04.606Z",
|
|
83
|
-
"version": "0.
|
|
83
|
+
"version": "0.3.0",
|
|
84
84
|
"component": "commands",
|
|
85
85
|
"description": "Conduct systematic research on a topic using structured phases that build upon each other, creating ..."
|
|
86
86
|
},
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
"hash": "sha256:48ea3bd849cdfb566778f6d84090878c287cee3e07dd4ec997bdc51fcca40ea4",
|
|
89
89
|
"size": 12793,
|
|
90
90
|
"lastModified": "2025-11-25T16:41:04.606Z",
|
|
91
|
-
"version": "0.
|
|
91
|
+
"version": "0.3.0",
|
|
92
92
|
"component": "commands",
|
|
93
93
|
"description": "A command that provides developers with a comprehensive status report when starting work or switchin..."
|
|
94
94
|
},
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
"hash": "sha256:9faa9403fbd24b992bdd3c6cff204a6c867fb4068a79188ec7cbe5662daf1e4d",
|
|
97
97
|
"size": 8270,
|
|
98
98
|
"lastModified": "2025-11-25T16:41:04.606Z",
|
|
99
|
-
"version": "0.
|
|
99
|
+
"version": "0.3.0",
|
|
100
100
|
"component": "commands",
|
|
101
101
|
"description": "A deck-cleaning agent that makes one small, focused improvement to the codebase, following the \"Boy ..."
|
|
102
102
|
},
|
|
@@ -104,15 +104,15 @@
|
|
|
104
104
|
"hash": "sha256:727c8ae467010da039c41d013c2557d689bfca16f8a93e6b8744c89fa66e27ba",
|
|
105
105
|
"size": 2177,
|
|
106
106
|
"lastModified": "2025-11-25T16:41:04.606Z",
|
|
107
|
-
"version": "0.
|
|
107
|
+
"version": "0.3.0",
|
|
108
108
|
"component": "docs",
|
|
109
109
|
"description": "Global development guidelines for Agent OS projects."
|
|
110
110
|
},
|
|
111
111
|
"copilot/copilot-instructions.md": {
|
|
112
|
-
"hash": "sha256:
|
|
113
|
-
"size":
|
|
114
|
-
"lastModified": "2026-02-
|
|
115
|
-
"version": "0.
|
|
112
|
+
"hash": "sha256:0f11ce5c0f1ba589f59741027ed6daee95a2d73623d4219c42919125060a801c",
|
|
113
|
+
"size": 6003,
|
|
114
|
+
"lastModified": "2026-02-12T12:44:12.842Z",
|
|
115
|
+
"version": "0.3.0",
|
|
116
116
|
"component": "instructions",
|
|
117
117
|
"description": "You are **Code Captain** - a methodical AI development partner who executes comprehensive software w..."
|
|
118
118
|
},
|
|
@@ -120,15 +120,15 @@
|
|
|
120
120
|
"hash": "sha256:98abb65bb7e48283c8f84a8e679d5bc7935455f2142d6d28465fc59ddd77bbf9",
|
|
121
121
|
"size": 2639,
|
|
122
122
|
"lastModified": "2026-02-11T22:17:25.559Z",
|
|
123
|
-
"version": "0.
|
|
123
|
+
"version": "0.3.0",
|
|
124
124
|
"component": "agents",
|
|
125
125
|
"description": "Code Captain - AI Development Partner"
|
|
126
126
|
},
|
|
127
127
|
"copilot/prompts/create-adr.prompt.md": {
|
|
128
|
-
"hash": "sha256:
|
|
129
|
-
"size":
|
|
130
|
-
"lastModified": "2026-02-
|
|
131
|
-
"version": "0.
|
|
128
|
+
"hash": "sha256:98398b6f0869d4eb84f08760cf38b6553d107714acc58e392a975d263dae3f44",
|
|
129
|
+
"size": 12092,
|
|
130
|
+
"lastModified": "2026-02-12T12:48:34.927Z",
|
|
131
|
+
"version": "0.3.0",
|
|
132
132
|
"component": "prompts",
|
|
133
133
|
"description": "Create Architecture Decision Records with research and analysis"
|
|
134
134
|
},
|
|
@@ -136,23 +136,23 @@
|
|
|
136
136
|
"hash": "sha256:f30bf21f2a9df38c85a28ad530a52a363b883ea912c4eda492efd6d2dd1d9b02",
|
|
137
137
|
"size": 13846,
|
|
138
138
|
"lastModified": "2026-02-11T22:17:25.560Z",
|
|
139
|
-
"version": "0.
|
|
139
|
+
"version": "0.3.0",
|
|
140
140
|
"component": "prompts",
|
|
141
141
|
"description": "Generate feature specifications using a contract-first approach"
|
|
142
142
|
},
|
|
143
143
|
"copilot/prompts/edit-spec.prompt.md": {
|
|
144
|
-
"hash": "sha256:
|
|
145
|
-
"size":
|
|
146
|
-
"lastModified": "2026-02-
|
|
147
|
-
"version": "0.
|
|
144
|
+
"hash": "sha256:47b4c636620083d4b5e113afafc358dc1aa5015ca55a6d414ff62543fc53f026",
|
|
145
|
+
"size": 9528,
|
|
146
|
+
"lastModified": "2026-02-12T12:46:48.988Z",
|
|
147
|
+
"version": "0.3.0",
|
|
148
148
|
"component": "prompts",
|
|
149
149
|
"description": "Modify existing feature specifications with change tracking"
|
|
150
150
|
},
|
|
151
151
|
"copilot/prompts/execute-task.prompt.md": {
|
|
152
|
-
"hash": "sha256:
|
|
153
|
-
"size":
|
|
154
|
-
"lastModified": "2026-02-
|
|
155
|
-
"version": "0.
|
|
152
|
+
"hash": "sha256:729171a3564b322e46920e8e7b379542bd52c7d0b2d78594e78758b770418791",
|
|
153
|
+
"size": 8726,
|
|
154
|
+
"lastModified": "2026-02-12T12:48:51.235Z",
|
|
155
|
+
"version": "0.3.0",
|
|
156
156
|
"component": "prompts",
|
|
157
157
|
"description": "Execute implementation tasks using TDD from specifications"
|
|
158
158
|
},
|
|
@@ -160,15 +160,15 @@
|
|
|
160
160
|
"hash": "sha256:63a083e461fd536f9232ae9051d97b83cb0dedb956353d63d41fce10a5c73ec5",
|
|
161
161
|
"size": 4031,
|
|
162
162
|
"lastModified": "2026-02-11T22:17:25.560Z",
|
|
163
|
-
"version": "0.
|
|
163
|
+
"version": "0.3.0",
|
|
164
164
|
"component": "prompts",
|
|
165
165
|
"description": "Generate comprehensive code explanations with diagrams"
|
|
166
166
|
},
|
|
167
167
|
"copilot/prompts/initialize.prompt.md": {
|
|
168
|
-
"hash": "sha256:
|
|
169
|
-
"size":
|
|
170
|
-
"lastModified": "2026-02-
|
|
171
|
-
"version": "0.
|
|
168
|
+
"hash": "sha256:b9cf96bf153c77eb759cca6074dec0cb49c0700c7cde96743e8af7d71b8d72c0",
|
|
169
|
+
"size": 4450,
|
|
170
|
+
"lastModified": "2026-02-12T12:45:46.356Z",
|
|
171
|
+
"version": "0.3.0",
|
|
172
172
|
"component": "prompts",
|
|
173
173
|
"description": "Analyze and set up project foundation with documentation"
|
|
174
174
|
},
|
|
@@ -176,7 +176,7 @@
|
|
|
176
176
|
"hash": "sha256:ed321a43dcd7276a65752a97573acad956cd8904667544d795b7441d643a71f0",
|
|
177
177
|
"size": 5516,
|
|
178
178
|
"lastModified": "2026-02-11T22:17:25.561Z",
|
|
179
|
-
"version": "0.
|
|
179
|
+
"version": "0.3.0",
|
|
180
180
|
"component": "prompts",
|
|
181
181
|
"description": "Create new Code Captain commands following established patterns"
|
|
182
182
|
},
|
|
@@ -184,7 +184,7 @@
|
|
|
184
184
|
"hash": "sha256:e7614e39e7b1d04f6cb8952188a9539422a26d2d2da754799f6424e167e3ea28",
|
|
185
185
|
"size": 6854,
|
|
186
186
|
"lastModified": "2026-02-11T22:17:25.561Z",
|
|
187
|
-
"version": "0.
|
|
187
|
+
"version": "0.3.0",
|
|
188
188
|
"component": "prompts",
|
|
189
189
|
"description": "Transform product ideas into comprehensive plans"
|
|
190
190
|
},
|
|
@@ -192,15 +192,15 @@
|
|
|
192
192
|
"hash": "sha256:33702a0fd7b87059f7163e09d66b305cf9a06531d4133ab9c999a9f3d9795f56",
|
|
193
193
|
"size": 5333,
|
|
194
194
|
"lastModified": "2026-02-11T22:17:25.561Z",
|
|
195
|
-
"version": "0.
|
|
195
|
+
"version": "0.3.0",
|
|
196
196
|
"component": "prompts",
|
|
197
197
|
"description": "Conduct systematic research using structured phases"
|
|
198
198
|
},
|
|
199
199
|
"copilot/prompts/status.prompt.md": {
|
|
200
|
-
"hash": "sha256:
|
|
201
|
-
"size":
|
|
202
|
-
"lastModified": "2026-02-
|
|
203
|
-
"version": "0.
|
|
200
|
+
"hash": "sha256:a0dc9009a9b031d42c3cff0cf26d289a0269ccc2cfcc36c1b42951caa3f9eba2",
|
|
201
|
+
"size": 4866,
|
|
202
|
+
"lastModified": "2026-02-12T12:48:58.243Z",
|
|
203
|
+
"version": "0.3.0",
|
|
204
204
|
"component": "prompts",
|
|
205
205
|
"description": "Provide comprehensive project status with next actions"
|
|
206
206
|
},
|
|
@@ -208,7 +208,7 @@
|
|
|
208
208
|
"hash": "sha256:79604fde524fd1e7c785ea1d7e84316929e17084c42c9928d1114f127bec0a80",
|
|
209
209
|
"size": 2847,
|
|
210
210
|
"lastModified": "2026-02-11T22:17:25.562Z",
|
|
211
|
-
"version": "0.
|
|
211
|
+
"version": "0.3.0",
|
|
212
212
|
"component": "prompts",
|
|
213
213
|
"description": "Make one focused code improvement following the Boy Scout Rule"
|
|
214
214
|
},
|
|
@@ -216,15 +216,15 @@
|
|
|
216
216
|
"hash": "sha256:727c8ae467010da039c41d013c2557d689bfca16f8a93e6b8744c89fa66e27ba",
|
|
217
217
|
"size": 2177,
|
|
218
218
|
"lastModified": "2025-11-25T16:41:04.601Z",
|
|
219
|
-
"version": "0.
|
|
219
|
+
"version": "0.3.0",
|
|
220
220
|
"component": "docs",
|
|
221
221
|
"description": "Global development guidelines for Agent OS projects."
|
|
222
222
|
},
|
|
223
223
|
"copilot/Directory.Build.props": {
|
|
224
224
|
"hash": "sha256:3a9c06c556e462dd5697d6852bcef712af3ab80581d00cee7f2de412a7abb729",
|
|
225
225
|
"size": 475,
|
|
226
|
-
"lastModified": "2026-02-
|
|
227
|
-
"version": "0.
|
|
226
|
+
"lastModified": "2026-02-11T23:21:47.573Z",
|
|
227
|
+
"version": "0.3.0",
|
|
228
228
|
"component": "vs-solution",
|
|
229
229
|
"description": "<!-- Code Captain: Make .github/ Copilot files visible in VS Solution Explorer -->"
|
|
230
230
|
},
|
|
@@ -232,7 +232,7 @@
|
|
|
232
232
|
"hash": "sha256:6d87de22934ab5eecc48a899907dba6c38d2ecc30e96aa871eaf4fe4d500a08f",
|
|
233
233
|
"size": 5832,
|
|
234
234
|
"lastModified": "2025-11-25T16:41:04.600Z",
|
|
235
|
-
"version": "0.
|
|
235
|
+
"version": "0.3.0",
|
|
236
236
|
"component": "agents",
|
|
237
237
|
"description": "Comprehensive AI development partner for coordinating software development workflows. Use proactively for project setup, requirements analysis, feature specifications, architecture decisions, implementation planning, and platform integrations across the entire development lifecycle."
|
|
238
238
|
},
|
|
@@ -240,7 +240,7 @@
|
|
|
240
240
|
"hash": "sha256:ee220ded638b37fe29c519f8b21311b535c871b9d0f276d0cb7a609241bac497",
|
|
241
241
|
"size": 8644,
|
|
242
242
|
"lastModified": "2025-11-25T16:41:04.600Z",
|
|
243
|
-
"version": "0.
|
|
243
|
+
"version": "0.3.0",
|
|
244
244
|
"component": "agents",
|
|
245
245
|
"description": "Specialized agent for generating core specification documents from locked contracts. Creates spec.md and spec-lite.md files with proper structure and formatting."
|
|
246
246
|
},
|
|
@@ -248,7 +248,7 @@
|
|
|
248
248
|
"hash": "sha256:3968ec61d6530c165d594448ad703ddee9fb4ddc84fe6a414c6ed4fcc836c596",
|
|
249
249
|
"size": 11225,
|
|
250
250
|
"lastModified": "2025-11-25T16:41:04.600Z",
|
|
251
|
-
"version": "0.
|
|
251
|
+
"version": "0.3.0",
|
|
252
252
|
"component": "agents",
|
|
253
253
|
"description": "Specialized agent for creating user stories with focused task breakdown. Generates individual story files with 5-7 tasks each, following TDD patterns and ensuring each story delivers standalone user value."
|
|
254
254
|
},
|
|
@@ -256,7 +256,7 @@
|
|
|
256
256
|
"hash": "sha256:22e055c35614ff928c62540eb3459b8841b2f48852d999ab949d35ebc9cdd108",
|
|
257
257
|
"size": 12800,
|
|
258
258
|
"lastModified": "2025-11-25T16:41:04.600Z",
|
|
259
|
-
"version": "0.
|
|
259
|
+
"version": "0.3.0",
|
|
260
260
|
"component": "agents",
|
|
261
261
|
"description": "Specialized agent for generating technical specifications based on requirements. Creates architecture documents, database schemas, API specs, and UI wireframes only when needed, ensuring technical details support user story implementation."
|
|
262
262
|
},
|
|
@@ -264,7 +264,7 @@
|
|
|
264
264
|
"hash": "sha256:5f401313635a46278251df9cba31c0228270b15d6ddd06cf64c72274cee39ea4",
|
|
265
265
|
"size": 25185,
|
|
266
266
|
"lastModified": "2026-02-11T15:17:33.463Z",
|
|
267
|
-
"version": "0.
|
|
267
|
+
"version": "0.3.0",
|
|
268
268
|
"component": "claude-commands",
|
|
269
269
|
"description": "Generate comprehensive feature specifications using a contract-first approach that ensures complete ..."
|
|
270
270
|
},
|
|
@@ -272,14 +272,14 @@
|
|
|
272
272
|
"hash": "sha256:7c94db2c53c3b937377074d1ef272cdc9b026ebb108c68770c4836f476a7abdc",
|
|
273
273
|
"size": 15817,
|
|
274
274
|
"lastModified": "2025-11-25T16:41:04.601Z",
|
|
275
|
-
"version": "0.
|
|
275
|
+
"version": "0.3.0",
|
|
276
276
|
"component": "claude-commands",
|
|
277
277
|
"description": "Set up technical foundation and development infrastructure by detecting if this is a greenfield (new..."
|
|
278
278
|
}
|
|
279
279
|
},
|
|
280
280
|
"changelog": {
|
|
281
|
-
"0.
|
|
282
|
-
"date": "2026-02-
|
|
281
|
+
"0.3.0": {
|
|
282
|
+
"date": "2026-02-12",
|
|
283
283
|
"changes": []
|
|
284
284
|
}
|
|
285
285
|
}
|
package/package.json
CHANGED
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devobsessed/code-captain",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "Unified AI Development Agent System with intelligent change detection",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"code-captain": "bin/install.js"
|
|
8
8
|
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"manifest": "node scripts/build-manifest.js",
|
|
11
|
+
"dry-run": "npm publish --dry-run",
|
|
12
|
+
"publish": "npm publish",
|
|
13
|
+
"self": "cross-env CC_LOCAL_SOURCE=. node bin/install.js",
|
|
14
|
+
"test": "vitest run",
|
|
15
|
+
"test:watch": "vitest --watch",
|
|
16
|
+
"test:ui": "vitest --ui",
|
|
17
|
+
"analyze-tokens": "node scripts/analyze-token-counts.js"
|
|
18
|
+
},
|
|
9
19
|
"keywords": [
|
|
10
20
|
"ai",
|
|
11
21
|
"development",
|
|
@@ -53,14 +63,5 @@
|
|
|
53
63
|
"bugs": {
|
|
54
64
|
"url": "https://github.com/devobsessed/code-captain/issues"
|
|
55
65
|
},
|
|
56
|
-
"homepage": "https://github.com/devobsessed/code-captain#readme"
|
|
57
|
-
|
|
58
|
-
"manifest": "node scripts/build-manifest.js",
|
|
59
|
-
"dry-run": "npm publish --dry-run",
|
|
60
|
-
"self": "cross-env CC_LOCAL_SOURCE=. node bin/install.js",
|
|
61
|
-
"test": "vitest run",
|
|
62
|
-
"test:watch": "vitest --watch",
|
|
63
|
-
"test:ui": "vitest --ui",
|
|
64
|
-
"analyze-tokens": "node scripts/analyze-token-counts.js"
|
|
65
|
-
}
|
|
66
|
-
}
|
|
66
|
+
"homepage": "https://github.com/devobsessed/code-captain#readme"
|
|
67
|
+
}
|