@jakkrichm/create-nexus-devflow 2.0.16 → 2.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/create-nexus-devflow.d.ts +2 -1
- package/dist/bin/create-nexus-devflow.js +81 -3
- package/dist/bin/create-nexus-devflow.js.map +1 -1
- package/dist/lib/current-work.d.ts +2 -3
- package/dist/lib/current-work.js +93 -66
- package/dist/lib/current-work.js.map +1 -1
- package/dist/lib/uninstall.d.ts +20 -0
- package/dist/lib/uninstall.js +129 -0
- package/dist/lib/uninstall.js.map +1 -0
- package/dist/scripts/prepare-template.js +120 -10
- package/dist/scripts/prepare-template.js.map +1 -1
- package/package.json +1 -1
- package/template/.agents/skills/00-discover/SKILL.md +2 -2
- package/template/.agents/skills/10-define/SKILL.md +24 -140
- package/template/.agents/skills/20-spec/SKILL.md +2 -2
- package/template/.agents/skills/30-plan/SKILL.md +2 -2
- package/template/.agents/skills/50-verify/SKILL.md +2 -2
- package/template/.agents/skills/60-report/SKILL.md +1 -1
- package/template/.agents/skills/70-release/SKILL.md +19 -143
- package/template/.agents/skills/check/SKILL.md +10 -10
- package/template/.agents/skills/ci/SKILL.md +1 -1
- package/template/.agents/skills/complete/SKILL.md +49 -28
- package/template/.agents/skills/deploy/SKILL.md +1 -1
- package/template/.agents/skills/devflow/SKILL.md +5 -5
- package/template/.agents/skills/feature/SKILL.md +25 -20
- package/template/.agents/skills/fix/SKILL.md +25 -19
- package/template/.agents/skills/implement/SKILL.md +10 -10
- package/template/.agents/skills/insight/SKILL.md +1 -1
- package/template/.agents/skills/overview/SKILL.md +3 -3
- package/template/.agents/skills/report-html/SKILL.md +3 -3
- package/template/.agents/skills/security-review/SKILL.md +1 -1
- package/template/.agents/skills/spec/SKILL.md +7 -6
- package/template/.agents/skills/spec-driven-development/SKILL.md +2 -2
- package/template/.agents/skills/test/SKILL.md +1 -1
- package/template/.claude/skills/00-discover/SKILL.md +2 -2
- package/template/.claude/skills/10-define/SKILL.md +24 -140
- package/template/.claude/skills/20-spec/SKILL.md +2 -2
- package/template/.claude/skills/30-plan/SKILL.md +2 -2
- package/template/.claude/skills/50-verify/SKILL.md +2 -2
- package/template/.claude/skills/60-report/SKILL.md +1 -1
- package/template/.claude/skills/70-release/SKILL.md +19 -143
- package/template/.claude/skills/check/SKILL.md +10 -10
- package/template/.claude/skills/ci/SKILL.md +1 -1
- package/template/.claude/skills/complete/SKILL.md +49 -28
- package/template/.claude/skills/deploy/SKILL.md +1 -1
- package/template/.claude/skills/devflow/SKILL.md +5 -5
- package/template/.claude/skills/feature/SKILL.md +25 -20
- package/template/.claude/skills/fix/SKILL.md +25 -19
- package/template/.claude/skills/implement/SKILL.md +10 -10
- package/template/.claude/skills/insight/SKILL.md +1 -1
- package/template/.claude/skills/overview/SKILL.md +3 -3
- package/template/.claude/skills/report-html/SKILL.md +3 -3
- package/template/.claude/skills/security-review/SKILL.md +1 -1
- package/template/.claude/skills/spec/SKILL.md +7 -6
- package/template/.claude/skills/spec-driven-development/SKILL.md +2 -2
- package/template/.claude/skills/test/SKILL.md +1 -1
- package/template/AGENTS.md +15 -59
- package/template/devflow/context/ai-interaction.md +110 -23
- package/template/devflow/context/coding-standards.md +123 -32
- package/template/devflow/context/current-feature.md +3 -0
- package/template/devflow/context/current-stage.md +6 -6
- package/template/devflow/context/findings.md +10 -10
- package/template/devflow/context/project-overview.md +18 -32
- package/template/devflow/history/HISTORY.md +10 -25
- package/template/devflow/ideas.md +9 -5
- package/template/devflow/reference/running-id-contract.md +39 -39
- package/template/devflow/runs/.gitkeep +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
interface CliOptions {
|
|
3
|
-
command: "install" | "status" | "update";
|
|
3
|
+
command: "install" | "status" | "update" | "uninstall" | "eject";
|
|
4
4
|
target: string | null;
|
|
5
5
|
adapter: string;
|
|
6
6
|
force: boolean;
|
|
@@ -9,6 +9,7 @@ interface CliOptions {
|
|
|
9
9
|
json: boolean;
|
|
10
10
|
version: boolean;
|
|
11
11
|
yes: boolean;
|
|
12
|
+
keepHistory: boolean;
|
|
12
13
|
}
|
|
13
14
|
declare function main(args?: readonly string[]): Promise<void>;
|
|
14
15
|
declare function parseArgs(args: readonly string[]): CliOptions;
|
|
@@ -5,6 +5,7 @@ import readline from "node:readline/promises";
|
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
6
6
|
import { formatHumanStatus, readProjectStatus, shouldUseColor } from "../lib/status.js";
|
|
7
7
|
import { applyPreparedUpdate, prepareUpdate } from "../lib/update.js";
|
|
8
|
+
import { applyUninstall, prepareUninstall } from "../lib/uninstall.js";
|
|
8
9
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
9
10
|
const packageRoot = path.resolve(__dirname, "..", "..");
|
|
10
11
|
const templateRoot = path.join(packageRoot, "template");
|
|
@@ -27,6 +28,39 @@ async function main(args = process.argv.slice(2)) {
|
|
|
27
28
|
: formatHumanStatus(status, { color: shouldUseColor() }));
|
|
28
29
|
return;
|
|
29
30
|
}
|
|
31
|
+
if (options.command === "uninstall" || options.command === "eject") {
|
|
32
|
+
const prepared = await prepareUninstall({
|
|
33
|
+
targetDir,
|
|
34
|
+
keepHistory: options.keepHistory
|
|
35
|
+
});
|
|
36
|
+
if (options.json) {
|
|
37
|
+
if (options.dryRun) {
|
|
38
|
+
console.log(JSON.stringify({ dryRun: true, ...prepared }, null, 2));
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
const result = await applyUninstall(prepared);
|
|
42
|
+
console.log(JSON.stringify(result, null, 2));
|
|
43
|
+
}
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
printUninstallPlan(prepared);
|
|
47
|
+
if (prepared.itemsToDelete.length === 0) {
|
|
48
|
+
console.log("\nNo DevFlow files or directories found in target project.");
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
if (options.dryRun) {
|
|
52
|
+
console.log("\n[Dry-run] No files were removed.");
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const proceed = options.yes || options.force || (await confirmUninstall(prepared, options));
|
|
56
|
+
if (!proceed) {
|
|
57
|
+
console.log("Uninstall cancelled.");
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const result = await applyUninstall(prepared);
|
|
61
|
+
printUninstallSuccess(result);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
30
64
|
if (!fsSync.existsSync(templateRoot)) {
|
|
31
65
|
throw new Error("Installer template is missing. Run `npm run prepare-template` before local testing.");
|
|
32
66
|
}
|
|
@@ -79,6 +113,7 @@ function parseArgs(args) {
|
|
|
79
113
|
let json = false;
|
|
80
114
|
let version = false;
|
|
81
115
|
let yes = false;
|
|
116
|
+
let keepHistory = false;
|
|
82
117
|
const positional = [];
|
|
83
118
|
for (let i = 0; i < args.length; i++) {
|
|
84
119
|
const arg = args[i];
|
|
@@ -106,6 +141,10 @@ function parseArgs(args) {
|
|
|
106
141
|
yes = true;
|
|
107
142
|
continue;
|
|
108
143
|
}
|
|
144
|
+
if (arg === "--keep-history") {
|
|
145
|
+
keepHistory = true;
|
|
146
|
+
continue;
|
|
147
|
+
}
|
|
109
148
|
if (arg === "--target" || arg === "-t") {
|
|
110
149
|
const next = args[++i];
|
|
111
150
|
if (!next) {
|
|
@@ -148,6 +187,14 @@ function parseArgs(args) {
|
|
|
148
187
|
command = "update";
|
|
149
188
|
target = positional[1] || target || ".";
|
|
150
189
|
}
|
|
190
|
+
else if (positional[0] === "uninstall") {
|
|
191
|
+
command = "uninstall";
|
|
192
|
+
target = positional[1] || target || ".";
|
|
193
|
+
}
|
|
194
|
+
else if (positional[0] === "eject") {
|
|
195
|
+
command = "eject";
|
|
196
|
+
target = positional[1] || target || ".";
|
|
197
|
+
}
|
|
151
198
|
else {
|
|
152
199
|
target = positional[0];
|
|
153
200
|
}
|
|
@@ -161,7 +208,8 @@ function parseArgs(args) {
|
|
|
161
208
|
help,
|
|
162
209
|
json,
|
|
163
210
|
version,
|
|
164
|
-
yes
|
|
211
|
+
yes,
|
|
212
|
+
keepHistory
|
|
165
213
|
};
|
|
166
214
|
}
|
|
167
215
|
function readPackageVersion() {
|
|
@@ -177,16 +225,20 @@ Usage:
|
|
|
177
225
|
npx @jakkrichm/create-nexus-devflow [target-dir] [options]
|
|
178
226
|
nexus-devflow status [target-dir] [options]
|
|
179
227
|
nexus-devflow update [target-dir] [options]
|
|
228
|
+
nexus-devflow uninstall [target-dir] [options]
|
|
229
|
+
nexus-devflow eject [target-dir] [options]
|
|
180
230
|
|
|
181
231
|
Commands:
|
|
182
232
|
status Show project overview, progress, findings, git status, and next action
|
|
183
233
|
update Update existing DevFlow installation without overwriting user changes
|
|
234
|
+
uninstall, eject Completely remove DevFlow workflow files and adapters from project
|
|
184
235
|
|
|
185
236
|
Options:
|
|
186
237
|
--adapter <name> Tool adapters to install: codex, antigravity, claude, both (default: both)
|
|
187
|
-
--
|
|
238
|
+
--keep-history Keep devflow/history/ directory during uninstall
|
|
239
|
+
--json Print output as structured JSON object
|
|
188
240
|
--target, -t Target project directory
|
|
189
|
-
--force, -f Overwrite conflicting files without prompting
|
|
241
|
+
--force, -f Overwrite conflicting files / force uninstall without prompting
|
|
190
242
|
--dry-run Preview changes without modifying disk
|
|
191
243
|
-y, --yes Automatically confirm interactive prompts
|
|
192
244
|
--version, -v Show version number
|
|
@@ -216,6 +268,17 @@ function printUpdatePlan(prepared) {
|
|
|
216
268
|
console.log(`Orphaned files : ${prepared.orphanedFiles.length}`);
|
|
217
269
|
console.log(`Conflicts found : ${prepared.conflictList.length}`);
|
|
218
270
|
}
|
|
271
|
+
function printUninstallPlan(prepared) {
|
|
272
|
+
console.log(`\nNexus-DevFlow Clean Eject / Uninstall (v${readPackageVersion()})`);
|
|
273
|
+
console.log(`Target Directory: ${prepared.targetDir}\n`);
|
|
274
|
+
console.log(`Items to delete : ${prepared.itemsToDelete.length} (${prepared.totalFiles} files, ${prepared.totalDirectories} directories)`);
|
|
275
|
+
if (prepared.itemsToDelete.length > 0) {
|
|
276
|
+
console.log("DevFlow Footprint:");
|
|
277
|
+
for (const item of prepared.itemsToDelete) {
|
|
278
|
+
console.log(` - ${item}`);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
219
282
|
async function confirmInstallConflicts(prepared, options) {
|
|
220
283
|
if (options.yes)
|
|
221
284
|
return true;
|
|
@@ -238,6 +301,17 @@ async function confirmUpdateConflicts(prepared, options) {
|
|
|
238
301
|
rl.close();
|
|
239
302
|
return answer.trim().toLowerCase() === "y";
|
|
240
303
|
}
|
|
304
|
+
async function confirmUninstall(prepared, options) {
|
|
305
|
+
if (options.yes)
|
|
306
|
+
return true;
|
|
307
|
+
const rl = readline.createInterface({
|
|
308
|
+
input: process.stdin,
|
|
309
|
+
output: process.stdout
|
|
310
|
+
});
|
|
311
|
+
const answer = await rl.question(`\nAre you sure you want to completely remove DevFlow from this project? [y/N] `);
|
|
312
|
+
rl.close();
|
|
313
|
+
return answer.trim().toLowerCase() === "y";
|
|
314
|
+
}
|
|
241
315
|
function printNextSteps() {
|
|
242
316
|
console.log("\nNext steps in your AI IDE (Antigravity, Claude Code, Codex, etc.):");
|
|
243
317
|
console.log(" 1. Project Setup & Baseline:");
|
|
@@ -260,6 +334,10 @@ function printUpdateSuccess(prepared, result) {
|
|
|
260
334
|
console.log(`Applied ${result.appliedCount} file(s), removed ${result.removedCount} orphaned file(s).`);
|
|
261
335
|
printNextSteps();
|
|
262
336
|
}
|
|
337
|
+
function printUninstallSuccess(result) {
|
|
338
|
+
console.log("\nNexus-DevFlow has been completely removed from the project.");
|
|
339
|
+
console.log(`Deleted ${result.deletedCount} item(s). No DevFlow traces remain.`);
|
|
340
|
+
}
|
|
263
341
|
if (process.argv[1] &&
|
|
264
342
|
fsSync.realpathSync(process.argv[1]) === fsSync.realpathSync(fileURLToPath(import.meta.url))) {
|
|
265
343
|
main().catch((err) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-nexus-devflow.js","sourceRoot":"","sources":["../../bin/create-nexus-devflow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-nexus-devflow.js","sourceRoot":"","sources":["../../bin/create-nexus-devflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,8 +23,7 @@ interface CurrentWorkSummary {
|
|
|
23
23
|
nextStep: CurrentWorkStep | null;
|
|
24
24
|
warnings: CurrentWorkWarning[];
|
|
25
25
|
}
|
|
26
|
-
declare const CURRENT_STAGE_PATH: string;
|
|
27
26
|
declare function readCurrentWork(projectRoot: string): Promise<CurrentWorkSummary>;
|
|
28
27
|
declare function parseCurrentWork(markdown: string): CurrentWorkSummary;
|
|
29
|
-
export {
|
|
30
|
-
export type {
|
|
28
|
+
export { readCurrentWork, parseCurrentWork };
|
|
29
|
+
export type { CurrentWorkSummary, CurrentWorkStep, CurrentWorkWarning, CurrentWorkState, CurrentWorkType };
|
package/dist/lib/current-work.js
CHANGED
|
@@ -1,11 +1,60 @@
|
|
|
1
1
|
import fs from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
|
+
const DEVFLOW_CURRENT_FEATURE_PATH = path.join("devflow", "context", "current-feature.md");
|
|
4
|
+
const DEVFLOW_CURRENT_RUN_DIR = path.join("devflow", "context", "current-run");
|
|
3
5
|
const CURRENT_STAGE_PATH = path.join("devflow", "context", "current-stage.md");
|
|
4
6
|
const LEGACY_FEATURE_PATH = path.join("blueprint", "context", "current-feature.md");
|
|
5
7
|
const RESET_MARKER = "_Nothing in progress.";
|
|
6
8
|
const CHECKBOX_PATTERN = /^\s*-\s+\[([ xX])\]\s+(.+?)\s*$/;
|
|
7
9
|
async function readCurrentWork(projectRoot) {
|
|
8
|
-
//
|
|
10
|
+
// 1. Primary: Check devflow/context/current-feature.md
|
|
11
|
+
const devflowFeatureFile = path.join(projectRoot, DEVFLOW_CURRENT_FEATURE_PATH);
|
|
12
|
+
try {
|
|
13
|
+
const featStats = await fs.lstat(devflowFeatureFile).catch(() => null);
|
|
14
|
+
if (featStats?.isFile()) {
|
|
15
|
+
const featContent = await fs.readFile(devflowFeatureFile, "utf8");
|
|
16
|
+
if (featContent.trim() !== "" && !featContent.includes(RESET_MARKER)) {
|
|
17
|
+
const parsed = parseCurrentWork(featContent);
|
|
18
|
+
if (parsed.state === "active") {
|
|
19
|
+
return parsed;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
// Continue to next checks
|
|
26
|
+
}
|
|
27
|
+
// 2. Check devflow/context/current-run/ (Deep-Track active run)
|
|
28
|
+
const currentRunDir = path.join(projectRoot, DEVFLOW_CURRENT_RUN_DIR);
|
|
29
|
+
try {
|
|
30
|
+
const runStats = await fs.lstat(currentRunDir).catch(() => null);
|
|
31
|
+
if (runStats?.isDirectory()) {
|
|
32
|
+
const featurePath = path.join(currentRunDir, "current-feature.md");
|
|
33
|
+
const specPath = path.join(currentRunDir, "20-spec.md");
|
|
34
|
+
const checklistPath = path.join(currentRunDir, "checklists", "implementation-checklist.md");
|
|
35
|
+
const specFile = (await fs.lstat(featurePath).catch(() => null))?.isFile()
|
|
36
|
+
? featurePath
|
|
37
|
+
: (await fs.lstat(specPath).catch(() => null))?.isFile()
|
|
38
|
+
? specPath
|
|
39
|
+
: null;
|
|
40
|
+
if (specFile) {
|
|
41
|
+
const specContent = await fs.readFile(specFile, "utf8");
|
|
42
|
+
const parsed = parseCurrentWork(specContent);
|
|
43
|
+
if (parsed.state === "active") {
|
|
44
|
+
return parsed;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
const checkStats = await fs.lstat(checklistPath).catch(() => null);
|
|
48
|
+
if (checkStats?.isFile()) {
|
|
49
|
+
const checklistContent = await fs.readFile(checklistPath, "utf8");
|
|
50
|
+
return parseChecklistWork(checklistContent, "current-run");
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// Continue
|
|
56
|
+
}
|
|
57
|
+
// 3. Check devflow/context/current-stage.md
|
|
9
58
|
const currentStageFile = path.join(projectRoot, CURRENT_STAGE_PATH);
|
|
10
59
|
try {
|
|
11
60
|
const stageStats = await fs.lstat(currentStageFile).catch(() => null);
|
|
@@ -20,9 +69,16 @@ async function readCurrentWork(projectRoot) {
|
|
|
20
69
|
stageName.toLowerCase().startsWith("idle")) {
|
|
21
70
|
return idleSummary();
|
|
22
71
|
}
|
|
23
|
-
// Check
|
|
72
|
+
// Check legacy active run directory under devflow/runs/
|
|
24
73
|
const activeRunDir = path.join(projectRoot, "devflow", "runs", activeRunningId);
|
|
25
|
-
const
|
|
74
|
+
const featurePath = path.join(activeRunDir, "current-feature.md");
|
|
75
|
+
const legacySpecPath = path.join(activeRunDir, "spec.md");
|
|
76
|
+
const stage20Path = path.join(activeRunDir, "20-spec.md");
|
|
77
|
+
const specPath = (await fs.lstat(featurePath).catch(() => null))?.isFile()
|
|
78
|
+
? featurePath
|
|
79
|
+
: (await fs.lstat(stage20Path).catch(() => null))?.isFile()
|
|
80
|
+
? stage20Path
|
|
81
|
+
: legacySpecPath;
|
|
26
82
|
const specStats = await fs.lstat(specPath).catch(() => null);
|
|
27
83
|
if (specStats?.isFile()) {
|
|
28
84
|
const specContent = await fs.readFile(specPath, "utf8");
|
|
@@ -40,36 +96,9 @@ async function readCurrentWork(projectRoot) {
|
|
|
40
96
|
}
|
|
41
97
|
}
|
|
42
98
|
catch {
|
|
43
|
-
// Fall back to
|
|
99
|
+
// Fall back to legacy
|
|
44
100
|
}
|
|
45
|
-
//
|
|
46
|
-
const devflowRunsDir = path.join(projectRoot, "devflow", "runs");
|
|
47
|
-
try {
|
|
48
|
-
const runsStats = await fs.lstat(devflowRunsDir).catch(() => null);
|
|
49
|
-
if (runsStats?.isDirectory()) {
|
|
50
|
-
const runEntries = (await fs.readdir(devflowRunsDir)).sort().reverse();
|
|
51
|
-
for (const runDirName of runEntries) {
|
|
52
|
-
const runDirPath = path.join(devflowRunsDir, runDirName);
|
|
53
|
-
const dirStats = await fs.lstat(runDirPath).catch(() => null);
|
|
54
|
-
if (!dirStats?.isDirectory())
|
|
55
|
-
continue;
|
|
56
|
-
const specPath = path.join(runDirPath, "spec.md");
|
|
57
|
-
const specStats = await fs.lstat(specPath).catch(() => null);
|
|
58
|
-
if (specStats?.isFile()) {
|
|
59
|
-
const specContent = await fs.readFile(specPath, "utf8");
|
|
60
|
-
const parsed = parseCurrentWork(specContent);
|
|
61
|
-
if (parsed.state === "active") {
|
|
62
|
-
parsed.runId = runDirName;
|
|
63
|
-
return parsed;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
catch {
|
|
70
|
-
// Continue to legacy fallback
|
|
71
|
-
}
|
|
72
|
-
// Fallback to legacy current-feature.md
|
|
101
|
+
// 4. Fallback to legacy blueprint/context/current-feature.md
|
|
73
102
|
const legacyPath = path.join(projectRoot, LEGACY_FEATURE_PATH);
|
|
74
103
|
try {
|
|
75
104
|
const stats = await fs.lstat(legacyPath);
|
|
@@ -133,7 +162,7 @@ function parseChecklistWork(markdown, runId) {
|
|
|
133
162
|
state: "active",
|
|
134
163
|
type: "stage",
|
|
135
164
|
title: heading,
|
|
136
|
-
status: "
|
|
165
|
+
status: "in_progress",
|
|
137
166
|
runId,
|
|
138
167
|
steps,
|
|
139
168
|
completed,
|
|
@@ -145,33 +174,31 @@ function parseChecklistWork(markdown, runId) {
|
|
|
145
174
|
}
|
|
146
175
|
function parseChecklistSteps(markdown) {
|
|
147
176
|
const lines = markdown.split(/\r?\n/);
|
|
148
|
-
const
|
|
177
|
+
const steps = [];
|
|
149
178
|
for (let index = 0; index < lines.length; index += 1) {
|
|
150
|
-
const
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
179
|
+
const match = lines[index].match(CHECKBOX_PATTERN);
|
|
180
|
+
if (match) {
|
|
181
|
+
steps.push({
|
|
182
|
+
checked: match[1].toLowerCase() === "x",
|
|
183
|
+
line: index + 1,
|
|
184
|
+
title: match[2].trim()
|
|
185
|
+
});
|
|
154
186
|
}
|
|
155
|
-
const marker = match[1] || "";
|
|
156
|
-
const content = match[2] || "";
|
|
157
|
-
candidates.push({
|
|
158
|
-
checked: marker.toLowerCase() === "x",
|
|
159
|
-
line: index + 1,
|
|
160
|
-
title: parseStepTitle(content)
|
|
161
|
-
});
|
|
162
187
|
}
|
|
163
|
-
return
|
|
164
|
-
}
|
|
165
|
-
function parseStepTitle(content) {
|
|
166
|
-
const boldTitle = content.match(/^\*\*(.+?)\*\*/)?.[1];
|
|
167
|
-
const label = boldTitle || content.split(/\s+-\s+/, 1)[0] || content;
|
|
168
|
-
return label.replace(/^Step\s+\d+\s*[-:]\s*/i, "").trim();
|
|
188
|
+
return steps;
|
|
169
189
|
}
|
|
170
|
-
function normalizeWorkType(
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
190
|
+
function normalizeWorkType(label) {
|
|
191
|
+
if (!label)
|
|
192
|
+
return null;
|
|
193
|
+
const normalized = label.toLowerCase();
|
|
194
|
+
if (normalized === "feature")
|
|
195
|
+
return "feature";
|
|
196
|
+
if (normalized === "fix")
|
|
197
|
+
return "fix";
|
|
198
|
+
if (normalized === "rollback")
|
|
199
|
+
return "rollback";
|
|
200
|
+
if (normalized === "stage" || normalized === "spec")
|
|
201
|
+
return "stage";
|
|
175
202
|
return null;
|
|
176
203
|
}
|
|
177
204
|
function idleSummary() {
|
|
@@ -191,18 +218,18 @@ function idleSummary() {
|
|
|
191
218
|
}
|
|
192
219
|
function malformedSummary(warning) {
|
|
193
220
|
return {
|
|
194
|
-
...idleSummary(),
|
|
195
221
|
state: "malformed",
|
|
222
|
+
type: null,
|
|
223
|
+
title: null,
|
|
224
|
+
status: null,
|
|
225
|
+
runId: null,
|
|
226
|
+
steps: [],
|
|
227
|
+
completed: 0,
|
|
228
|
+
remaining: 0,
|
|
229
|
+
total: 0,
|
|
230
|
+
nextStep: null,
|
|
196
231
|
warnings: [warning]
|
|
197
232
|
};
|
|
198
233
|
}
|
|
199
|
-
|
|
200
|
-
return typeof error === "object" &&
|
|
201
|
-
error !== null &&
|
|
202
|
-
"code" in error &&
|
|
203
|
-
typeof error.code === "string"
|
|
204
|
-
? error.code
|
|
205
|
-
: undefined;
|
|
206
|
-
}
|
|
207
|
-
export { CURRENT_STAGE_PATH, parseCurrentWork, readCurrentWork };
|
|
234
|
+
export { readCurrentWork, parseCurrentWork };
|
|
208
235
|
//# sourceMappingURL=current-work.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"current-work.js","sourceRoot":"","sources":["../../lib/current-work.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAqC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;AAC/E,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;AACpF,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAC7C,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAE3D,KAAK,UAAU,eAAe,CAAC,WAAmB;IAChD,
|
|
1
|
+
{"version":3,"file":"current-work.js","sourceRoot":"","sources":["../../lib/current-work.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface UninstallOptions {
|
|
2
|
+
targetDir: string;
|
|
3
|
+
keepHistory?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export interface PreparedUninstall {
|
|
6
|
+
targetDir: string;
|
|
7
|
+
projectRoot: string | null;
|
|
8
|
+
itemsToDelete: string[];
|
|
9
|
+
totalFiles: number;
|
|
10
|
+
totalDirectories: number;
|
|
11
|
+
}
|
|
12
|
+
export interface ApplyUninstallResult {
|
|
13
|
+
deletedCount: number;
|
|
14
|
+
deletedItems: string[];
|
|
15
|
+
success: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare function prepareUninstall(options: UninstallOptions): Promise<PreparedUninstall>;
|
|
18
|
+
export declare function applyUninstall(prepared: PreparedUninstall, options?: {
|
|
19
|
+
dryRun?: boolean;
|
|
20
|
+
}): Promise<ApplyUninstallResult>;
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { findProjectRoot } from "./project-root.js";
|
|
4
|
+
const KNOWN_DEVFLOW_ROOT_FILES = [
|
|
5
|
+
"AGENTS.md",
|
|
6
|
+
"CLAUDE.md"
|
|
7
|
+
];
|
|
8
|
+
const KNOWN_DEVFLOW_DIRECTORIES = [
|
|
9
|
+
".agents",
|
|
10
|
+
".claude",
|
|
11
|
+
".nexus",
|
|
12
|
+
"devflow",
|
|
13
|
+
"blueprint"
|
|
14
|
+
];
|
|
15
|
+
export async function prepareUninstall(options) {
|
|
16
|
+
const targetDir = path.resolve(process.cwd(), options.targetDir || ".");
|
|
17
|
+
const projectRoot = await findProjectRoot(targetDir).catch(() => null);
|
|
18
|
+
const rootDir = projectRoot || targetDir;
|
|
19
|
+
const itemsToDelete = [];
|
|
20
|
+
let totalFiles = 0;
|
|
21
|
+
let totalDirectories = 0;
|
|
22
|
+
// 1. Check known root files
|
|
23
|
+
for (const file of KNOWN_DEVFLOW_ROOT_FILES) {
|
|
24
|
+
const fullPath = path.join(rootDir, file);
|
|
25
|
+
if (await fileExists(fullPath)) {
|
|
26
|
+
itemsToDelete.push(file);
|
|
27
|
+
totalFiles++;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
// 2. Check known root directories
|
|
31
|
+
for (const dir of KNOWN_DEVFLOW_DIRECTORIES) {
|
|
32
|
+
const fullPath = path.join(rootDir, dir);
|
|
33
|
+
if (await directoryExists(fullPath)) {
|
|
34
|
+
if (options.keepHistory && dir === "devflow") {
|
|
35
|
+
// Special case: keep devflow/history/
|
|
36
|
+
const subItems = await fs.readdir(fullPath);
|
|
37
|
+
for (const sub of subItems) {
|
|
38
|
+
if (sub === "history")
|
|
39
|
+
continue;
|
|
40
|
+
const subFullPath = path.join(fullPath, sub);
|
|
41
|
+
const relPath = path.join(dir, sub);
|
|
42
|
+
itemsToDelete.push(relPath);
|
|
43
|
+
const stats = await countItemsRecursive(subFullPath);
|
|
44
|
+
totalFiles += stats.files;
|
|
45
|
+
totalDirectories += stats.directories + 1;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
itemsToDelete.push(dir);
|
|
50
|
+
const stats = await countItemsRecursive(fullPath);
|
|
51
|
+
totalFiles += stats.files;
|
|
52
|
+
totalDirectories += stats.directories + 1;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
targetDir: rootDir,
|
|
58
|
+
projectRoot,
|
|
59
|
+
itemsToDelete,
|
|
60
|
+
totalFiles,
|
|
61
|
+
totalDirectories
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export async function applyUninstall(prepared, options = {}) {
|
|
65
|
+
const deletedItems = [];
|
|
66
|
+
if (options.dryRun) {
|
|
67
|
+
return {
|
|
68
|
+
deletedCount: prepared.itemsToDelete.length,
|
|
69
|
+
deletedItems: [...prepared.itemsToDelete],
|
|
70
|
+
success: true
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
for (const item of prepared.itemsToDelete) {
|
|
74
|
+
const fullPath = path.join(prepared.targetDir, item);
|
|
75
|
+
try {
|
|
76
|
+
await fs.rm(fullPath, { recursive: true, force: true });
|
|
77
|
+
deletedItems.push(item);
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
// Ignore if already removed or inaccessible
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
deletedCount: deletedItems.length,
|
|
85
|
+
deletedItems,
|
|
86
|
+
success: true
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
async function fileExists(targetPath) {
|
|
90
|
+
try {
|
|
91
|
+
const stat = await fs.lstat(targetPath);
|
|
92
|
+
return stat.isFile();
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
async function directoryExists(targetPath) {
|
|
99
|
+
try {
|
|
100
|
+
const stat = await fs.lstat(targetPath);
|
|
101
|
+
return stat.isDirectory();
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
async function countItemsRecursive(dirPath) {
|
|
108
|
+
let files = 0;
|
|
109
|
+
let directories = 0;
|
|
110
|
+
try {
|
|
111
|
+
const entries = await fs.readdir(dirPath, { withFileTypes: true });
|
|
112
|
+
for (const entry of entries) {
|
|
113
|
+
if (entry.isDirectory()) {
|
|
114
|
+
directories++;
|
|
115
|
+
const sub = await countItemsRecursive(path.join(dirPath, entry.name));
|
|
116
|
+
files += sub.files;
|
|
117
|
+
directories += sub.directories;
|
|
118
|
+
}
|
|
119
|
+
else if (entry.isFile()) {
|
|
120
|
+
files++;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
// Ignore read errors
|
|
126
|
+
}
|
|
127
|
+
return { files, directories };
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=uninstall.js.map
|