@context-forge/cli 0.6.38 → 0.6.40
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arch.d.ts","sourceRoot":"","sources":["../../src/commands/arch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"arch.d.ts","sourceRoot":"","sources":["../../src/commands/arch.ts"],"names":[],"mappings":"AAuBA,kEAAkE;AAClE,wBAAsB,cAAc,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAyC7G"}
|
package/dist/commands/arch.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { join } from 'node:path';
|
|
2
|
+
import { readdir } from 'node:fs/promises';
|
|
3
|
+
import { FileProjectStore, ArtifactIntrospector, buildModel, mergeProjectModels, resolveInitiativePlanPath, } from '@context-forge/core/node';
|
|
2
4
|
import { extractSliceIndex } from '@context-forge/core/node';
|
|
3
5
|
import { resolveProjectWorktree } from '../utils/project.js';
|
|
4
6
|
import { resolveProject } from '@context-forge/core';
|
|
5
|
-
import { resolveOperationPath, getWorktreeIndexRange, isInIndexRange, resolveAllOperationPaths } from '../utils/worktree-overlay.js';
|
|
7
|
+
import { resolveOperationPath, getWorktreeIndexRange, isInIndexRange, resolveAllOperationPaths, } from '../utils/worktree-overlay.js';
|
|
6
8
|
import { UserError } from '../utils/errors.js';
|
|
7
9
|
import { printJson } from '../output/formatter.js';
|
|
8
10
|
import { renderTable } from '../output/tables.js';
|
|
@@ -22,17 +24,92 @@ export async function archListAction(opts) {
|
|
|
22
24
|
if (!project.projectPath) {
|
|
23
25
|
throw new UserError('No projectPath configured. Set one with: cf set projectPath /path/to/project');
|
|
24
26
|
}
|
|
25
|
-
let model;
|
|
26
27
|
let indexRange;
|
|
28
|
+
let operationPath;
|
|
27
29
|
if (opts.all && rawProject.worktrees?.length) {
|
|
30
|
+
operationPath = project.projectPath;
|
|
31
|
+
// No index filtering in --all mode
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
operationPath = resolveOperationPath(project, worktreeId) ?? project.projectPath;
|
|
35
|
+
indexRange = getWorktreeIndexRange(rawProject, worktreeId);
|
|
36
|
+
}
|
|
37
|
+
// Attempt initiative-plan-driven listing first
|
|
38
|
+
const initiativePlanPath = await resolveInitiativePlanPath(operationPath);
|
|
39
|
+
if (initiativePlanPath) {
|
|
40
|
+
await archListFromPlan(initiativePlanPath, operationPath, project, indexRange, opts);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
// Fallback: filesystem-scan based listing (legacy buildModel behavior)
|
|
44
|
+
await archListFromModel(opts, project, rawProject, operationPath, indexRange);
|
|
45
|
+
}
|
|
46
|
+
/** List initiatives driven from the initiative plan file (primary path). */
|
|
47
|
+
async function archListFromPlan(initiativePlanPath, operationPath, project, indexRange, opts) {
|
|
48
|
+
const introspector = new ArtifactIntrospector();
|
|
49
|
+
const planResult = await introspector.parseSlicePlan(initiativePlanPath);
|
|
50
|
+
const filteredEntries = planResult.entries.filter((e) => isInIndexRange(e.index, indexRange));
|
|
51
|
+
if (filteredEntries.length === 0) {
|
|
52
|
+
console.log(dim('No initiatives found in initiative plan.'));
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
// Active arch index — compare against fileArch on the project
|
|
56
|
+
const activeArchIndex = extractSliceIndex(project.fileArch);
|
|
57
|
+
// Resolve per-entry arch file existence
|
|
58
|
+
const entries = await Promise.all(filteredEntries.map(async (entry) => {
|
|
59
|
+
let archFile = null;
|
|
60
|
+
try {
|
|
61
|
+
const archDir = join(operationPath, 'project-documents/user/architecture');
|
|
62
|
+
const files = await readdir(archDir);
|
|
63
|
+
const pattern = new RegExp(`^${entry.index}-arch\\.`, 'i');
|
|
64
|
+
const found = files.find((f) => pattern.test(f));
|
|
65
|
+
if (found) {
|
|
66
|
+
archFile = found;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
// directory missing or unreadable — leave archFile null
|
|
71
|
+
}
|
|
72
|
+
const status = entry.isChecked
|
|
73
|
+
? 'complete'
|
|
74
|
+
: archFile
|
|
75
|
+
? 'in_progress'
|
|
76
|
+
: 'not_started';
|
|
77
|
+
const isActive = activeArchIndex !== null && entry.index === activeArchIndex;
|
|
78
|
+
return {
|
|
79
|
+
index: entry.index,
|
|
80
|
+
name: entry.name,
|
|
81
|
+
status,
|
|
82
|
+
archFile,
|
|
83
|
+
isActive,
|
|
84
|
+
};
|
|
85
|
+
}));
|
|
86
|
+
if (opts.json) {
|
|
87
|
+
printJson(entries);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
const planName = initiativePlanPath.split('/').pop() ?? initiativePlanPath;
|
|
91
|
+
console.log(label(`\nArchitecture Initiatives: ${planName}`));
|
|
92
|
+
const rows = entries.map((e) => {
|
|
93
|
+
const statusLabel = e.status === 'complete'
|
|
94
|
+
? success('✓ complete')
|
|
95
|
+
: e.status === 'in_progress'
|
|
96
|
+
? dim('◑ in progress')
|
|
97
|
+
: dim('○ not started');
|
|
98
|
+
const file = e.archFile ? dim(e.archFile) : dim('—');
|
|
99
|
+
const indicator = e.isActive ? success(' ← active') : '';
|
|
100
|
+
return [String(e.index), e.name, statusLabel, file + indicator];
|
|
101
|
+
});
|
|
102
|
+
console.log(renderTable(['#', 'Initiative', 'Status', 'Arch File'], rows));
|
|
103
|
+
}
|
|
104
|
+
/** Fallback: list initiatives from buildModel filesystem scan. */
|
|
105
|
+
async function archListFromModel(opts, project, rawProject, operationPath, indexRange) {
|
|
106
|
+
let model;
|
|
107
|
+
if (opts.all && rawProject?.worktrees?.length) {
|
|
28
108
|
const paths = resolveAllOperationPaths(rawProject);
|
|
29
109
|
const models = (await Promise.all(paths.map((p) => buildModel(p).catch(() => null)))).filter((m) => m !== null);
|
|
30
110
|
model = mergeProjectModels(models);
|
|
31
|
-
// No index filtering in --all mode
|
|
32
111
|
}
|
|
33
112
|
else {
|
|
34
|
-
const operationPath = resolveOperationPath(project, worktreeId) ?? project.projectPath;
|
|
35
|
-
indexRange = getWorktreeIndexRange(rawProject, worktreeId);
|
|
36
113
|
model = await buildModel(operationPath);
|
|
37
114
|
}
|
|
38
115
|
const initiativeKeys = Object.keys(model.initiatives)
|
|
@@ -45,19 +122,15 @@ export async function archListAction(opts) {
|
|
|
45
122
|
const activeIndex = extractSliceIndex(project.fileSlice);
|
|
46
123
|
const entries = initiativeKeys.map((key) => {
|
|
47
124
|
const init = model.initiatives[key];
|
|
48
|
-
const baseIndex = parseInt(key, 10);
|
|
49
125
|
const archName = init.arch?.name ?? '—';
|
|
50
126
|
const planName = init.slicePlan?.name ?? '—';
|
|
51
127
|
const completedSlices = init.slices.filter((s) => s.status === 'complete').length;
|
|
52
128
|
const totalSlices = init.slices.length;
|
|
53
|
-
const progress = totalSlices > 0
|
|
54
|
-
? `${completedSlices}/${totalSlices}`
|
|
55
|
-
: '—';
|
|
56
|
-
// Determine if this initiative contains the active slice
|
|
129
|
+
const progress = totalSlices > 0 ? `${completedSlices}/${totalSlices}` : '—';
|
|
57
130
|
const isActive = activeIndex !== null && init.slices.some((s) => parseInt(s.index, 10) === activeIndex);
|
|
58
131
|
return {
|
|
59
132
|
index: key,
|
|
60
|
-
baseIndex,
|
|
133
|
+
baseIndex: parseInt(key, 10),
|
|
61
134
|
name: init.name,
|
|
62
135
|
archDoc: archName,
|
|
63
136
|
slicePlan: planName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arch.js","sourceRoot":"","sources":["../../src/commands/arch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"arch.js","sourceRoot":"","sources":["../../src/commands/arch.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@context-forge/cli",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.40",
|
|
4
4
|
"description": "CLI for Context Forge — terminal access to context assembly, project management, workflow navigation, and configuration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"chalk": "^5.4.1",
|
|
34
34
|
"commander": "^13.1.0",
|
|
35
|
-
"@context-forge/core": "0.6.
|
|
35
|
+
"@context-forge/core": "0.6.40"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/node": "^25.3.0",
|