@fredericboyer/dev-team 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/README.md +12 -11
  2. package/dist/bin/dev-team.js +12 -12
  3. package/dist/bin/dev-team.js.map +1 -1
  4. package/dist/create-agent.js +6 -6
  5. package/dist/create-agent.js.map +1 -1
  6. package/dist/doctor.js +15 -16
  7. package/dist/doctor.js.map +1 -1
  8. package/dist/files.js +2 -0
  9. package/dist/files.js.map +1 -1
  10. package/dist/init.js +55 -44
  11. package/dist/init.js.map +1 -1
  12. package/dist/scan.js +9 -9
  13. package/dist/scan.js.map +1 -1
  14. package/dist/skill-recommendations.d.ts +57 -0
  15. package/dist/skill-recommendations.js +290 -0
  16. package/dist/skill-recommendations.js.map +1 -0
  17. package/dist/status.js +11 -11
  18. package/dist/status.js.map +1 -1
  19. package/dist/update.d.ts +1 -4
  20. package/dist/update.js +178 -59
  21. package/dist/update.js.map +1 -1
  22. package/package.json +3 -3
  23. package/templates/CLAUDE.md +9 -7
  24. package/templates/agents/dev-team-beck.md +14 -2
  25. package/templates/agents/dev-team-borges.md +4 -4
  26. package/templates/agents/dev-team-conway.md +15 -3
  27. package/templates/agents/dev-team-deming.md +20 -2
  28. package/templates/agents/dev-team-drucker.md +21 -7
  29. package/templates/agents/dev-team-hamilton.md +14 -2
  30. package/templates/agents/dev-team-mori.md +14 -2
  31. package/templates/agents/dev-team-tufte.md +14 -2
  32. package/templates/agents/dev-team-voss.md +14 -2
  33. package/templates/hooks/dev-team-post-change-review.js +1 -25
  34. package/templates/hooks/dev-team-pre-commit-gate.js +80 -47
  35. package/templates/hooks/dev-team-watch-list.js +3 -3
  36. package/templates/settings.json +6 -20
  37. package/templates/skill-recommendations.json +169 -0
  38. package/templates/skills/dev-team-assess/SKILL.md +167 -0
  39. package/templates/skills/dev-team-audit/SKILL.md +8 -3
  40. package/templates/skills/dev-team-merge/SKILL.md +95 -0
  41. package/templates/skills/dev-team-review/SKILL.md +11 -4
  42. package/templates/skills/dev-team-task/SKILL.md +34 -44
  43. package/dist/parallel.d.ts +0 -127
  44. package/dist/parallel.js +0 -323
  45. package/dist/parallel.js.map +0 -1
  46. package/templates/hooks/dev-team-parallel-loop.js +0 -188
  47. package/templates/hooks/dev-team-task-loop.js +0 -73
package/dist/scan.js CHANGED
@@ -8,7 +8,7 @@ exports.formatScanReport = formatScanReport;
8
8
  exports.parseCiScripts = parseCiScripts;
9
9
  exports.parseHookCommands = parseHookCommands;
10
10
  const path_1 = __importDefault(require("path"));
