@devobsessed/code-captain 0.2.1 → 0.2.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 +106 -0
- package/copilot/Directory.Build.props +8 -0
- package/manifest.json +58 -50
- package/package.json +12 -13
package/bin/install.js
CHANGED
|
@@ -691,6 +691,11 @@ class CodeCaptainInstaller {
|
|
|
691
691
|
},
|
|
692
692
|
{ name: "Copilot Agents", value: "agents", checked: true },
|
|
693
693
|
{ name: "Copilot Prompts", value: "prompts", checked: true },
|
|
694
|
+
{
|
|
695
|
+
name: "VS Solution View (Directory.Build.props)",
|
|
696
|
+
value: "vs-solution",
|
|
697
|
+
checked: false,
|
|
698
|
+
},
|
|
694
699
|
];
|
|
695
700
|
|
|
696
701
|
case "claude":
|
|
@@ -852,6 +857,83 @@ class CodeCaptainInstaller {
|
|
|
852
857
|
}
|
|
853
858
|
}
|
|
854
859
|
|
|
860
|
+
// Install Directory.Build.props with merge support
|
|
861
|
+
async installDirectoryBuildProps() {
|
|
862
|
+
const targetPath = "Directory.Build.props";
|
|
863
|
+
const templateSource = "copilot/Directory.Build.props";
|
|
864
|
+
const marker = 'Label="Code Captain"';
|
|
865
|
+
|
|
866
|
+
// Read template content
|
|
867
|
+
let templateContent;
|
|
868
|
+
if (this.config.localSource) {
|
|
869
|
+
const localPath = path.join(this.config.localSource, templateSource);
|
|
870
|
+
if (!(await fs.pathExists(localPath))) {
|
|
871
|
+
throw new Error(`Template not found: ${localPath}`);
|
|
872
|
+
}
|
|
873
|
+
templateContent = await fs.readFile(localPath, "utf8");
|
|
874
|
+
} else {
|
|
875
|
+
const url = `${this.config.baseUrl}/${templateSource}`;
|
|
876
|
+
const response = await this.fetchWithTimeout(url, {}, 20000);
|
|
877
|
+
if (!response.ok) {
|
|
878
|
+
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
|
|
879
|
+
}
|
|
880
|
+
templateContent = await response.text();
|
|
881
|
+
}
|
|
882
|
+
|
|
883
|
+
// Extract the ItemGroup block from template
|
|
884
|
+
const itemGroupMatch = templateContent.match(
|
|
885
|
+
/[ \t]*<ItemGroup Label="Code Captain">[\s\S]*?<\/ItemGroup>/
|
|
886
|
+
);
|
|
887
|
+
if (!itemGroupMatch) {
|
|
888
|
+
throw new Error("Template missing Code Captain ItemGroup");
|
|
889
|
+
}
|
|
890
|
+
const itemGroupBlock = itemGroupMatch[0];
|
|
891
|
+
|
|
892
|
+
const exists = await fs.pathExists(targetPath);
|
|
893
|
+
|
|
894
|
+
if (!exists) {
|
|
895
|
+
// Case 1: File doesn't exist — create from template
|
|
896
|
+
await fs.writeFile(targetPath, templateContent);
|
|
897
|
+
return { action: "created" };
|
|
898
|
+
}
|
|
899
|
+
|
|
900
|
+
// File exists — read it
|
|
901
|
+
const existingContent = await fs.readFile(targetPath, "utf8");
|
|
902
|
+
|
|
903
|
+
if (existingContent.includes(marker)) {
|
|
904
|
+
// Case 3: Already has Code Captain content — replace if changed
|
|
905
|
+
const existingBlock = existingContent.match(
|
|
906
|
+
/[ \t]*<ItemGroup Label="Code Captain">[\s\S]*?<\/ItemGroup>/
|
|
907
|
+
);
|
|
908
|
+
if (existingBlock && existingBlock[0] === itemGroupBlock) {
|
|
909
|
+
return { action: "up-to-date" };
|
|
910
|
+
}
|
|
911
|
+
|
|
912
|
+
// Replace existing block
|
|
913
|
+
await fs.copy(targetPath, `${targetPath}.backup`);
|
|
914
|
+
const updatedContent = existingContent.replace(
|
|
915
|
+
/[ \t]*<ItemGroup Label="Code Captain">[\s\S]*?<\/ItemGroup>/,
|
|
916
|
+
itemGroupBlock
|
|
917
|
+
);
|
|
918
|
+
await fs.writeFile(targetPath, updatedContent);
|
|
919
|
+
return { action: "updated" };
|
|
920
|
+
}
|
|
921
|
+
|
|
922
|
+
// Case 2: File exists, no Code Captain content — inject before </Project>
|
|
923
|
+
await fs.copy(targetPath, `${targetPath}.backup`);
|
|
924
|
+
if (!existingContent.includes("</Project>")) {
|
|
925
|
+
throw new Error(
|
|
926
|
+
"Directory.Build.props is malformed (missing </Project>). Please fix manually."
|
|
927
|
+
);
|
|
928
|
+
}
|
|
929
|
+
const injectedContent = existingContent.replace(
|
|
930
|
+
/<\/Project>/,
|
|
931
|
+
`\n${itemGroupBlock}\n</Project>`
|
|
932
|
+
);
|
|
933
|
+
await fs.writeFile(targetPath, injectedContent);
|
|
934
|
+
return { action: "merged" };
|
|
935
|
+
}
|
|
936
|
+
|
|
855
937
|
// Get IDE-specific file list
|
|
856
938
|
getIDEFiles(selectedIDE, selectedComponents = null) {
|
|
857
939
|
const files = [];
|
|
@@ -1029,6 +1111,17 @@ class CodeCaptainInstaller {
|
|
|
1029
1111
|
spinner.text = `Installing files... (${completed}/${files.length})`;
|
|
1030
1112
|
}
|
|
1031
1113
|
|
|
1114
|
+
// Handle Directory.Build.props for vs-solution component (opt-in only, not in installAll)
|
|
1115
|
+
let vsSolutionResult = null;
|
|
1116
|
+
if (
|
|
1117
|
+
!installOptions.installAll &&
|
|
1118
|
+
selectedComponents &&
|
|
1119
|
+
selectedComponents.includes("vs-solution")
|
|
1120
|
+
) {
|
|
1121
|
+
spinner.text = "Installing Directory.Build.props...";
|
|
1122
|
+
vsSolutionResult = await this.installDirectoryBuildProps();
|
|
1123
|
+
}
|
|
1124
|
+
|
|
1032
1125
|
spinner.succeed(
|
|
1033
1126
|
`${this.ides[selectedIDE].name} integration installed successfully!`
|
|
1034
1127
|
);
|
|
@@ -1050,6 +1143,7 @@ class CodeCaptainInstaller {
|
|
|
1050
1143
|
installOptions.changeInfo.newFiles.length > 0),
|
|
1051
1144
|
backupsCreated: backupPaths.length > 0,
|
|
1052
1145
|
backupPaths: backupPaths,
|
|
1146
|
+
vsSolutionResult,
|
|
1053
1147
|
};
|
|
1054
1148
|
} catch (error) {
|
|
1055
1149
|
spinner.fail("Installation failed");
|
|
@@ -1173,6 +1267,18 @@ class CodeCaptainInstaller {
|
|
|
1173
1267
|
break;
|
|
1174
1268
|
}
|
|
1175
1269
|
|
|
1270
|
+
// Show Directory.Build.props result if applicable
|
|
1271
|
+
if (installResult.vsSolutionResult) {
|
|
1272
|
+
const action = installResult.vsSolutionResult.action;
|
|
1273
|
+
const messages = {
|
|
1274
|
+
created: "Created Directory.Build.props — .github/ files now visible in VS Solution Explorer",
|
|
1275
|
+
merged: "Merged Code Captain items into existing Directory.Build.props (backup saved as .backup)",
|
|
1276
|
+
updated: "Updated Code Captain section in Directory.Build.props (backup saved as .backup)",
|
|
1277
|
+
"up-to-date": "Directory.Build.props is already up to date",
|
|
1278
|
+
};
|
|
1279
|
+
console.log(chalk.cyan("\n📁 VS Solution View:"), messages[action]);
|
|
1280
|
+
}
|
|
1281
|
+
|
|
1176
1282
|
console.log(
|
|
1177
1283
|
"\n" + chalk.green("🚀 Ready to start building with Code Captain!")
|
|
1178
1284
|
);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<Project>
|
|
2
|
+
<!-- Code Captain: Make .github/ Copilot files visible in VS Solution Explorer -->
|
|
3
|
+
<ItemGroup Label="Code Captain">
|
|
4
|
+
<None Include=".github\copilot-instructions.md" Link="Code Captain\copilot-instructions.md" />
|
|
5
|
+
<None Include=".github\agents\**\*" Link="Code Captain\agents\%(RecursiveDir)%(Filename)%(Extension)" />
|
|
6
|
+
<None Include=".github\prompts\**\*" Link="Code Captain\prompts\%(RecursiveDir)%(Filename)%(Extension)" />
|
|
7
|
+
</ItemGroup>
|
|
8
|
+
</Project>
|
package/manifest.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.2.
|
|
3
|
-
"timestamp": "2026-02-11T22:
|
|
4
|
-
"commit": "
|
|
2
|
+
"version": "0.2.2",
|
|
3
|
+
"timestamp": "2026-02-11T22:53:25.745Z",
|
|
4
|
+
"commit": "c74b5fbcf9c1e4eed4851c3d7ed3e065c81d19d0",
|
|
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.2.
|
|
11
|
+
"version": "0.2.2",
|
|
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.2.
|
|
19
|
+
"version": "0.2.2",
|
|
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.2.
|
|
27
|
+
"version": "0.2.2",
|
|
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.2.
|
|
35
|
+
"version": "0.2.2",
|
|
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.2.
|
|
43
|
+
"version": "0.2.2",
|
|
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.2.
|
|
51
|
+
"version": "0.2.2",
|
|
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.2.
|
|
59
|
+
"version": "0.2.2",
|
|
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.2.
|
|
67
|
+
"version": "0.2.2",
|
|
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.2.
|
|
75
|
+
"version": "0.2.2",
|
|
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.2.
|
|
83
|
+
"version": "0.2.2",
|
|
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.2.
|
|
91
|
+
"version": "0.2.2",
|
|
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.2.
|
|
99
|
+
"version": "0.2.2",
|
|
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,111 +104,111 @@
|
|
|
104
104
|
"hash": "sha256:727c8ae467010da039c41d013c2557d689bfca16f8a93e6b8744c89fa66e27ba",
|
|
105
105
|
"size": 2177,
|
|
106
106
|
"lastModified": "2025-11-25T16:41:04.606Z",
|
|
107
|
-
"version": "0.2.
|
|
107
|
+
"version": "0.2.2",
|
|
108
108
|
"component": "docs",
|
|
109
109
|
"description": "Global development guidelines for Agent OS projects."
|
|
110
110
|
},
|
|
111
111
|
"copilot/copilot-instructions.md": {
|
|
112
112
|
"hash": "sha256:9264535377631fad4c858b539cfe010923819cd2f4398126d95870aadef3b96a",
|
|
113
113
|
"size": 3863,
|
|
114
|
-
"lastModified": "2026-02-
|
|
115
|
-
"version": "0.2.
|
|
114
|
+
"lastModified": "2026-02-11T22:17:25.560Z",
|
|
115
|
+
"version": "0.2.2",
|
|
116
116
|
"component": "instructions",
|
|
117
117
|
"description": "You are **Code Captain** - a methodical AI development partner who executes comprehensive software w..."
|
|
118
118
|
},
|
|
119
119
|
"copilot/agents/Code Captain.agent.md": {
|
|
120
120
|
"hash": "sha256:98abb65bb7e48283c8f84a8e679d5bc7935455f2142d6d28465fc59ddd77bbf9",
|
|
121
121
|
"size": 2639,
|
|
122
|
-
"lastModified": "2026-02-
|
|
123
|
-
"version": "0.2.
|
|
122
|
+
"lastModified": "2026-02-11T22:17:25.559Z",
|
|
123
|
+
"version": "0.2.2",
|
|
124
124
|
"component": "agents",
|
|
125
125
|
"description": "Code Captain - AI Development Partner"
|
|
126
126
|
},
|
|
127
127
|
"copilot/prompts/create-adr.prompt.md": {
|
|
128
128
|
"hash": "sha256:d96a955d9e589f1c7d88853eac6e42d7c079eae66e2d2153082ac75c10c64073",
|
|
129
129
|
"size": 11775,
|
|
130
|
-
"lastModified": "2026-02-
|
|
131
|
-
"version": "0.2.
|
|
130
|
+
"lastModified": "2026-02-11T22:17:25.560Z",
|
|
131
|
+
"version": "0.2.2",
|
|
132
132
|
"component": "prompts",
|
|
133
133
|
"description": "Create Architecture Decision Records with research and analysis"
|
|
134
134
|
},
|
|
135
135
|
"copilot/prompts/create-spec.prompt.md": {
|
|
136
136
|
"hash": "sha256:f30bf21f2a9df38c85a28ad530a52a363b883ea912c4eda492efd6d2dd1d9b02",
|
|
137
137
|
"size": 13846,
|
|
138
|
-
"lastModified": "2026-02-
|
|
139
|
-
"version": "0.2.
|
|
138
|
+
"lastModified": "2026-02-11T22:17:25.560Z",
|
|
139
|
+
"version": "0.2.2",
|
|
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
144
|
"hash": "sha256:50c533454e73dbfcc2db0eaef77bfa201a472b467760610a7a4002dee572419f",
|
|
145
145
|
"size": 9193,
|
|
146
|
-
"lastModified": "2026-02-
|
|
147
|
-
"version": "0.2.
|
|
146
|
+
"lastModified": "2026-02-11T22:17:25.560Z",
|
|
147
|
+
"version": "0.2.2",
|
|
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
152
|
"hash": "sha256:a7b847a5ad23bd240481c0c1f4d416404654f748346448ba9c1d48c71b69a3cd",
|
|
153
153
|
"size": 4605,
|
|
154
|
-
"lastModified": "2026-02-
|
|
155
|
-
"version": "0.2.
|
|
154
|
+
"lastModified": "2026-02-11T22:17:25.560Z",
|
|
155
|
+
"version": "0.2.2",
|
|
156
156
|
"component": "prompts",
|
|
157
157
|
"description": "Execute implementation tasks using TDD from specifications"
|
|
158
158
|
},
|
|
159
159
|
"copilot/prompts/explain-code.prompt.md": {
|
|
160
160
|
"hash": "sha256:63a083e461fd536f9232ae9051d97b83cb0dedb956353d63d41fce10a5c73ec5",
|
|
161
161
|
"size": 4031,
|
|
162
|
-
"lastModified": "2026-02-
|
|
163
|
-
"version": "0.2.
|
|
162
|
+
"lastModified": "2026-02-11T22:17:25.560Z",
|
|
163
|
+
"version": "0.2.2",
|
|
164
164
|
"component": "prompts",
|
|
165
165
|
"description": "Generate comprehensive code explanations with diagrams"
|
|
166
166
|
},
|
|
167
167
|
"copilot/prompts/initialize.prompt.md": {
|
|
168
168
|
"hash": "sha256:a07e22de68c6d8adea0e428b546056cac45c17424ebe5d841e02b25707106883",
|
|
169
169
|
"size": 2328,
|
|
170
|
-
"lastModified": "2026-02-
|
|
171
|
-
"version": "0.2.
|
|
170
|
+
"lastModified": "2026-02-11T22:17:25.561Z",
|
|
171
|
+
"version": "0.2.2",
|
|
172
172
|
"component": "prompts",
|
|
173
173
|
"description": "Analyze and set up project foundation with documentation"
|
|
174
174
|
},
|
|
175
175
|
"copilot/prompts/new-command.prompt.md": {
|
|
176
176
|
"hash": "sha256:ed321a43dcd7276a65752a97573acad956cd8904667544d795b7441d643a71f0",
|
|
177
177
|
"size": 5516,
|
|
178
|
-
"lastModified": "2026-02-
|
|
179
|
-
"version": "0.2.
|
|
178
|
+
"lastModified": "2026-02-11T22:17:25.561Z",
|
|
179
|
+
"version": "0.2.2",
|
|
180
180
|
"component": "prompts",
|
|
181
181
|
"description": "Create new Code Captain commands following established patterns"
|
|
182
182
|
},
|
|
183
183
|
"copilot/prompts/plan-product.prompt.md": {
|
|
184
184
|
"hash": "sha256:e7614e39e7b1d04f6cb8952188a9539422a26d2d2da754799f6424e167e3ea28",
|
|
185
185
|
"size": 6854,
|
|
186
|
-
"lastModified": "2026-02-
|
|
187
|
-
"version": "0.2.
|
|
186
|
+
"lastModified": "2026-02-11T22:17:25.561Z",
|
|
187
|
+
"version": "0.2.2",
|
|
188
188
|
"component": "prompts",
|
|
189
189
|
"description": "Transform product ideas into comprehensive plans"
|
|
190
190
|
},
|
|
191
191
|
"copilot/prompts/research.prompt.md": {
|
|
192
192
|
"hash": "sha256:33702a0fd7b87059f7163e09d66b305cf9a06531d4133ab9c999a9f3d9795f56",
|
|
193
193
|
"size": 5333,
|
|
194
|
-
"lastModified": "2026-02-
|
|
195
|
-
"version": "0.2.
|
|
194
|
+
"lastModified": "2026-02-11T22:17:25.561Z",
|
|
195
|
+
"version": "0.2.2",
|
|
196
196
|
"component": "prompts",
|
|
197
197
|
"description": "Conduct systematic research using structured phases"
|
|
198
198
|
},
|
|
199
199
|
"copilot/prompts/status.prompt.md": {
|
|
200
200
|
"hash": "sha256:9e33640760c5af58498eecdb4dc6f9e97f5b53fadb8a296fb449ba111ada135f",
|
|
201
201
|
"size": 3734,
|
|
202
|
-
"lastModified": "2026-02-
|
|
203
|
-
"version": "0.2.
|
|
202
|
+
"lastModified": "2026-02-11T22:17:25.561Z",
|
|
203
|
+
"version": "0.2.2",
|
|
204
204
|
"component": "prompts",
|
|
205
205
|
"description": "Provide comprehensive project status with next actions"
|
|
206
206
|
},
|
|
207
207
|
"copilot/prompts/swab.prompt.md": {
|
|
208
208
|
"hash": "sha256:79604fde524fd1e7c785ea1d7e84316929e17084c42c9928d1114f127bec0a80",
|
|
209
209
|
"size": 2847,
|
|
210
|
-
"lastModified": "2026-02-
|
|
211
|
-
"version": "0.2.
|
|
210
|
+
"lastModified": "2026-02-11T22:17:25.562Z",
|
|
211
|
+
"version": "0.2.2",
|
|
212
212
|
"component": "prompts",
|
|
213
213
|
"description": "Make one focused code improvement following the Boy Scout Rule"
|
|
214
214
|
},
|
|
@@ -216,15 +216,23 @@
|
|
|
216
216
|
"hash": "sha256:727c8ae467010da039c41d013c2557d689bfca16f8a93e6b8744c89fa66e27ba",
|
|
217
217
|
"size": 2177,
|
|
218
218
|
"lastModified": "2025-11-25T16:41:04.601Z",
|
|
219
|
-
"version": "0.2.
|
|
219
|
+
"version": "0.2.2",
|
|
220
220
|
"component": "docs",
|
|
221
221
|
"description": "Global development guidelines for Agent OS projects."
|
|
222
222
|
},
|
|
223
|
+
"copilot/Directory.Build.props": {
|
|
224
|
+
"hash": "sha256:3a9c06c556e462dd5697d6852bcef712af3ab80581d00cee7f2de412a7abb729",
|
|
225
|
+
"size": 475,
|
|
226
|
+
"lastModified": "2026-02-11T22:52:22.502Z",
|
|
227
|
+
"version": "0.2.2",
|
|
228
|
+
"component": "vs-solution",
|
|
229
|
+
"description": "<!-- Code Captain: Make .github/ Copilot files visible in VS Solution Explorer -->"
|
|
230
|
+
},
|
|
223
231
|
"claude-code/agents/code-captain.md": {
|
|
224
232
|
"hash": "sha256:6d87de22934ab5eecc48a899907dba6c38d2ecc30e96aa871eaf4fe4d500a08f",
|
|
225
233
|
"size": 5832,
|
|
226
234
|
"lastModified": "2025-11-25T16:41:04.600Z",
|
|
227
|
-
"version": "0.2.
|
|
235
|
+
"version": "0.2.2",
|
|
228
236
|
"component": "agents",
|
|
229
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."
|
|
230
238
|
},
|
|
@@ -232,7 +240,7 @@
|
|
|
232
240
|
"hash": "sha256:ee220ded638b37fe29c519f8b21311b535c871b9d0f276d0cb7a609241bac497",
|
|
233
241
|
"size": 8644,
|
|
234
242
|
"lastModified": "2025-11-25T16:41:04.600Z",
|
|
235
|
-
"version": "0.2.
|
|
243
|
+
"version": "0.2.2",
|
|
236
244
|
"component": "agents",
|
|
237
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."
|
|
238
246
|
},
|
|
@@ -240,7 +248,7 @@
|
|
|
240
248
|
"hash": "sha256:3968ec61d6530c165d594448ad703ddee9fb4ddc84fe6a414c6ed4fcc836c596",
|
|
241
249
|
"size": 11225,
|
|
242
250
|
"lastModified": "2025-11-25T16:41:04.600Z",
|
|
243
|
-
"version": "0.2.
|
|
251
|
+
"version": "0.2.2",
|
|
244
252
|
"component": "agents",
|
|
245
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."
|
|
246
254
|
},
|
|
@@ -248,7 +256,7 @@
|
|
|
248
256
|
"hash": "sha256:22e055c35614ff928c62540eb3459b8841b2f48852d999ab949d35ebc9cdd108",
|
|
249
257
|
"size": 12800,
|
|
250
258
|
"lastModified": "2025-11-25T16:41:04.600Z",
|
|
251
|
-
"version": "0.2.
|
|
259
|
+
"version": "0.2.2",
|
|
252
260
|
"component": "agents",
|
|
253
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."
|
|
254
262
|
},
|
|
@@ -256,7 +264,7 @@
|
|
|
256
264
|
"hash": "sha256:5f401313635a46278251df9cba31c0228270b15d6ddd06cf64c72274cee39ea4",
|
|
257
265
|
"size": 25185,
|
|
258
266
|
"lastModified": "2026-02-11T15:17:33.463Z",
|
|
259
|
-
"version": "0.2.
|
|
267
|
+
"version": "0.2.2",
|
|
260
268
|
"component": "claude-commands",
|
|
261
269
|
"description": "Generate comprehensive feature specifications using a contract-first approach that ensures complete ..."
|
|
262
270
|
},
|
|
@@ -264,13 +272,13 @@
|
|
|
264
272
|
"hash": "sha256:7c94db2c53c3b937377074d1ef272cdc9b026ebb108c68770c4836f476a7abdc",
|
|
265
273
|
"size": 15817,
|
|
266
274
|
"lastModified": "2025-11-25T16:41:04.601Z",
|
|
267
|
-
"version": "0.2.
|
|
275
|
+
"version": "0.2.2",
|
|
268
276
|
"component": "claude-commands",
|
|
269
277
|
"description": "Set up technical foundation and development infrastructure by detecting if this is a greenfield (new..."
|
|
270
278
|
}
|
|
271
279
|
},
|
|
272
280
|
"changelog": {
|
|
273
|
-
"0.2.
|
|
281
|
+
"0.2.2": {
|
|
274
282
|
"date": "2026-02-11",
|
|
275
283
|
"changes": []
|
|
276
284
|
}
|
package/package.json
CHANGED
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devobsessed/code-captain",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.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
|
-
},
|
|
19
9
|
"keywords": [
|
|
20
10
|
"ai",
|
|
21
11
|
"development",
|
|
@@ -63,5 +53,14 @@
|
|
|
63
53
|
"bugs": {
|
|
64
54
|
"url": "https://github.com/devobsessed/code-captain/issues"
|
|
65
55
|
},
|
|
66
|
-
"homepage": "https://github.com/devobsessed/code-captain#readme"
|
|
67
|
-
|
|
56
|
+
"homepage": "https://github.com/devobsessed/code-captain#readme",
|
|
57
|
+
"scripts": {
|
|
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
|
+
}
|