@context-forge/cli 0.11.0 → 0.13.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/commands/codex/cf-build/SKILL.md +17 -0
- package/commands/codex/cf-check/SKILL.md +12 -0
- package/commands/codex/cf-get/SKILL.md +11 -0
- package/commands/codex/cf-next/SKILL.md +11 -0
- package/commands/codex/cf-onboard/SKILL.md +61 -0
- package/commands/codex/cf-project/SKILL.md +13 -0
- package/commands/codex/cf-prompt/SKILL.md +16 -0
- package/commands/codex/cf-set/SKILL.md +12 -0
- package/commands/codex/cf-status/SKILL.md +11 -0
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +9 -2
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/commandInstaller.d.ts +54 -18
- package/dist/commands/commandInstaller.d.ts.map +1 -1
- package/dist/commands/commandInstaller.js +162 -61
- package/dist/commands/commandInstaller.js.map +1 -1
- package/dist/commands/ideTargets.d.ts +16 -0
- package/dist/commands/ideTargets.d.ts.map +1 -0
- package/dist/commands/ideTargets.js +36 -0
- package/dist/commands/ideTargets.js.map +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +17 -7
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/setup-ide.d.ts +2 -7
- package/dist/commands/setup-ide.d.ts.map +1 -1
- package/dist/commands/setup-ide.js +10 -27
- package/dist/commands/setup-ide.js.map +1 -1
- package/dist/commands/validate.d.ts +3 -0
- package/dist/commands/validate.d.ts.map +1 -0
- package/dist/commands/validate.js +133 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/errors.d.ts +2 -2
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +3 -3
- package/dist/utils/errors.js.map +1 -1
- package/package.json +2 -2
|
@@ -3,8 +3,61 @@ import * as os from 'node:os';
|
|
|
3
3
|
import * as path from 'node:path';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
5
|
import { success, dim } from '../output/styles.js';
|
|
6
|
+
import { normalizeTarget, invalidTargetMessage } from './ideTargets.js';
|
|
7
|
+
import { UserError } from '../utils/errors.js';
|
|
6
8
|
const __filename = fileURLToPath(import.meta.url);
|
|
7
9
|
const __dirname = path.dirname(__filename);
|
|
10
|
+
/**
|
|
11
|
+
* One entry per deliverable target — the `Record<CommandTarget, …>` annotation
|
|
12
|
+
* makes the compiler reject a CommandTarget without a descriptor.
|
|
13
|
+
*/
|
|
14
|
+
export const COMMAND_TARGETS = {
|
|
15
|
+
claude: {
|
|
16
|
+
sourceDir: 'cf',
|
|
17
|
+
localDir: '.claude/commands',
|
|
18
|
+
globalDir: () => path.join(os.homedir(), '.claude', 'commands'),
|
|
19
|
+
layout: 'flat-md',
|
|
20
|
+
invocationHint: (entry) => '/cf:' + entry.replace(/\.md$/, ''),
|
|
21
|
+
noun: 'commands',
|
|
22
|
+
label: 'Claude Code',
|
|
23
|
+
},
|
|
24
|
+
agents: {
|
|
25
|
+
sourceDir: 'codex',
|
|
26
|
+
localDir: '.agents/skills',
|
|
27
|
+
// Codex's machine-level skills directory (design D2 — live-verified before merge).
|
|
28
|
+
globalDir: () => path.join(os.homedir(), '.codex', 'skills'),
|
|
29
|
+
layout: 'skill-dirs',
|
|
30
|
+
invocationHint: (entry) => '$' + entry,
|
|
31
|
+
noun: 'skills',
|
|
32
|
+
label: 'Codex',
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
function isCommandTarget(target) {
|
|
36
|
+
return target in COMMAND_TARGETS;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Resolve user input ('claude', 'codex', 'openai', 'agents', …) to a deliverable
|
|
40
|
+
* command target. Throws UserError for unknown targets and for valid IDE targets
|
|
41
|
+
* with no command delivery (copilot, cursor) — an explicit error, not a no-op.
|
|
42
|
+
*/
|
|
43
|
+
export function resolveCommandTarget(input) {
|
|
44
|
+
const normalized = normalizeTarget(input);
|
|
45
|
+
if (!normalized) {
|
|
46
|
+
throw new UserError(invalidTargetMessage(input));
|
|
47
|
+
}
|
|
48
|
+
if (!isCommandTarget(normalized)) {
|
|
49
|
+
throw new UserError(`No command delivery exists for target '${normalized}'. ` +
|
|
50
|
+
`Commands are available for: ${Object.keys(COMMAND_TARGETS).join(', ')} (aliases: codex, openai → agents).`);
|
|
51
|
+
}
|
|
52
|
+
return normalized;
|
|
53
|
+
}
|
|
54
|
+
/** Resolve the install directory for a target and scope. Project-local is the default. */
|
|
55
|
+
export function resolveInstallDir(target, opts = {}) {
|
|
56
|
+
if (opts.targetDir)
|
|
57
|
+
return path.resolve(opts.targetDir);
|
|
58
|
+
const descriptor = COMMAND_TARGETS[target];
|
|
59
|
+
return opts.global ? descriptor.globalDir() : path.resolve(process.cwd(), descriptor.localDir);
|
|
60
|
+
}
|
|
8
61
|
/** Resolve the bundled commands/ directory relative to this script's location. */
|
|
9
62
|
export function getSourceCommandsDir() {
|
|
10
63
|
// In dist: dist/commands/commandInstaller.js → ../../commands/
|
|
@@ -15,23 +68,14 @@ export function getSourceCommandsDir() {
|
|
|
15
68
|
}
|
|
16
69
|
return resolved;
|
|
17
70
|
}
|
|
18
|
-
/**
|
|
19
|
-
|
|
20
|
-
* Creates directories as needed. Overwrites existing files (idempotent).
|
|
21
|
-
* Removes stale .md files in the target that no longer exist in the source.
|
|
22
|
-
*
|
|
23
|
-
* @returns Object with installed and removed filenames.
|
|
24
|
-
*/
|
|
25
|
-
export function installCommands(targetDir) {
|
|
26
|
-
const sourceDir = path.join(getSourceCommandsDir(), 'cf');
|
|
71
|
+
/** flat-md layout: copy cf/*.md into targetDir/cf/, prune stale managed .md files. */
|
|
72
|
+
function installFlatMd(sourceDir, targetDir) {
|
|
27
73
|
const targetCfDir = path.join(targetDir, 'cf');
|
|
28
74
|
fs.mkdirSync(targetCfDir, { recursive: true });
|
|
29
75
|
const sourceFiles = new Set(fs.readdirSync(sourceDir).filter((f) => f.endsWith('.md')));
|
|
30
|
-
// Install current files
|
|
31
76
|
for (const file of sourceFiles) {
|
|
32
77
|
fs.copyFileSync(path.join(sourceDir, file), path.join(targetCfDir, file));
|
|
33
78
|
}
|
|
34
|
-
// Remove stale files (exist in target but not in source)
|
|
35
79
|
const removed = [];
|
|
36
80
|
const targetFiles = fs.readdirSync(targetCfDir).filter((f) => f.endsWith('.md'));
|
|
37
81
|
for (const file of targetFiles) {
|
|
@@ -42,66 +86,118 @@ export function installCommands(targetDir) {
|
|
|
42
86
|
}
|
|
43
87
|
return { installed: [...sourceFiles], removed };
|
|
44
88
|
}
|
|
89
|
+
/** Names of bundled skill directories (subdirectories containing a SKILL.md). */
|
|
90
|
+
function bundledSkillNames(sourceDir) {
|
|
91
|
+
return fs
|
|
92
|
+
.readdirSync(sourceDir, { withFileTypes: true })
|
|
93
|
+
.filter((e) => e.isDirectory() && fs.existsSync(path.join(sourceDir, e.name, 'SKILL.md')))
|
|
94
|
+
.map((e) => e.name);
|
|
95
|
+
}
|
|
45
96
|
/**
|
|
46
|
-
*
|
|
47
|
-
* "Managed" =
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
97
|
+
* skill-dirs layout: copy each bundled skill directory into targetDir, then prune
|
|
98
|
+
* stale managed directories. "Managed" = `cf-` prefix AND contains a SKILL.md —
|
|
99
|
+
* the prefix marks CF ownership (the analogue of the cf/ subdirectory in the flat
|
|
100
|
+
* layout); the SKILL.md check keeps non-skill directories that merely share the
|
|
101
|
+
* prefix untouched. Other skills in the directory (e.g. the guide's workflow
|
|
102
|
+
* skills) are never touched.
|
|
52
103
|
*/
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
const
|
|
56
|
-
const
|
|
104
|
+
function installSkillDirs(sourceDir, targetDir) {
|
|
105
|
+
fs.mkdirSync(targetDir, { recursive: true });
|
|
106
|
+
const sourceSkills = new Set(bundledSkillNames(sourceDir));
|
|
107
|
+
for (const skill of sourceSkills) {
|
|
108
|
+
fs.cpSync(path.join(sourceDir, skill), path.join(targetDir, skill), { recursive: true });
|
|
109
|
+
}
|
|
57
110
|
const removed = [];
|
|
58
|
-
for (const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
111
|
+
for (const entry of fs.readdirSync(targetDir, { withFileTypes: true })) {
|
|
112
|
+
if (!entry.isDirectory() || !entry.name.startsWith('cf-') || sourceSkills.has(entry.name))
|
|
113
|
+
continue;
|
|
114
|
+
if (!fs.existsSync(path.join(targetDir, entry.name, 'SKILL.md')))
|
|
115
|
+
continue;
|
|
116
|
+
fs.rmSync(path.join(targetDir, entry.name), { recursive: true });
|
|
117
|
+
removed.push(entry.name);
|
|
64
118
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
119
|
+
return { installed: [...sourceSkills], removed };
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Install a target's bundled command assets into targetDir (layout per descriptor).
|
|
123
|
+
* Creates directories as needed, overwrites existing files (idempotent), and
|
|
124
|
+
* removes stale managed entries no longer present in the source.
|
|
125
|
+
*/
|
|
126
|
+
export function installCommands(target, targetDir) {
|
|
127
|
+
const descriptor = COMMAND_TARGETS[target];
|
|
128
|
+
const sourceDir = path.join(getSourceCommandsDir(), descriptor.sourceDir);
|
|
129
|
+
return descriptor.layout === 'flat-md'
|
|
130
|
+
? installFlatMd(sourceDir, targetDir)
|
|
131
|
+
: installSkillDirs(sourceDir, targetDir);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Remove managed command assets from the target.
|
|
135
|
+
* "Managed" = entries present in the bundled source for this target.
|
|
136
|
+
* Preserves user-added entries. flat-md removes cf/ if left empty; skill-dirs
|
|
137
|
+
* never removes the parent directory (it is shared with other skills).
|
|
138
|
+
* Idempotent — no error if files or directories don't exist.
|
|
139
|
+
*/
|
|
140
|
+
export function uninstallCommands(target, targetDir) {
|
|
141
|
+
const descriptor = COMMAND_TARGETS[target];
|
|
142
|
+
const sourceDir = path.join(getSourceCommandsDir(), descriptor.sourceDir);
|
|
143
|
+
const removed = [];
|
|
144
|
+
if (descriptor.layout === 'flat-md') {
|
|
145
|
+
const managedFiles = fs.readdirSync(sourceDir).filter((f) => f.endsWith('.md'));
|
|
146
|
+
const targetCfDir = path.join(targetDir, 'cf');
|
|
147
|
+
for (const file of managedFiles) {
|
|
148
|
+
const filePath = path.join(targetCfDir, file);
|
|
149
|
+
if (fs.existsSync(filePath)) {
|
|
150
|
+
fs.rmSync(filePath);
|
|
151
|
+
removed.push(file);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
if (fs.existsSync(targetCfDir) && fs.readdirSync(targetCfDir).length === 0) {
|
|
69
155
|
fs.rmdirSync(targetCfDir);
|
|
70
156
|
}
|
|
71
157
|
}
|
|
158
|
+
else {
|
|
159
|
+
for (const skill of bundledSkillNames(sourceDir)) {
|
|
160
|
+
const skillDir = path.join(targetDir, skill);
|
|
161
|
+
if (fs.existsSync(skillDir)) {
|
|
162
|
+
fs.rmSync(skillDir, { recursive: true });
|
|
163
|
+
removed.push(skill);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
72
167
|
return removed;
|
|
73
168
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
const target = targetDir ?? defaultTarget();
|
|
81
|
-
const { installed, removed } = installCommands(target);
|
|
82
|
-
console.log(success(`Installed ${installed.length} commands to ${target}/cf/`));
|
|
83
|
-
for (const file of installed) {
|
|
84
|
-
console.log(` ${dim('/cf:' + file.replace('.md', ''))}`);
|
|
169
|
+
function reportInstall(target, dir, result) {
|
|
170
|
+
const descriptor = COMMAND_TARGETS[target];
|
|
171
|
+
const installedDir = descriptor.layout === 'flat-md' ? path.join(dir, 'cf') : dir;
|
|
172
|
+
console.log(success(`Installed ${result.installed.length} ${descriptor.noun} to ${installedDir} (${descriptor.label})`));
|
|
173
|
+
for (const entry of result.installed) {
|
|
174
|
+
console.log(` ${dim(descriptor.invocationHint(entry))}`);
|
|
85
175
|
}
|
|
86
|
-
if (removed.length > 0) {
|
|
87
|
-
console.log(dim(`Removed ${removed.length} stale
|
|
176
|
+
if (result.removed.length > 0) {
|
|
177
|
+
console.log(dim(`Removed ${result.removed.length} stale ${descriptor.noun}: ${result.removed
|
|
178
|
+
.map((e) => descriptor.invocationHint(e))
|
|
179
|
+
.join(', ')}`));
|
|
88
180
|
}
|
|
89
181
|
}
|
|
182
|
+
/** Install and report for an already-resolved command target. Errors propagate. */
|
|
183
|
+
export function installCommandsForTarget(target, opts = {}) {
|
|
184
|
+
const dir = resolveInstallDir(target, opts);
|
|
185
|
+
reportInstall(target, dir, installCommands(target, dir));
|
|
186
|
+
}
|
|
187
|
+
/** Install and report, resolving the target from user input. Errors propagate. */
|
|
188
|
+
export function installCommandsAction(ide = 'claude', opts = {}) {
|
|
189
|
+
installCommandsForTarget(resolveCommandTarget(ide), opts);
|
|
190
|
+
}
|
|
90
191
|
export function registerInstallCommandsCommand(program) {
|
|
91
192
|
program
|
|
92
193
|
.command('install-commands')
|
|
93
|
-
.description('Install
|
|
94
|
-
.option('--
|
|
194
|
+
.description('Install Context Forge slash commands (Claude Code) or agent skills (Codex)')
|
|
195
|
+
.option('--ide <target>', 'IDE target: claude, agents (aliases: openai, codex)', 'claude')
|
|
196
|
+
.option('--global', 'Install to the machine-level directory instead of project-local')
|
|
197
|
+
.option('--target <dir>', 'Explicit target directory (overrides --ide/--global resolution)')
|
|
95
198
|
.action((opts) => {
|
|
96
199
|
try {
|
|
97
|
-
|
|
98
|
-
console.log(success(`Installed ${installed.length} commands to ${opts.target}/cf/`));
|
|
99
|
-
for (const file of installed) {
|
|
100
|
-
console.log(` ${dim('/cf:' + file.replace('.md', ''))}`);
|
|
101
|
-
}
|
|
102
|
-
if (removed.length > 0) {
|
|
103
|
-
console.log(dim(`Removed ${removed.length} stale command(s): ${removed.map((f) => f.replace('.md', '')).join(', ')}`));
|
|
104
|
-
}
|
|
200
|
+
installCommandsAction(opts.ide, { global: opts.global, targetDir: opts.target });
|
|
105
201
|
}
|
|
106
202
|
catch (err) {
|
|
107
203
|
console.error(`Error: ${err.message}`);
|
|
@@ -112,18 +208,23 @@ export function registerInstallCommandsCommand(program) {
|
|
|
112
208
|
export function registerUninstallCommandsCommand(program) {
|
|
113
209
|
program
|
|
114
210
|
.command('uninstall-commands')
|
|
115
|
-
.description('Remove
|
|
116
|
-
.option('--
|
|
211
|
+
.description('Remove Context Forge slash commands (Claude Code) or agent skills (Codex)')
|
|
212
|
+
.option('--ide <target>', 'IDE target: claude, agents (aliases: openai, codex)', 'claude')
|
|
213
|
+
.option('--global', 'Uninstall from the machine-level directory instead of project-local')
|
|
214
|
+
.option('--target <dir>', 'Explicit target directory (overrides --ide/--global resolution)')
|
|
117
215
|
.action((opts) => {
|
|
118
216
|
try {
|
|
119
|
-
const
|
|
217
|
+
const target = resolveCommandTarget(opts.ide);
|
|
218
|
+
const descriptor = COMMAND_TARGETS[target];
|
|
219
|
+
const dir = resolveInstallDir(target, { global: opts.global, targetDir: opts.target });
|
|
220
|
+
const removed = uninstallCommands(target, dir);
|
|
120
221
|
if (removed.length === 0) {
|
|
121
|
-
console.log(dim(
|
|
222
|
+
console.log(dim(`No ${descriptor.noun} found to remove.`));
|
|
122
223
|
}
|
|
123
224
|
else {
|
|
124
|
-
console.log(success(`Removed ${removed.length}
|
|
125
|
-
for (const
|
|
126
|
-
console.log(` ${dim(
|
|
225
|
+
console.log(success(`Removed ${removed.length} ${descriptor.noun} from ${dir}`));
|
|
226
|
+
for (const entry of removed) {
|
|
227
|
+
console.log(` ${dim(descriptor.invocationHint(entry))}`);
|
|
127
228
|
}
|
|
128
229
|
}
|
|
129
230
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandInstaller.js","sourceRoot":"","sources":["../../src/commands/commandInstaller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"commandInstaller.js","sourceRoot":"","sources":["../../src/commands/commandInstaller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared IDE-target vocabulary. Both setup-ide (IDE file generation) and
|
|
3
|
+
* commandInstaller (command/skill delivery) resolve user input through this
|
|
4
|
+
* single alias table so a target string means the same thing everywhere.
|
|
5
|
+
* Lives in its own module to keep setup-ide ⇄ commandInstaller acyclic.
|
|
6
|
+
*/
|
|
7
|
+
export type Target = 'claude' | 'copilot' | 'cursor' | 'agents';
|
|
8
|
+
/** Canonical target names — the single source for validation and help text. */
|
|
9
|
+
export declare const TARGET_NAMES: readonly Target[];
|
|
10
|
+
/** Aliases resolved to a canonical target before anything downstream sees the input. */
|
|
11
|
+
export declare const TARGET_ALIASES: Record<string, Target>;
|
|
12
|
+
/** Resolves a target string (case/whitespace-insensitive) to its canonical form, or null if unknown. */
|
|
13
|
+
export declare function normalizeTarget(input: string): Target | null;
|
|
14
|
+
/** Built from TARGET_NAMES/TARGET_ALIASES so the message can never drift from what normalizeTarget accepts. */
|
|
15
|
+
export declare function invalidTargetMessage(input: string): string;
|
|
16
|
+
//# sourceMappingURL=ideTargets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ideTargets.d.ts","sourceRoot":"","sources":["../../src/commands/ideTargets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhE,+EAA+E;AAC/E,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAA8C,CAAC;AAEzF,wFAAwF;AACxF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAyC,CAAC;AAE5F,wGAAwG;AACxG,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK5D;AAeD,+GAA+G;AAC/G,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared IDE-target vocabulary. Both setup-ide (IDE file generation) and
|
|
3
|
+
* commandInstaller (command/skill delivery) resolve user input through this
|
|
4
|
+
* single alias table so a target string means the same thing everywhere.
|
|
5
|
+
* Lives in its own module to keep setup-ide ⇄ commandInstaller acyclic.
|
|
6
|
+
*/
|
|
7
|
+
/** Canonical target names — the single source for validation and help text. */
|
|
8
|
+
export const TARGET_NAMES = ['claude', 'copilot', 'cursor', 'agents'];
|
|
9
|
+
/** Aliases resolved to a canonical target before anything downstream sees the input. */
|
|
10
|
+
export const TARGET_ALIASES = { openai: 'agents', codex: 'agents' };
|
|
11
|
+
/** Resolves a target string (case/whitespace-insensitive) to its canonical form, or null if unknown. */
|
|
12
|
+
export function normalizeTarget(input) {
|
|
13
|
+
const normalized = input.trim().toLowerCase();
|
|
14
|
+
if (TARGET_NAMES.includes(normalized))
|
|
15
|
+
return normalized;
|
|
16
|
+
if (normalized in TARGET_ALIASES)
|
|
17
|
+
return TARGET_ALIASES[normalized];
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
/** Groups TARGET_ALIASES by canonical target, e.g. "openai, codex → agents". */
|
|
21
|
+
function describeAliases() {
|
|
22
|
+
const byTarget = new Map();
|
|
23
|
+
for (const [alias, target] of Object.entries(TARGET_ALIASES)) {
|
|
24
|
+
const group = byTarget.get(target) ?? [];
|
|
25
|
+
group.push(alias);
|
|
26
|
+
byTarget.set(target, group);
|
|
27
|
+
}
|
|
28
|
+
return Array.from(byTarget.entries())
|
|
29
|
+
.map(([target, aliases]) => `${aliases.join(', ')} → ${target}`)
|
|
30
|
+
.join(', ');
|
|
31
|
+
}
|
|
32
|
+
/** Built from TARGET_NAMES/TARGET_ALIASES so the message can never drift from what normalizeTarget accepts. */
|
|
33
|
+
export function invalidTargetMessage(input) {
|
|
34
|
+
return `Invalid target '${input}'. Valid targets: ${TARGET_NAMES.join(', ')} (aliases: ${describeAliases()})`;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=ideTargets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ideTargets.js","sourceRoot":"","sources":["../../src/commands/ideTargets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,+EAA+E;AAC/E,MAAM,CAAC,MAAM,YAAY,GAAsB,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAEzF,wFAAwF;AACxF,MAAM,CAAC,MAAM,cAAc,GAA2B,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAE5F,wGAAwG;AACxG,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAK,YAAkC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,UAAoB,CAAC;IAC1F,IAAI,UAAU,IAAI,cAAc;QAAE,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;IACpE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,SAAS,eAAe;IACtB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7C,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC7D,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,MAAM,EAAE,CAAC;SAC/D,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,+GAA+G;AAC/G,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAO,mBAAmB,KAAK,qBAAqB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,eAAe,EAAE,GAAG,CAAC;AAChH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4DpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4DpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0G1D"}
|
package/dist/commands/init.js
CHANGED
|
@@ -117,13 +117,23 @@ export function registerInitCommand(program) {
|
|
|
117
117
|
console.log(warn(`Guides install failed: ${msg}`));
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
|
-
// Step 3: Install commands
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
120
|
+
// Step 3: Install commands/skills for the chosen IDE target, machine-level
|
|
121
|
+
// (preserves the pre-slice-924 behavior of a global Claude install; a
|
|
122
|
+
// project-local install is available via `cf install-commands` directly).
|
|
123
|
+
// --no-ide skips delivery entirely; targets without command delivery
|
|
124
|
+
// (copilot, cursor) and invalid targets skip silently here — Step 4
|
|
125
|
+
// reports invalid targets with the full message.
|
|
126
|
+
if (opts.ide !== false) {
|
|
127
|
+
const ideTarget = typeof opts.ide === 'string' ? opts.ide : 'claude';
|
|
128
|
+
const normalizedIde = normalizeTarget(ideTarget);
|
|
129
|
+
if (normalizedIde === 'claude' || normalizedIde === 'agents') {
|
|
130
|
+
try {
|
|
131
|
+
installCommandsAction(normalizedIde, { global: true });
|
|
132
|
+
}
|
|
133
|
+
catch (err) {
|
|
134
|
+
console.log(warn(`Command install failed: ${err.message}`));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
127
137
|
}
|
|
128
138
|
// Step 4: IDE setup (--no-ide sets opts.ide to false via commander negation)
|
|
129
139
|
if (opts.ide !== false) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import type { ProjectData } from '@context-forge/core';
|
|
3
|
-
|
|
3
|
+
import { type Target } from './ideTargets.js';
|
|
4
|
+
export { normalizeTarget, invalidTargetMessage, TARGET_ALIASES, type Target } from './ideTargets.js';
|
|
4
5
|
export interface TargetDescriptor {
|
|
5
6
|
/** Files probed for the managed marker; also the files backed up before overwrite. */
|
|
6
7
|
markerFiles: string[];
|
|
@@ -15,12 +16,6 @@ export interface TargetDescriptor {
|
|
|
15
16
|
* the compiler reject a target added to the `Target` union without an entry here.
|
|
16
17
|
*/
|
|
17
18
|
export declare const TARGETS: Record<Target, TargetDescriptor>;
|
|
18
|
-
/** Aliases resolved to a canonical target before anything downstream sees the input. */
|
|
19
|
-
export declare const TARGET_ALIASES: Record<string, Target>;
|
|
20
|
-
/** Resolves a target string (case/whitespace-insensitive) to its canonical form, or null if unknown. */
|
|
21
|
-
export declare function normalizeTarget(input: string): Target | null;
|
|
22
|
-
/** Built from TARGETS/TARGET_ALIASES so the message can never drift from what normalizeTarget accepts. */
|
|
23
|
-
export declare function invalidTargetMessage(input: string): string;
|
|
24
19
|
export declare const MANAGED_MARKER = "[//]: # (context-forge:managed)";
|
|
25
20
|
/**
|
|
26
21
|
* Returns true if any of the given (root-relative, `/`-separated) files exists
|
|
@@ -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;AAEpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKvD,
|
|
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;AAEpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKvD,OAAO,EAAyC,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAIrF,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,cAAc,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAErG,MAAM,WAAW,gBAAgB;IAC/B,sFAAsF;IACtF,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,oDAAoD;IACpD,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAqBpD,CAAC;AAaF,eAAO,MAAM,cAAc,oCAAoC,CAAC;AAEhE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAYpF;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,CAwEf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAyC/E;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6C9D"}
|
|
@@ -6,6 +6,10 @@ 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
|
+
import { normalizeTarget, invalidTargetMessage } from './ideTargets.js';
|
|
10
|
+
import { installCommandsForTarget } from './commandInstaller.js';
|
|
11
|
+
// Re-exported so existing importers (tests, init.ts) keep one import site.
|
|
12
|
+
export { normalizeTarget, invalidTargetMessage, TARGET_ALIASES } from './ideTargets.js';
|
|
9
13
|
/**
|
|
10
14
|
* One definition per target drives validation, the managed-marker check, backup,
|
|
11
15
|
* and worktree propagation. The `Record<Target, TargetDescriptor>` annotation makes
|
|
@@ -33,33 +37,6 @@ export const TARGETS = {
|
|
|
33
37
|
label: 'agents',
|
|
34
38
|
},
|
|
35
39
|
};
|
|
36
|
-
/** Aliases resolved to a canonical target before anything downstream sees the input. */
|
|
37
|
-
export const TARGET_ALIASES = { openai: 'agents', codex: 'agents' };
|
|
38
|
-
/** Resolves a target string (case/whitespace-insensitive) to its canonical form, or null if unknown. */
|
|
39
|
-
export function normalizeTarget(input) {
|
|
40
|
-
const normalized = input.trim().toLowerCase();
|
|
41
|
-
if (normalized in TARGETS)
|
|
42
|
-
return normalized;
|
|
43
|
-
if (normalized in TARGET_ALIASES)
|
|
44
|
-
return TARGET_ALIASES[normalized];
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
/** Groups TARGET_ALIASES by canonical target, e.g. "openai, codex → agents". */
|
|
48
|
-
function describeAliases() {
|
|
49
|
-
const byTarget = new Map();
|
|
50
|
-
for (const [alias, target] of Object.entries(TARGET_ALIASES)) {
|
|
51
|
-
const group = byTarget.get(target) ?? [];
|
|
52
|
-
group.push(alias);
|
|
53
|
-
byTarget.set(target, group);
|
|
54
|
-
}
|
|
55
|
-
return Array.from(byTarget.entries())
|
|
56
|
-
.map(([target, aliases]) => `${aliases.join(', ')} → ${target}`)
|
|
57
|
-
.join(', ');
|
|
58
|
-
}
|
|
59
|
-
/** Built from TARGETS/TARGET_ALIASES so the message can never drift from what normalizeTarget accepts. */
|
|
60
|
-
export function invalidTargetMessage(input) {
|
|
61
|
-
return `Invalid target '${input}'. Valid targets: ${Object.keys(TARGETS).join(', ')} (aliases: ${describeAliases()})`;
|
|
62
|
-
}
|
|
63
40
|
/** Prompt user for y/N confirmation via stdin. Returns true if confirmed. */
|
|
64
41
|
function askConfirmation(prompt) {
|
|
65
42
|
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
@@ -229,6 +206,12 @@ export function registerSetupIdeCommand(program) {
|
|
|
229
206
|
}
|
|
230
207
|
await setupIdeAction(project.projectPath, normalizedTarget, { yes: opts.yes });
|
|
231
208
|
propagateToWorktrees(project, normalizedTarget);
|
|
209
|
+
// Command/skill delivery: setup-ide is a machine-level operation, so it
|
|
210
|
+
// installs to the global directory (design D5). Targets without command
|
|
211
|
+
// delivery (copilot, cursor) skip this step silently.
|
|
212
|
+
if (normalizedTarget === 'claude' || normalizedTarget === 'agents') {
|
|
213
|
+
installCommandsForTarget(normalizedTarget, { global: true });
|
|
214
|
+
}
|
|
232
215
|
}
|
|
233
216
|
catch (err) {
|
|
234
217
|
handleError(err);
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"setup-ide.js","sourceRoot":"","sources":["../../src/commands/setup-ide.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8JpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwB9D"}
|