11
- const files_1 = require("./files");
11
+ const files_js_1 = require("./files.js");
12
12
  /**
13
13
  * Scans a project directory for existing tooling and identifies gaps.
14
14
  * Returns a list of findings with actionable recommendations.
@@ -29,7 +29,7 @@ function scanProject(targetDir) {
29
29
  { file: ".rubocop.yml", tool: "RuboCop" },
30
30
  { file: ".golangci.yml", tool: "golangci-lint" },
31
31
  ];
32
- const foundLinter = linters.find((l) => (0, files_1.fileExists)(path_1.default.join(targetDir, l.file)));
32
+ const foundLinter = linters.find((l) => (0, files_js_1.fileExists)(path_1.default.join(targetDir, l.file)));
33
33
  if (foundLinter) {
34
34
  findings.push({
35
35
  category: "linter",
@@ -40,7 +40,7 @@ function scanProject(targetDir) {
40
40
  }
41
41
  else {
42
42
  // Check package.json for lint script
43
- const pkg = (0, files_1.readFile)(path_1.default.join(targetDir, "package.json"));
43
+ const pkg = (0, files_js_1.readFile)(path_1.default.join(targetDir, "package.json"));
44
44
  if (pkg && pkg.includes('"lint"')) {
45
45
  findings.push({
46
46
  category: "linter",
@@ -69,7 +69,7 @@ function scanProject(targetDir) {
69
69
  { file: "rustfmt.toml", tool: "rustfmt" },
70
70
  { file: ".clang-format", tool: "clang-format" },
71
71
  ];
72
- const foundFormatter = formatters.find((f) => (0, files_1.fileExists)(path_1.default.join(targetDir, f.file)));
72
+ const foundFormatter = formatters.find((f) => (0, files_js_1.fileExists)(path_1.default.join(targetDir, f.file)));
73
73
  if (foundFormatter) {
74
74
  findings.push({
75
75
  category: "formatter",
@@ -96,7 +96,7 @@ function scanProject(targetDir) {
96
96
  { file: ".bandit", tool: "Bandit" },
97
97
  { file: ".safety-policy.yml", tool: "Safety" },
98
98
  ];
99
- const foundSast = sastConfigs.find((s) => (0, files_1.fileExists)(path_1.default.join(targetDir, s.file)));
99
+ const foundSast = sastConfigs.find((s) => (0, files_js_1.fileExists)(path_1.default.join(targetDir, s.file)));
100
100
  if (foundSast) {
101
101
  findings.push({
102
102
  category: "sast",
@@ -125,7 +125,7 @@ function scanProject(targetDir) {
125
125
  ];
126
126
  const foundCi = ciConfigs.find((c) => {
127
127
  const fullPath = path_1.default.join(targetDir, c.path);
128
- return (0, files_1.fileExists)(fullPath) || (0, files_1.dirExists)(fullPath);
128
+ return (0, files_js_1.fileExists)(fullPath) || (0, files_js_1.dirExists)(fullPath);
129
129
  });
130
130
  if (foundCi) {
131
131
  findings.push({
@@ -153,7 +153,7 @@ function scanProject(targetDir) {
153
153
  { file: "Cargo.lock", tool: "cargo audit" },
154
154
  { file: "go.sum", tool: "govulncheck" },
155
155
  ];
156
- const foundLock = lockFiles.find((l) => (0, files_1.fileExists)(path_1.default.join(targetDir, l.file)));
156
+ const foundLock = lockFiles.find((l) => (0, files_js_1.fileExists)(path_1.default.join(targetDir, l.file)));
157
157
  if (foundLock) {
158
158
  findings.push({
159
159
  category: "dependency",
@@ -246,7 +246,7 @@ function formatScanReport(findings) {
246
246
  */
