@context-forge/cli 0.4.2 → 0.5.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.
- package/README.md +22 -8
- package/dist/commands/arch.d.ts.map +1 -1
- package/dist/commands/arch.js +6 -4
- package/dist/commands/arch.js.map +1 -1
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +9 -6
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +59 -21
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/next.d.ts.map +1 -1
- package/dist/commands/next.js +6 -4
- package/dist/commands/next.js.map +1 -1
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +6 -4
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/project.d.ts +2 -0
- package/dist/commands/project.d.ts.map +1 -1
- package/dist/commands/project.js +144 -36
- package/dist/commands/project.js.map +1 -1
- package/dist/commands/slice.d.ts.map +1 -1
- package/dist/commands/slice.js +6 -4
- package/dist/commands/slice.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +148 -7
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/task.d.ts.map +1 -1
- package/dist/commands/task.js +11 -8
- package/dist/commands/task.js.map +1 -1
- package/dist/commands/worktree.d.ts +3 -0
- package/dist/commands/worktree.d.ts.map +1 -0
- package/dist/commands/worktree.js +332 -0
- package/dist/commands/worktree.js.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/confirm.d.ts +3 -0
- package/dist/utils/confirm.d.ts.map +1 -0
- package/dist/utils/confirm.js +12 -0
- package/dist/utils/confirm.js.map +1 -0
- package/dist/utils/project.d.ts +40 -7
- package/dist/utils/project.d.ts.map +1 -1
- package/dist/utils/project.js +97 -19
- package/dist/utils/project.js.map +1 -1
- package/dist/utils/worktree-overlay.d.ts +2 -0
- package/dist/utils/worktree-overlay.d.ts.map +1 -0
- package/dist/utils/worktree-overlay.js +3 -0
- package/dist/utils/worktree-overlay.js.map +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/utils/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/utils/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,gBAAgB,EAAwB,MAAM,0BAA0B,CAAC;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAW7B;AAED,gFAAgF;AAChF,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,WAAW,CAAC;IACrB,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAyC1B;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;AAEhF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,gBAAgB,CAAC;IACzB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD,0CAA0C;AAC1C,MAAM,WAAW,6BAA6B;IAC5C,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,6BAA6B,EACnC,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,uBAAuB,CAAC,CA0ElC;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,eAAe,CAAC,CAG1B;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,OAAO,qBAAqB,EAAE,eAAe,GAAG,SAAS,CAAC,CAapE"}
|
package/dist/utils/project.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ConfigManager } from '@context-forge/core/node';
|
|
1
|
+
import { ConfigManager, GitWorktreeDiscovery } from '@context-forge/core/node';
|
|
2
2
|
import { UserError } from './errors.js';
|
|
3
3
|
/**
|
|
4
4
|
* Find a project by exact ID or case-insensitive name.
|
|
@@ -16,32 +16,60 @@ export async function findByNameOrId(nameOrId, store) {
|
|
|
16
16
|
return byName ?? null;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
* Find the project whose projectPath best matches the current
|
|
20
|
-
* When multiple
|
|
21
|
-
* Projects without a projectPath are skipped
|
|
19
|
+
* Find the project whose projectPath or worktreePath best matches the current
|
|
20
|
+
* working directory. When multiple paths match (nested paths), the longest wins.
|
|
21
|
+
* Projects without a projectPath are skipped; worktrees without a worktreePath
|
|
22
|
+
* are also skipped.
|
|
22
23
|
*/
|
|
23
24
|
export async function findProjectByCwd(store) {
|
|
24
25
|
const projects = await store.getAll();
|
|
25
26
|
const cwd = process.cwd();
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
const candidates = [];
|
|
28
|
+
for (const p of projects) {
|
|
29
|
+
// Existing: project root path
|
|
30
|
+
if (p.projectPath) {
|
|
31
|
+
candidates.push({ project: p, path: p.projectPath });
|
|
32
|
+
}
|
|
33
|
+
// New: worktree paths
|
|
34
|
+
for (const wt of p.worktrees ?? []) {
|
|
35
|
+
if (wt.worktreePath) {
|
|
36
|
+
candidates.push({ project: p, path: wt.worktreePath, worktreeId: wt.id });
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const matches = candidates
|
|
41
|
+
.filter((c) => {
|
|
42
|
+
const path = c.path.endsWith('/') ? c.path.slice(0, -1) : c.path;
|
|
31
43
|
return cwd === path || cwd.startsWith(path + '/');
|
|
32
44
|
})
|
|
33
|
-
.sort((a, b) =>
|
|
34
|
-
|
|
45
|
+
.sort((a, b) => {
|
|
46
|
+
// Longest path wins; on tie, prefer worktree match over project root
|
|
47
|
+
const lenDiff = b.path.length - a.path.length;
|
|
48
|
+
if (lenDiff !== 0)
|
|
49
|
+
return lenDiff;
|
|
50
|
+
if (a.worktreeId && !b.worktreeId)
|
|
51
|
+
return -1;
|
|
52
|
+
if (!a.worktreeId && b.worktreeId)
|
|
53
|
+
return 1;
|
|
54
|
+
return 0;
|
|
55
|
+
});
|
|
56
|
+
if (matches.length === 0)
|
|
57
|
+
return null;
|
|
58
|
+
return { project: matches[0].project, worktreeId: matches[0].worktreeId };
|
|
35
59
|
}
|
|
36
60
|
/**
|
|
37
|
-
* Resolves which project to use via a
|
|
61
|
+
* Resolves which project and (optionally) worktree to use via a four-step chain:
|
|
38
62
|
*
|
|
39
63
|
* 1. explicit --project flag → findByNameOrId
|
|
40
|
-
* 2. CWD detection → findProjectByCwd
|
|
64
|
+
* 2. CWD detection → findProjectByCwd (worktree-aware)
|
|
41
65
|
* 3. default_project config → findByNameOrId
|
|
42
66
|
* 4. Throw UserError with guidance
|
|
67
|
+
*
|
|
68
|
+
* When opts.worktree is provided and a project was resolved, also resolves the
|
|
69
|
+
* worktreeId via findWorktreeByNameOrId.
|
|
43
70
|
*/
|
|
44
|
-
export async function
|
|
71
|
+
export async function resolveProjectWorktree(opts, store) {
|
|
72
|
+
const explicit = opts.project;
|
|
45
73
|
// Step 1: explicit --project flag
|
|
46
74
|
if (explicit) {
|
|
47
75
|
const project = await findByNameOrId(explicit, store);
|
|
@@ -49,12 +77,37 @@ export async function resolveProjectId(explicit, store) {
|
|
|
49
77
|
throw new UserError(`Project '${explicit}' not found.\n` +
|
|
50
78
|
' Check the spelling, or run cf project list to see available projects.');
|
|
51
79
|
}
|
|
52
|
-
|
|
80
|
+
const resolved = { id: project.id, source: 'flag' };
|
|
81
|
+
if (opts.worktree) {
|
|
82
|
+
const wt = await findWorktreeByNameOrId(project.id, opts.worktree, store);
|
|
83
|
+
if (wt)
|
|
84
|
+
resolved.worktreeId = wt.id;
|
|
85
|
+
}
|
|
86
|
+
return resolved;
|
|
53
87
|
}
|
|
54
|
-
// Step 2: CWD detection
|
|
55
|
-
const
|
|
56
|
-
if (
|
|
57
|
-
|
|
88
|
+
// Step 2: CWD detection (worktree-aware)
|
|
89
|
+
const cwdMatch = await findProjectByCwd(store);
|
|
90
|
+
if (cwdMatch) {
|
|
91
|
+
if (cwdMatch.worktreeId) {
|
|
92
|
+
return { id: cwdMatch.project.id, worktreeId: cwdMatch.worktreeId, source: 'worktree' };
|
|
93
|
+
}
|
|
94
|
+
return { id: cwdMatch.project.id, source: 'cwd' };
|
|
95
|
+
}
|
|
96
|
+
// Step 2b: CWD is a git worktree of a known project (not yet registered as a cf worktree)
|
|
97
|
+
try {
|
|
98
|
+
const discovery = new GitWorktreeDiscovery();
|
|
99
|
+
const gitWorktrees = await discovery.listWorktrees(process.cwd());
|
|
100
|
+
if (gitWorktrees.length > 0) {
|
|
101
|
+
const mainWorktreePath = gitWorktrees[0].path;
|
|
102
|
+
const projects = await store.getAll();
|
|
103
|
+
const matchingProject = projects.find((p) => p.projectPath === mainWorktreePath);
|
|
104
|
+
if (matchingProject) {
|
|
105
|
+
return { id: matchingProject.id, source: 'cwd' };
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
// Git unavailable or not a git repo — fall through
|
|
58
111
|
}
|
|
59
112
|
// Step 3: default_project config
|
|
60
113
|
const cm = new ConfigManager();
|
|
@@ -78,4 +131,29 @@ export async function resolveProjectId(explicit, store) {
|
|
|
78
131
|
' --project <name> # specify a project explicitly\n' +
|
|
79
132
|
' cf project list # see registered projects');
|
|
80
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* Resolves which project to use via a three-step chain.
|
|
136
|
+
* Backwards-compatible wrapper around resolveProjectWorktree — drops worktreeId.
|
|
137
|
+
*/
|
|
138
|
+
export async function resolveProjectId(explicit, store) {
|
|
139
|
+
const result = await resolveProjectWorktree({ project: explicit }, store);
|
|
140
|
+
return { id: result.id, source: result.source };
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Find a worktree within a project by exact ID or case-insensitive name.
|
|
144
|
+
* ID match takes priority over name match. Returns undefined if not found.
|
|
145
|
+
*/
|
|
146
|
+
export async function findWorktreeByNameOrId(projectId, nameOrId, store) {
|
|
147
|
+
const project = await store.getById(projectId);
|
|
148
|
+
if (!project)
|
|
149
|
+
return undefined;
|
|
150
|
+
const worktrees = project.worktrees ?? [];
|
|
151
|
+
// Exact ID match first
|
|
152
|
+
const byId = worktrees.find((wt) => wt.id === nameOrId);
|
|
153
|
+
if (byId)
|
|
154
|
+
return byId;
|
|
155
|
+
// Case-insensitive name match
|
|
156
|
+
const lower = nameOrId.toLowerCase();
|
|
157
|
+
return worktrees.find((wt) => wt.name.toLowerCase() === lower);
|
|
158
|
+
}
|
|
81
159
|
//# sourceMappingURL=project.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/utils/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/utils/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEjG,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAgB,EAChB,KAAuB;IAEvB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;IAEtC,uBAAuB;IACvB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;IACrD,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAEtB,8BAA8B;IAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;IACrE,OAAO,MAAM,IAAI,IAAI,CAAC;AACxB,CAAC;AASD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAuB;IAEvB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;IACtC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAQ1B,MAAM,UAAU,GAAoB,EAAE,CAAC;IAEvC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,8BAA8B;QAC9B,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAClB,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,sBAAsB;QACtB,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;YACnC,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;gBACpB,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,UAAU;SACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IACpD,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,qEAAqE;QACrE,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC9C,IAAI,OAAO,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC;QAClC,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,UAAU;YAAE,OAAO,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU;YAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IAEL,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;AAC5E,CAAC;AA4BD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAmC,EACnC,KAAuB;IAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;IAE9B,kCAAkC;IAClC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,SAAS,CACjB,YAAY,QAAQ,gBAAgB;gBAClC,yEAAyE,CAC5E,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAA4B,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC7E,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,EAAE,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC1E,IAAI,EAAE;gBAAE,QAAQ,CAAC,UAAU,GAAG,EAAE,CAAC,EAAE,CAAC;QACtC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,yCAAyC;IACzC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACxB,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAC1F,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACpD,CAAC;IAED,0FAA0F;IAC1F,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAClE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,gBAAgB,CAAC,CAAC;YACjF,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,EAAE,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;IACrD,CAAC;IAED,iCAAiC;IACjC,MAAM,EAAE,GAAG,IAAI,aAAa,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAe,CAAC;IAE1C,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,SAAS,CACjB,8BAA8B,UAAU,wCAAwC;gBAC9E,qEAAqE;gBACrE,+DAA+D,CAClE,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,KAAK,CACX,iIAAiI;YAC/H,mDAAmD;YACnD,8CAA8C,CACjD,CAAC;QACF,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/C,CAAC;IAED,wBAAwB;IACxB,MAAM,IAAI,SAAS,CACjB,yEAAyE;QACvE,0EAA0E;QAC1E,+DAA+D;QAC/D,wDAAwD,CAC3D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAA4B,EAC5B,KAAuB;IAEvB,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;IAC1E,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,SAAiB,EACjB,QAAgB,EAChB,KAAuB;IAEvB,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;IAE1C,uBAAuB;IACvB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;IACxD,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAEtB,8BAA8B;IAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worktree-overlay.d.ts","sourceRoot":"","sources":["../../src/utils/worktree-overlay.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worktree-overlay.js","sourceRoot":"","sources":["../../src/utils/worktree-overlay.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@context-forge/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
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.
|
|
35
|
+
"@context-forge/core": "0.5.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/node": "^25.3.0",
|