@context-forge/cli 0.6.43 → 0.7.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
CHANGED
|
@@ -9,7 +9,10 @@ Terminal interface for Context Forge — context assembly, project management, w
|
|
|
9
9
|
## Installation
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
|
-
# Install globally
|
|
12
|
+
# Install globally (recommended: meta-package installs both CLI and MCP server)
|
|
13
|
+
npm install -g @context-forge/context-forge
|
|
14
|
+
|
|
15
|
+
# Or install the CLI alone
|
|
13
16
|
npm install -g @context-forge/cli
|
|
14
17
|
|
|
15
18
|
# Initialize a project (from the project root)
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
/** Returns true if the file contains the context-forge managed marker in the first 20 lines. */
|
|
3
3
|
export declare function isManagedClaudeMd(filePath: string): boolean;
|
|
4
|
+
/**
|
|
5
|
+
* Returns true if the Copilot IDE install is managed by context-forge.
|
|
6
|
+
* Checks the first 20 lines of .github/copilot-instructions.md and AGENTS.md.
|
|
7
|
+
* Returns true if at least one of those files exists and contains the marker.
|
|
8
|
+
*/
|
|
9
|
+
export declare function isManagedCopilotFiles(projectPath: string): boolean;
|
|
4
10
|
/** Run IDE setup for a project. Errors propagate to the caller. */
|
|
5
11
|
export declare function setupIdeAction(projectPath: string, target: string, opts?: {
|
|
6
12
|
yes?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-ide.d.ts","sourceRoot":"","sources":["../../src/commands/setup-ide.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC,gGAAgG;AAChG,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAI3D;AAED,mEAAmE;AACnE,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GACvB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"setup-ide.d.ts","sourceRoot":"","sources":["../../src/commands/setup-ide.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC,gGAAgG;AAChG,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAI3D;AAID;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAgBlE;AAED,mEAAmE;AACnE,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GACvB,OAAO,CAAC,IAAI,CAAC,CAuGf;AAmFD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqC9D"}
|
|
@@ -6,7 +6,7 @@ import { FileProjectStore, GuideDetector, GUIDE_RELATIVE_PATH } from '@context-f
|
|
|
6
6
|
import { resolveProjectId } from '../utils/project.js';
|
|
7
7
|
import { withProjectOption, withYesOption } from '../options.js';
|
|
8
8
|
import { handleError, UserError } from '../utils/errors.js';
|
|
9
|
-
const VALID_TARGETS = ['claude'];
|
|
9
|
+
const VALID_TARGETS = ['claude', 'copilot'];
|
|
10
10
|
/** Prompt user for y/N confirmation via stdin. Returns true if confirmed. */
|
|
11
11
|
function askConfirmation(prompt) {
|
|
12
12
|
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
@@ -23,6 +23,28 @@ export function isManagedClaudeMd(filePath) {
|
|
|
23
23
|
const lines = content.split('\n').slice(0, 20);
|
|
24
24
|
return lines.some((line) => line.trim() === '[//]: # (context-forge:managed)');
|
|
25
25
|
}
|
|
26
|
+
const COPILOT_MANAGED_MARKER = '[//]: # (context-forge:managed)';
|
|
27
|
+
/**
|
|
28
|
+
* Returns true if the Copilot IDE install is managed by context-forge.
|
|
29
|
+
* Checks the first 20 lines of .github/copilot-instructions.md and AGENTS.md.
|
|
30
|
+
* Returns true if at least one of those files exists and contains the marker.
|
|
31
|
+
*/
|
|
32
|
+
export function isManagedCopilotFiles(projectPath) {
|
|
33
|
+
const filesToCheck = [
|
|
34
|
+
path.join(projectPath, '.github', 'copilot-instructions.md'),
|
|
35
|
+
path.join(projectPath, 'AGENTS.md'),
|
|
36
|
+
];
|
|
37
|
+
for (const filePath of filesToCheck) {
|
|
38
|
+
if (!fs.existsSync(filePath))
|
|
39
|
+
continue;
|
|
40
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
41
|
+
const lines = content.split('\n').slice(0, 20);
|
|
42
|
+
if (lines.some((line) => line.trim() === COPILOT_MANAGED_MARKER)) {
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
26
48
|
/** Run IDE setup for a project. Errors propagate to the caller. */
|
|
27
49
|
export async function setupIdeAction(projectPath, target, opts) {
|
|
28
50
|
// Validate target
|
|
@@ -44,29 +66,65 @@ export async function setupIdeAction(projectPath, target, opts) {
|
|
|
44
66
|
// CLAUDE.md safety check
|
|
45
67
|
const claudeMdPath = path.join(projectPath, 'CLAUDE.md');
|
|
46
68
|
const claudeMdBakPath = path.join(projectPath, 'CLAUDE.md.bak');
|
|
47
|
-
if (
|
|
48
|
-
if (
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
else {
|
|
52
|
-
// Not managed — possibly prompt, then backup logic
|
|
53
|
-
if (!opts?.yes) {
|
|
54
|
-
console.error('Warning: CLAUDE.md already exists and will be overwritten.');
|
|
55
|
-
const confirmed = await askConfirmation('Continue? (y/N) ');
|
|
56
|
-
if (!confirmed) {
|
|
57
|
-
console.error('Aborted.');
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
if (!fs.existsSync(claudeMdBakPath)) {
|
|
62
|
-
fs.copyFileSync(claudeMdPath, claudeMdBakPath);
|
|
63
|
-
console.log('Backed up CLAUDE.md → CLAUDE.md.bak');
|
|
69
|
+
if (target === 'claude') {
|
|
70
|
+
if (fs.existsSync(claudeMdPath)) {
|
|
71
|
+
if (isManagedClaudeMd(claudeMdPath)) {
|
|
72
|
+
// Managed file — skip backup silently
|
|
64
73
|
}
|
|
65
74
|
else {
|
|
66
|
-
|
|
75
|
+
// Not managed — possibly prompt, then backup logic
|
|
76
|
+
if (!opts?.yes) {
|
|
77
|
+
console.error('Warning: CLAUDE.md already exists and will be overwritten.');
|
|
78
|
+
const confirmed = await askConfirmation('Continue? (y/N) ');
|
|
79
|
+
if (!confirmed) {
|
|
80
|
+
console.error('Aborted.');
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (!fs.existsSync(claudeMdBakPath)) {
|
|
85
|
+
fs.copyFileSync(claudeMdPath, claudeMdBakPath);
|
|
86
|
+
console.log('Backed up CLAUDE.md → CLAUDE.md.bak');
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
console.log('existing backup preserved at CLAUDE.md.bak');
|
|
90
|
+
}
|
|
67
91
|
}
|
|
68
92
|
}
|
|
69
93
|
}
|
|
94
|
+
else if (target === 'copilot') {
|
|
95
|
+
// Copilot safety check: only prompt when unmanaged files exist
|
|
96
|
+
if (!isManagedCopilotFiles(projectPath)) {
|
|
97
|
+
const copilotInstructionsPath = path.join(projectPath, '.github', 'copilot-instructions.md');
|
|
98
|
+
const agentsMdPath = path.join(projectPath, 'AGENTS.md');
|
|
99
|
+
const eitherExists = fs.existsSync(copilotInstructionsPath) || fs.existsSync(agentsMdPath);
|
|
100
|
+
if (eitherExists) {
|
|
101
|
+
if (!opts?.yes) {
|
|
102
|
+
console.error('Warning: Copilot IDE files already exist and will be overwritten.');
|
|
103
|
+
const confirmed = await askConfirmation('Continue? (y/N) ');
|
|
104
|
+
if (!confirmed) {
|
|
105
|
+
console.error('Aborted.');
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
// Backup each file if it exists and no .bak already present
|
|
110
|
+
for (const [src, bak] of [
|
|
111
|
+
[copilotInstructionsPath, `${copilotInstructionsPath}.bak`],
|
|
112
|
+
[agentsMdPath, `${agentsMdPath}.bak`],
|
|
113
|
+
]) {
|
|
114
|
+
if (fs.existsSync(src)) {
|
|
115
|
+
if (!fs.existsSync(bak)) {
|
|
116
|
+
fs.copyFileSync(src, bak);
|
|
117
|
+
console.log(`Backed up ${path.relative(projectPath, src)} → ${path.relative(projectPath, bak)}`);
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
console.log(`existing backup preserved at ${path.relative(projectPath, bak)}`);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// Managed or no files: proceed silently
|
|
127
|
+
}
|
|
70
128
|
// Run the setup-ide script
|
|
71
129
|
try {
|
|
72
130
|
execFileSync('bash', [scriptPath, target], {
|
|
@@ -127,6 +185,32 @@ function propagateToWorktrees(project, target) {
|
|
|
127
185
|
}
|
|
128
186
|
}
|
|
129
187
|
}
|
|
188
|
+
else if (target === 'copilot') {
|
|
189
|
+
// AGENTS.md
|
|
190
|
+
const srcAgents = path.join(rootPath, 'AGENTS.md');
|
|
191
|
+
if (fs.existsSync(srcAgents)) {
|
|
192
|
+
fs.copyFileSync(srcAgents, path.join(wtPath, 'AGENTS.md'));
|
|
193
|
+
}
|
|
194
|
+
// .github/copilot-instructions.md
|
|
195
|
+
const srcInstructions = path.join(rootPath, '.github', 'copilot-instructions.md');
|
|
196
|
+
if (fs.existsSync(srcInstructions)) {
|
|
197
|
+
fs.mkdirSync(path.join(wtPath, '.github'), { recursive: true });
|
|
198
|
+
fs.copyFileSync(srcInstructions, path.join(wtPath, '.github', 'copilot-instructions.md'));
|
|
199
|
+
}
|
|
200
|
+
// .github/instructions/ and .github/prompts/
|
|
201
|
+
for (const dir of ['instructions', 'prompts']) {
|
|
202
|
+
const srcDir = path.join(rootPath, '.github', dir);
|
|
203
|
+
const dstDir = path.join(wtPath, '.github', dir);
|
|
204
|
+
if (!fs.existsSync(srcDir))
|
|
205
|
+
continue;
|
|
206
|
+
fs.mkdirSync(dstDir, { recursive: true });
|
|
207
|
+
for (const entry of fs.readdirSync(srcDir, { withFileTypes: true })) {
|
|
208
|
+
if (entry.isFile()) {
|
|
209
|
+
fs.copyFileSync(path.join(srcDir, entry.name), path.join(dstDir, entry.name));
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
130
214
|
// Future targets (cursor, windsurf) would propagate their own dirs here.
|
|
131
215
|
}
|
|
132
216
|
console.log(` Propagated to ${worktrees.length} worktree${worktrees.length !== 1 ? 's' : ''}.`);
|
|
@@ -135,7 +219,7 @@ export function registerSetupIdeCommand(program) {
|
|
|
135
219
|
const ideCmd = program
|
|
136
220
|
.command('setup-ide')
|
|
137
221
|
.description('Configure IDE-specific AI integration files for the current project')
|
|
138
|
-
.argument('<target>',
|
|
222
|
+
.argument('<target>', 'IDE target: claude, copilot');
|
|
139
223
|
withProjectOption(ideCmd);
|
|
140
224
|
withYesOption(ideCmd);
|
|
141
225
|
ideCmd.action(async (target, opts) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-ide.js","sourceRoot":"","sources":["../../src/commands/setup-ide.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEhG,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,aAAa,GAAG,CAAC,QAAQ,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"setup-ide.js","sourceRoot":"","sources":["../../src/commands/setup-ide.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.
|
|
3
|
+
"version": "0.7.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.7.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/node": "^25.3.0",
|