247
247
  function parseCiScripts(targetDir) {
248
248
  const ciRelevantScripts = ["lint", "format:check", "test", "typecheck", "build"];
249
- const pkgContent = (0, files_1.readFile)(path_1.default.join(targetDir, "package.json"));
249
+ const pkgContent = (0, files_js_1.readFile)(path_1.default.join(targetDir, "package.json"));
250
250
  if (!pkgContent)
251
251
  return [];
252
252
  try {
@@ -263,7 +263,7 @@ function parseCiScripts(targetDir) {
263
263
  * Returns an array of command strings found across all hook events.
264
264
  */
265
265
  function parseHookCommands(targetDir) {
266
- const settingsContent = (0, files_1.readFile)(path_1.default.join(targetDir, ".claude", "settings.json"));
266
+ const settingsContent = (0, files_js_1.readFile)(path_1.default.join(targetDir, ".claude", "settings.json"));
267
267
  if (!settingsContent)
268
268
  return [];
269
269
  try {
package/dist/scan.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ export interface SkillRecommendation {
2
+ id: string;
3
+ name: string;
4
+ description: string;
5
+ source: string;
6
+ detectedBy: string;
7
+ }
8
+ interface SkillEntry {
9
+ id: string;
10
+ name: string;
11
+ description: string;
12
+ source: string;
13
+ detectDeps: string[];
14
+ detectFiles: string[];
15
+ ecosystem: string;
16
+ }
17
+ interface EcosystemEntry {
18
+ detectFiles: string[];
19
+ label: string;
20
+ }
21
+ interface SkillCatalog {
22
+ ecosystems: Record<string, EcosystemEntry>;
23
+ skills: SkillEntry[];
24
+ }
25
+ /**
26
+ * Loads the skill recommendations catalog from templates/.
27
+ */
28
+ export declare function loadCatalog(): SkillCatalog;
29
+ /**
30
+ * Detects which ecosystems are present in a project directory.
31
+ * Returns an array of ecosystem keys (e.g., ["node", "python"]).
32
+ */
33
+ export declare function detectEcosystems(targetDir: string, catalog: SkillCatalog): string[];
34
+ /**
35
+ * Parses dependencies from ecosystem-specific manifest files.
36
+ * Returns a set of dependency names found across all detected ecosystems.
37
+ */
38
+ export declare function parseDependencies(targetDir: string, ecosystems: string[]): Set<string>;
39
+ /**
40
+ * Matches detected project state against the skill catalog.
41
+ * Returns recommended skills with the reason they were detected.
42
+ */
43
+ export declare function matchSkills(targetDir: string, catalog: SkillCatalog, ecosystems: string[], dependencies: Set<string>): SkillRecommendation[];
44
+ /**
45
+ * Formats skill recommendations as a human-readable report.
46
+ */
47
+ export declare function formatRecommendations(recommendations: SkillRecommendation[], ecosystems: string[], catalog: SkillCatalog): string;
48
+ /**
49
+ * Full scan: detect ecosystems, parse deps, match skills, return recommendations.
50
+ * This is the main entry point used by init.ts.
51
+ */
52
+ export declare function scanSkillRecommendations(targetDir: string): {
53
+ recommendations: SkillRecommendation[];
54
+ ecosystems: string[];
55
+ catalog: SkillCatalog;
56
+ };
57
+ export {};
@@ -0,0 +1,290 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.loadCatalog = loadCatalog;
7
+ exports.detectEcosystems = detectEcosystems;
8
+ exports.parseDependencies = parseDependencies;
9
+ exports.matchSkills = matchSkills;
10
+ exports.formatRecommendations = formatRecommendations;
11
+ exports.scanSkillRecommendations = scanSkillRecommendations;
12
+ const path_1 = __importDefault(require("path"));
13
+ const files_js_1 = require("./files.js");
14
+ /**
15
+ * Loads the skill recommendations catalog from templates/.
16
+ */
17
+ function loadCatalog() {
18
+ const catalogPath = path_1.default.join((0, files_js_1.templateDir)(), "skill-recommendations.json");
19
+ const content = (0, files_js_1.readFile)(catalogPath);
20
+ if (!content) {
21
+ throw new Error("Missing templates/skill-recommendations.json");
22
+ }
23
+ return JSON.parse(content);
24
+ }
25
+ /**
26
+ * Detects which ecosystems are present in a project directory.
27
+ * Returns an array of ecosystem keys (e.g., ["node", "python"]).
28
+ */
29
+ function detectEcosystems(targetDir, catalog) {
30
+ const detected = [];
31
+ for (const [key, eco] of Object.entries(catalog.ecosystems)) {
32
+ const found = eco.detectFiles.some((f) => (0, files_js_1.fileExists)(path_1.default.join(targetDir, f)));
33
+ if (found) {
34
+ detected.push(key);
35
+ }
36
+ }
37
+ return detected;
38
+ }
39
+ /**
40
+ * Parses dependencies from ecosystem-specific manifest files.
41
+ * Returns a set of dependency names found across all detected ecosystems.
42
+ */
43
+ function parseDependencies(targetDir, ecosystems) {
44
+ const deps = new Set();
45
+ if (ecosystems.includes("node")) {
46
+ parseNodeDeps(targetDir, deps);
47
+ }
48
+ if (ecosystems.includes("python")) {
49
+ parsePythonDeps(targetDir, deps);
50
+ }
51
+ if (ecosystems.includes("ruby")) {
52
+ parseRubyDeps(targetDir, deps);
53
+ }
54
+ if (ecosystems.includes("go")) {
55
+ parseGoDeps(targetDir, deps);
56
+ }
57
+ if (ecosystems.includes("rust")) {
58
+ parseRustDeps(targetDir, deps);
59
+ }
60
+ if (ecosystems.includes("java")) {
61
+ parseJavaDeps(targetDir, deps);
62
+ }
63
+ return deps;
64
+ }
65
+ function parseNodeDeps(targetDir, deps) {
66
+ const content = (0, files_js_1.readFile)(path_1.default.join(targetDir, "package.json"));
67
+ if (!content)
68
+ return;
69
+ try {
70
+ const pkg = JSON.parse(content);
71
+ for (const key of ["dependencies", "devDependencies", "peerDependencies"]) {
72
+ if (pkg[key]) {
73
+ for (const dep of Object.keys(pkg[key])) {
74
+ deps.add(dep);
75
+ }
76
+ }
77
+ }
78
+ }
79
+ catch {
80
+ // Invalid JSON — skip
81
+ }
82
+ }
83
+ function parsePythonDeps(targetDir, deps) {
84
+ // requirements.txt
85
+ const reqContent = (0, files_js_1.readFile)(path_1.default.join(targetDir, "requirements.txt"));
86
+ if (reqContent) {
87
+ for (const line of reqContent.split("\n")) {
88
+ const trimmed = line.trim();
89
+ if (trimmed && !trimmed.startsWith("#") && !trimmed.startsWith("-")) {
90
+ // Extract package name before version specifier
91
+ const match = trimmed.match(/^([a-zA-Z0-9_-]+)/);
92
+ if (match) {
93
+ deps.add(match[1].toLowerCase());
94
+ }
95
+ }
96
+ }
97
+ }
98
+ // pyproject.toml — lightweight parsing for [project] dependencies
99
+ const pyprojectContent = (0, files_js_1.readFile)(path_1.default.join(targetDir, "pyproject.toml"));
100
+ if (pyprojectContent) {
101
+ // Match dependencies = ["django>=4.0", "fastapi", ...]
102
+ const depsMatch = pyprojectContent.match(/dependencies\s*=\s*\[([\s\S]*?)\]/);
103
+ if (depsMatch) {
104
+ const entries = depsMatch[1].match(/"([^"]+)"/g);
105
+ if (entries) {
106
+ for (const entry of entries) {
107
+ const name = entry.replace(/"/g, "").match(/^([a-zA-Z0-9_-]+)/);
108
+ if (name) {
109
+ deps.add(name[1].toLowerCase());
110
+ }
111
+ }
112
+ }
113
+ }
114
+ }
115
+ // Pipfile — lightweight parsing
116
+ const pipfileContent = (0, files_js_1.readFile)(path_1.default.join(targetDir, "Pipfile"));
117
+ if (pipfileContent) {
118
+ const lines = pipfileContent.split("\n");
119
+ let inPackages = false;
120
+ for (const line of lines) {
121
+ if (line.match(/^\[packages\]/) || line.match(/^\[dev-packages\]/)) {
122
+ inPackages = true;
123
+ continue;
124
+ }
125
+ if (line.match(/^\[/) && inPackages) {
126
+ inPackages = false;
127
+ continue;
128
+ }
129
+ if (inPackages) {
130
+ const match = line.match(/^([a-zA-Z0-9_-]+)\s*=/);
131
+ if (match) {
132
+ deps.add(match[1].toLowerCase());
133
+ }
134
+ }
135
+ }
136
+ }
137
+ }
138
+ function parseRubyDeps(targetDir, deps) {
139
+ const content = (0, files_js_1.readFile)(path_1.default.join(targetDir, "Gemfile"));
140
+ if (!content)
141
+ return;
142
+ for (const line of content.split("\n")) {
143
+ // Match: gem 'rails', '~> 7.0' or gem "rails"
144
+ const match = line.match(/^\s*gem\s+['"]([a-zA-Z0-9_-]+)['"]/);
145
+ if (match) {
146
+ deps.add(match[1]);
147
+ }
148
+ }
149
+ }
150
+ function parseGoDeps(targetDir, deps) {
151
+ const content = (0, files_js_1.readFile)(path_1.default.join(targetDir, "go.mod"));
152
+ if (!content)
153
+ return;
154
+ for (const line of content.split("\n")) {
155
+ const trimmed = line.trim();
156
+ // Match require lines: github.com/foo/bar v1.2.3
157
+ if (trimmed && !trimmed.startsWith("//") && !trimmed.startsWith("module")) {
158
+ const match = trimmed.match(/^([^\s]+)\s+v/);
159
+ if (match) {
160
+ deps.add(match[1]);
161
+ }
162
+ }
163
+ }
164
+ }
165
+ function parseRustDeps(targetDir, deps) {
166
+ const content = (0, files_js_1.readFile)(path_1.default.join(targetDir, "Cargo.toml"));
167
+ if (!content)
168
+ return;
169
+ const lines = content.split("\n");
170
+ let inDeps = false;
171
+ for (const line of lines) {
172
+ if (line.match(/^\[dependencies\]/) ||
173
+ line.match(/^\[dev-dependencies\]/) ||
174
+ line.match(/^\[build-dependencies\]/)) {
175
+ inDeps = true;
176
+ continue;
177
+ }
178
+ if (line.match(/^\[/) && inDeps) {
179
+ inDeps = false;
180
+ continue;
181
+ }
182
+ if (inDeps) {
183
+ const match = line.match(/^([a-zA-Z0-9_-]+)\s*=/);
184
+ if (match) {
185
+ deps.add(match[1]);
186
+ }
187
+ }
188
+ }
189
+ }
190
+ function parseJavaDeps(targetDir, deps) {
191
+ // pom.xml — lightweight parsing for artifactId
192
+ const pomContent = (0, files_js_1.readFile)(path_1.default.join(targetDir, "pom.xml"));
193
+ if (pomContent) {
194
+ const matches = pomContent.match(/<artifactId>([^<]+)<\/artifactId>/g);
195
+ if (matches) {
196
+ for (const match of matches) {
197
+ const name = match.replace(/<\/?artifactId>/g, "");
198
+ deps.add(name);
199
+ }
200
+ }
201
+ }
202
+ // build.gradle — lightweight parsing for implementation/api deps
203
+ for (const gradleFile of ["build.gradle", "build.gradle.kts"]) {
204
+ const gradleContent = (0, files_js_1.readFile)(path_1.default.join(targetDir, gradleFile));
205
+ if (gradleContent) {
206
+ // Match: implementation 'group:artifact:version' or implementation("group:artifact:version")
207
+ const matches = gradleContent.match(/(?:implementation|api|compileOnly|testImplementation)\s*[("']+([^"')]+)/g);
208
+ if (matches) {
209
+ for (const match of matches) {
210
+ const depStr = match.replace(/(?:implementation|api|compileOnly|testImplementation)\s*[("']+/, "");
211
+ const parts = depStr.split(":");
212
+ if (parts.length >= 2) {
213
+ deps.add(parts[1]); // artifactId
214
+ }
215
+ }
216
+ }
217
+ }
218
+ }
219
+ }
220
+ /**
221
+ * Matches detected project state against the skill catalog.
222
+ * Returns recommended skills with the reason they were detected.
223
+ */
224
+ function matchSkills(targetDir, catalog, ecosystems, dependencies) {
225
+ const recommendations = [];
226
+ for (const skill of catalog.skills) {
227
+ // Skip if ecosystem doesn't match
228
+ if (!ecosystems.includes(skill.ecosystem)) {
229
+ continue;
230
+ }
231
+ // Check dependency matches
232
+ const depMatch = skill.detectDeps.find((dep) => dependencies.has(dep));
233
+ if (depMatch) {
234
+ recommendations.push({
235
+ id: skill.id,
236
+ name: skill.name,
237
+ description: skill.description,
238
+ source: skill.source,
239
+ detectedBy: `dependency: ${depMatch}`,
240
+ });
241
+ continue;
242
+ }
243
+ // Check file matches
244
+ const fileMatch = skill.detectFiles.find((f) => (0, files_js_1.fileExists)(path_1.default.join(targetDir, f)));
245
+ if (fileMatch) {
246
+ recommendations.push({
247
+ id: skill.id,
248
+ name: skill.name,
249
+ description: skill.description,
250
+ source: skill.source,
251
+ detectedBy: `file: ${fileMatch}`,
252
+ });
253
+ }
254
+ }
255
+ return recommendations;
256
+ }
257
+ /**
258
+ * Formats skill recommendations as a human-readable report.
259
+ */
260
+ function formatRecommendations(recommendations, ecosystems, catalog) {
261
+ const lines = [];
262
+ lines.push("Skill recommendations\n");
263
+ if (ecosystems.length > 0) {
264
+ const ecoLabels = ecosystems.map((e) => catalog.ecosystems[e]?.label || e).join(", ");
265
+ lines.push(` Detected stack: ${ecoLabels}\n`);
266
+ }
267
+ if (recommendations.length === 0) {
268
+ lines.push(" No matching skills found for your project's dependencies.");
269
+ return lines.join("\n");
270
+ }
271
+ for (const rec of recommendations) {
272
+ lines.push(` [SKILL] ${rec.name}`);
273
+ lines.push(` ${rec.description}`);
274
+ lines.push(` Source: ${rec.source} | Detected via ${rec.detectedBy}`);
275
+ lines.push("");
276
+ }
277
+ return lines.join("\n");
278
+ }
279
+ /**
280
+ * Full scan: detect ecosystems, parse deps, match skills, return recommendations.
281
+ * This is the main entry point used by init.ts.
282
+ */
283
+ function scanSkillRecommendations(targetDir) {
284
+ const catalog = loadCatalog();
285
+ const ecosystems = detectEcosystems(targetDir, catalog);
286
+ const dependencies = parseDependencies(targetDir, ecosystems);
287
+ const recommendations = matchSkills(targetDir, catalog, ecosystems, dependencies);
288
+ return { recommendations, ecosystems, catalog };
289
+ }
290
+ //# sourceMappingURL=skill-recommendations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-recommendations.js","sourceRoot":"","sources":["../src/skill-recommendations.ts"],"names":[],"mappings":"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"}
package/dist/status.js CHANGED
@@ -6,11 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.status = status;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const fs_1 = __importDefault(require("fs"));
9
- const files_1 = require("./files");
9
+ const files_js_1 = require("./files.js");
10
10
  function status(targetDir) {
11
- const claudeDir = path_1.default.join(targetDir, ".claude");
12
- const prefsPath = path_1.default.join(claudeDir, "dev-team.json");
13
- const prefsContent = (0, files_1.readFile)(prefsPath);
11
+ const devTeamDir = path_1.default.join(targetDir, ".dev-team");
12
+ const prefsPath = path_1.default.join(devTeamDir, "config.json");
13
+ const prefsContent = (0, files_js_1.readFile)(prefsPath);
14
14
  if (!prefsContent) {
15
15
  console.error("Not a dev-team project. Run `npx dev-team init` first.");
16
16
  process.exit(1);
@@ -20,7 +20,7 @@ function status(targetDir) {
20
20
  prefs = JSON.parse(prefsContent);
21
21
  }
22
22
  catch {
23
- console.error("dev-team.json is corrupted.");
23
+ console.error("config.json is corrupted.");
24
24
  process.exit(1);
25
25
  }
26
26
  console.log("\ndev-team status\n");
@@ -36,8 +36,8 @@ function status(targetDir) {
36
36
  const hooks = prefs.hooks || [];
37
37
  console.log(` Hooks: ${hooks.join(", ")} (${hooks.length})`);
38
38
  // Skills (auto-discovered)
39
- const skillsDir = path_1.default.join(claudeDir, "skills");
40
- const skills = (0, files_1.listSubdirectories)(skillsDir).map((s) => s.replace("dev-team-", ""));
39
+ const skillsDir = path_1.default.join(devTeamDir, "skills");
40
+ const skills = (0, files_js_1.listSubdirectories)(skillsDir).map((s) => s.replace("dev-team-", ""));
41
41
  console.log(` Skills: ${skills.length > 0 ? skills.join(", ") : "none"} (${skills.length})`);
42
42
  // Workflow
43
43
  if (prefs.issueTracker) {
@@ -48,11 +48,11 @@ function status(targetDir) {
48
48
  }
49
49
  // Memory status
50
50
  console.log("\n Memory:");
51
- const memoryDir = path_1.default.join(claudeDir, "agent-memory");
51
+ const memoryDir = path_1.default.join(devTeamDir, "agent-memory");
52
52
  for (const label of agents) {
53
53
  const dirName = `dev-team-${label.toLowerCase()}`;
54
54
  const memPath = path_1.default.join(memoryDir, dirName, "MEMORY.md");
55
- if ((0, files_1.fileExists)(memPath)) {
55
+ if ((0, files_js_1.fileExists)(memPath)) {
56
56
  try {
57
57
  const stat = fs_1.default.statSync(memPath);
58
58
  const hasContent = stat.size > 200; // Template is ~200 bytes
@@ -67,8 +67,8 @@ function status(targetDir) {
67
67
  }
68
68
  }
69
69
  // Shared learnings
70
- const learningsPath = path_1.default.join(claudeDir, "dev-team-learnings.md");
71
- if ((0, files_1.fileExists)(learningsPath)) {
70
+ const learningsPath = path_1.default.join(devTeamDir, "learnings.md");
71
+ if ((0, files_js_1.fileExists)(learningsPath)) {
72
72
  try {
73
73
  const stat = fs_1.default.statSync(learningsPath);
74
74
  console.log(` Shared learnings: ${stat.size > 300 ? "has content" : "template only"}`);
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"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"}
package/dist/update.d.ts CHANGED
@@ -1,5 +1,2 @@
1
- /**
2
- * Update flow: upgrades installed agents, hooks, and skills to latest templates.
3
- * Preserves user customizations in CLAUDE.md and agent memory files.
4
- */
1
+ export declare function compareSemver(a: string, b: string): number;
5
2
  export declare function update(targetDir: string): Promise<void>;