@stackbilt/cli 0.5.0 → 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/dist/__tests__/integration/evidence-contracts.test.d.ts +9 -0
- package/dist/__tests__/integration/evidence-contracts.test.d.ts.map +1 -0
- package/dist/__tests__/integration/evidence-contracts.test.js +203 -0
- package/dist/__tests__/integration/evidence-contracts.test.js.map +1 -0
- package/dist/__tests__/integration/precommit-hook.test.d.ts +12 -0
- package/dist/__tests__/integration/precommit-hook.test.d.ts.map +1 -0
- package/dist/__tests__/integration/precommit-hook.test.js +270 -0
- package/dist/__tests__/integration/precommit-hook.test.js.map +1 -0
- package/dist/__tests__/integration/sync-bundle.test.d.ts +10 -0
- package/dist/__tests__/integration/sync-bundle.test.d.ts.map +1 -0
- package/dist/__tests__/integration/sync-bundle.test.js +241 -0
- package/dist/__tests__/integration/sync-bundle.test.js.map +1 -0
- package/dist/__tests__/integration/vendor-bloat.test.d.ts +12 -0
- package/dist/__tests__/integration/vendor-bloat.test.d.ts.map +1 -0
- package/dist/__tests__/integration/vendor-bloat.test.js +300 -0
- package/dist/__tests__/integration/vendor-bloat.test.js.map +1 -0
- package/dist/commands/adf-evidence.d.ts.map +1 -1
- package/dist/commands/adf-evidence.js +35 -66
- package/dist/commands/adf-evidence.js.map +1 -1
- package/dist/commands/adf-migrate.d.ts +17 -0
- package/dist/commands/adf-migrate.d.ts.map +1 -1
- package/dist/commands/adf-migrate.js +24 -2
- package/dist/commands/adf-migrate.js.map +1 -1
- package/dist/commands/adf-tidy.d.ts +10 -0
- package/dist/commands/adf-tidy.d.ts.map +1 -0
- package/dist/commands/adf-tidy.js +547 -0
- package/dist/commands/adf-tidy.js.map +1 -0
- package/dist/commands/adf.d.ts +9 -3
- package/dist/commands/adf.d.ts.map +1 -1
- package/dist/commands/adf.js +87 -23
- package/dist/commands/adf.js.map +1 -1
- package/dist/commands/bootstrap.d.ts.map +1 -1
- package/dist/commands/bootstrap.js +137 -25
- package/dist/commands/bootstrap.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +98 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/hook.d.ts.map +1 -1
- package/dist/commands/hook.js +38 -4
- package/dist/commands/hook.js.map +1 -1
- package/dist/commands/init.d.ts +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +27 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/serve.d.ts +14 -0
- package/dist/commands/serve.d.ts.map +1 -0
- package/dist/commands/serve.js +253 -0
- package/dist/commands/serve.js.map +1 -0
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +69 -2
- package/dist/commands/setup.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/package.json +9 -8
package/dist/commands/adf.js
CHANGED
|
@@ -38,7 +38,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
38
38
|
};
|
|
39
39
|
})();
|
|
40
40
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
-
exports.POINTER_AGENTS_MD = exports.POINTER_CURSORRULES = exports.POINTER_CLAUDE_MD = exports.POINTER_MARKERS = exports.BACKEND_SCAFFOLD = exports.FRONTEND_SCAFFOLD = exports.STATE_SCAFFOLD = exports.CORE_SCAFFOLD = exports.MANIFEST_SCAFFOLD = void 0;
|
|
41
|
+
exports.POINTER_COPILOT_MD = exports.POINTER_GEMINI_MD = exports.POINTER_AGENTS_MD = exports.POINTER_CURSORRULES = exports.POINTER_CLAUDE_MD = exports.POINTER_MARKERS = exports.MANIFEST_DOCS_SCAFFOLD = exports.CONTENT_SCAFFOLD = exports.PLANNING_SCAFFOLD = exports.DECISIONS_SCAFFOLD = exports.BACKEND_SCAFFOLD = exports.FRONTEND_SCAFFOLD = exports.STATE_SCAFFOLD = exports.CORE_SCAFFOLD = exports.MANIFEST_SCAFFOLD = void 0;
|
|
42
42
|
exports.adfCommand = adfCommand;
|
|
43
43
|
const fs = __importStar(require("node:fs"));
|
|
44
44
|
const path = __importStar(require("node:path"));
|
|
@@ -50,6 +50,7 @@ const adf_bundle_1 = require("./adf-bundle");
|
|
|
50
50
|
const adf_sync_1 = require("./adf-sync");
|
|
51
51
|
const adf_evidence_1 = require("./adf-evidence");
|
|
52
52
|
const adf_metrics_1 = require("./adf-metrics");
|
|
53
|
+
const adf_tidy_1 = require("./adf-tidy");
|
|
53
54
|
// ============================================================================
|
|
54
55
|
// Scaffold Content
|
|
55
56
|
// ============================================================================
|
|
@@ -103,6 +104,45 @@ exports.BACKEND_SCAFFOLD = `ADF: 0.1
|
|
|
103
104
|
- Backend module scaffold
|
|
104
105
|
- Add service/API/database constraints and operational rules
|
|
105
106
|
`;
|
|
107
|
+
exports.DECISIONS_SCAFFOLD = `ADF: 0.1
|
|
108
|
+
\u{1F4CB} CONTEXT:
|
|
109
|
+
- Decisions module scaffold
|
|
110
|
+
- Record architectural decision rationale and outcomes
|
|
111
|
+
`;
|
|
112
|
+
exports.PLANNING_SCAFFOLD = `ADF: 0.1
|
|
113
|
+
\u{1F4CB} CONTEXT:
|
|
114
|
+
- Planning module scaffold
|
|
115
|
+
- Track project phases, milestones, and sequencing
|
|
116
|
+
`;
|
|
117
|
+
exports.CONTENT_SCAFFOLD = `ADF: 0.1
|
|
118
|
+
\u{1F4CB} CONTEXT:
|
|
119
|
+
- Content module scaffold
|
|
120
|
+
- Add Markdown/MDX authoring conventions, frontmatter schema, and doc linting rules
|
|
121
|
+
|
|
122
|
+
\u26A0\uFE0F CONSTRAINTS [load-bearing]:
|
|
123
|
+
- All pages must include required frontmatter fields (title, description)
|
|
124
|
+
- Use MDX for pages that require interactive components
|
|
125
|
+
|
|
126
|
+
\u{1F4CB} ADVISORY:
|
|
127
|
+
- Prefer flat URL structures; avoid deep nesting beyond 3 levels
|
|
128
|
+
- Include alt text on all images
|
|
129
|
+
`;
|
|
130
|
+
exports.MANIFEST_DOCS_SCAFFOLD = `ADF: 0.1
|
|
131
|
+
\u{1F3AF} ROLE: Documentation workspace context router
|
|
132
|
+
|
|
133
|
+
\u{1F4E6} DEFAULT_LOAD:
|
|
134
|
+
- core.adf
|
|
135
|
+
- state.adf
|
|
136
|
+
|
|
137
|
+
\u{1F4C2} ON_DEMAND:
|
|
138
|
+
- content.adf (Triggers on: Markdown, MDX, frontmatter, content, Astro, navigation, docs, authoring)
|
|
139
|
+
- decisions.adf (Triggers on: ADR, decision, rationale, architecture)
|
|
140
|
+
- planning.adf (Triggers on: plan, milestone, phase, roadmap)
|
|
141
|
+
|
|
142
|
+
\u{1F4D0} RULES:
|
|
143
|
+
- Prefer smallest relevant module set.
|
|
144
|
+
- Never assume unseen modules were loaded.
|
|
145
|
+
`;
|
|
106
146
|
// ============================================================================
|
|
107
147
|
// Dispatcher
|
|
108
148
|
// ============================================================================
|
|
@@ -130,10 +170,12 @@ async function adfCommand(options, args) {
|
|
|
130
170
|
return (0, adf_evidence_1.adfEvidence)(options, restArgs);
|
|
131
171
|
case 'migrate':
|
|
132
172
|
return (0, adf_migrate_1.adfMigrateCommand)(options, restArgs);
|
|
173
|
+
case 'tidy':
|
|
174
|
+
return (0, adf_tidy_1.adfTidyCommand)(options, restArgs);
|
|
133
175
|
case 'metrics':
|
|
134
176
|
return (0, adf_metrics_1.adfMetricsCommand)(options, restArgs);
|
|
135
177
|
default:
|
|
136
|
-
throw new index_1.CLIError(`Unknown adf subcommand: ${subcommand}. Supported: init, fmt, patch, create, bundle, sync, evidence, migrate, metrics`);
|
|
178
|
+
throw new index_1.CLIError(`Unknown adf subcommand: ${subcommand}. Supported: init, fmt, patch, create, bundle, sync, evidence, migrate, tidy, metrics`);
|
|
137
179
|
}
|
|
138
180
|
}
|
|
139
181
|
// -- Thin pointer detection markers --
|
|
@@ -142,42 +184,52 @@ exports.POINTER_MARKERS = [
|
|
|
142
184
|
'Do not duplicate ADF rules here',
|
|
143
185
|
'Do not duplicate rules from .ai/',
|
|
144
186
|
'Do not add stack rules here',
|
|
187
|
+
'DO NOT add rules, constraints, or context to this file',
|
|
188
|
+
'DO NOT modify this file. All project rules are managed in .ai/',
|
|
189
|
+
'DO NOT add instructions to this file',
|
|
190
|
+
'DO NOT add rules or context to this file',
|
|
145
191
|
];
|
|
146
192
|
// -- Thin pointer file content --
|
|
147
|
-
exports.POINTER_CLAUDE_MD = `#
|
|
148
|
-
|
|
149
|
-
> This project uses [ADF](https://github.com/Stackbilt-dev/charter) for AI agent context management.
|
|
150
|
-
> All stack rules, constraints, and architectural guidance live in \`.ai/\`.
|
|
151
|
-
> **Do not duplicate ADF rules here.** Only pre-ADF bootstrap content belongs in this file.
|
|
193
|
+
exports.POINTER_CLAUDE_MD = `# CLAUDE.md
|
|
152
194
|
|
|
153
|
-
|
|
195
|
+
> **DO NOT add rules, constraints, or context to this file.**
|
|
196
|
+
> This file is auto-managed by Charter. All project rules live in \`.ai/\`.
|
|
197
|
+
> New rules should be added to the appropriate \`.ai/*.adf\` module.
|
|
198
|
+
> See \`.ai/manifest.adf\` for the module routing manifest.
|
|
154
199
|
|
|
155
200
|
## Environment
|
|
156
201
|
<!-- Add runtime/OS/shell-specific notes here (not stack rules) -->
|
|
157
202
|
`;
|
|
158
|
-
exports.POINTER_CURSORRULES =
|
|
159
|
-
|
|
160
|
-
This project uses ADF (Attention-Directed Format) for context management.
|
|
161
|
-
All rules and constraints are in .ai/ \u2014 see .ai/manifest.adf for routing.
|
|
162
|
-
|
|
163
|
-
Do not add stack rules here. This file exists only as a pointer.
|
|
164
|
-
See: .ai/core.adf for universal constraints.
|
|
203
|
+
exports.POINTER_CURSORRULES = `DO NOT modify this file. All project rules are managed in .ai/ by Charter.
|
|
204
|
+
See .ai/manifest.adf for the module routing manifest.
|
|
165
205
|
`;
|
|
166
|
-
exports.POINTER_AGENTS_MD = `#
|
|
167
|
-
|
|
168
|
-
This project uses ADF for structured agent context.
|
|
169
|
-
All architectural rules, constraints, and guidance live in \`.ai/\`.
|
|
206
|
+
exports.POINTER_AGENTS_MD = `# agents.md
|
|
170
207
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
208
|
+
> **DO NOT add instructions to this file.**
|
|
209
|
+
> All agent instructions are managed in \`.ai/\` by Charter.
|
|
210
|
+
> See \`.ai/manifest.adf\` for the module routing manifest.
|
|
211
|
+
`;
|
|
212
|
+
exports.POINTER_GEMINI_MD = `# GEMINI.md
|
|
174
213
|
|
|
175
|
-
|
|
214
|
+
> **DO NOT add rules or context to this file.**
|
|
215
|
+
> All project rules are managed in \`.ai/\` by Charter.
|
|
216
|
+
> See \`.ai/manifest.adf\` for the module routing manifest.
|
|
217
|
+
`;
|
|
218
|
+
exports.POINTER_COPILOT_MD = `DO NOT modify this file. All project rules are managed in .ai/ by Charter.
|
|
219
|
+
See .ai/manifest.adf for the module routing manifest.
|
|
176
220
|
`;
|
|
177
221
|
function adfInit(options, args) {
|
|
178
222
|
const force = options.yes || args.includes('--force');
|
|
179
223
|
const aiDir = (0, flags_1.getFlag)(args, '--ai-dir') || '.ai';
|
|
224
|
+
const moduleFlag = (0, flags_1.getFlag)(args, '--module');
|
|
180
225
|
const manifestPath = path.join(aiDir, 'manifest.adf');
|
|
226
|
+
// --module: additive single-module creation — delegate to adf create
|
|
227
|
+
if (moduleFlag) {
|
|
228
|
+
if (!fs.existsSync(manifestPath)) {
|
|
229
|
+
throw new index_1.CLIError(`manifest.adf not found at ${manifestPath}. Run 'charter adf init' first to scaffold .ai/.`);
|
|
230
|
+
}
|
|
231
|
+
return adfCreate(options, [moduleFlag, '--ai-dir', aiDir]);
|
|
232
|
+
}
|
|
181
233
|
if (fs.existsSync(manifestPath) && !force) {
|
|
182
234
|
const result = { created: false, aiDir, files: [] };
|
|
183
235
|
if (options.format === 'json') {
|
|
@@ -186,6 +238,7 @@ function adfInit(options, args) {
|
|
|
186
238
|
else {
|
|
187
239
|
console.log(` .ai/ already exists at ${aiDir}/`);
|
|
188
240
|
console.log(' Use --force (or --yes) to overwrite.');
|
|
241
|
+
console.log(' To add a single module: charter adf init --module <name>');
|
|
189
242
|
}
|
|
190
243
|
return index_1.EXIT_CODE.SUCCESS;
|
|
191
244
|
}
|
|
@@ -207,6 +260,8 @@ function adfInit(options, args) {
|
|
|
207
260
|
{ file: 'CLAUDE.md', content: exports.POINTER_CLAUDE_MD, label: 'CLAUDE.md (thin pointer)' },
|
|
208
261
|
{ file: '.cursorrules', content: exports.POINTER_CURSORRULES, label: '.cursorrules (thin pointer)' },
|
|
209
262
|
{ file: 'agents.md', content: exports.POINTER_AGENTS_MD, label: 'agents.md (thin pointer)' },
|
|
263
|
+
{ file: 'GEMINI.md', content: exports.POINTER_GEMINI_MD, label: 'GEMINI.md (thin pointer)' },
|
|
264
|
+
{ file: 'copilot-instructions.md', content: exports.POINTER_COPILOT_MD, label: 'copilot-instructions.md (thin pointer)' },
|
|
210
265
|
];
|
|
211
266
|
const createdPointers = [];
|
|
212
267
|
const skippedPointers = [];
|
|
@@ -254,6 +309,8 @@ function adfInit(options, args) {
|
|
|
254
309
|
console.log(' 1. Edit core.adf with your universal repo rules');
|
|
255
310
|
console.log(' 2. Edit frontend.adf/backend.adf stubs or replace with domain modules');
|
|
256
311
|
console.log(' 3. Run: charter adf fmt .ai/core.adf --check');
|
|
312
|
+
console.log(' 4. Run: charter adf bundle --task "<your task>" to compile context for an agent session');
|
|
313
|
+
console.log(' (The verify:adf script runs this automatically in CI)');
|
|
257
314
|
}
|
|
258
315
|
return index_1.EXIT_CODE.SUCCESS;
|
|
259
316
|
}
|
|
@@ -469,6 +526,7 @@ function printHelp() {
|
|
|
469
526
|
console.log(' Usage:');
|
|
470
527
|
console.log(' charter adf init [--ai-dir <dir>] [--force] [--emit-pointers]');
|
|
471
528
|
console.log(' Scaffold .ai/ directory with manifest, core, and state modules.');
|
|
529
|
+
console.log(' --module <name>: add a single module to an existing .ai/ (additive, no overwrite)');
|
|
472
530
|
console.log(' --emit-pointers: also generate thin pointer files (CLAUDE.md, .cursorrules, agents.md)');
|
|
473
531
|
console.log('');
|
|
474
532
|
console.log(' charter adf fmt <file> [--check] [--write]');
|
|
@@ -519,6 +577,12 @@ function printHelp() {
|
|
|
519
577
|
console.log(' --no-backup: skip creating .pre-adf-migrate.bak backups');
|
|
520
578
|
console.log(' --merge-strategy: append (always add), dedupe (skip duplicates, default), replace');
|
|
521
579
|
console.log('');
|
|
580
|
+
console.log(' charter adf tidy [--dry-run] [--source <file>] [--ai-dir <dir>] [--ci]');
|
|
581
|
+
console.log(' Scan vendor config files for content added beyond the thin pointer,');
|
|
582
|
+
console.log(' classify and route to ADF modules, restore thin pointer.');
|
|
583
|
+
console.log(' --dry-run: preview without modifying files');
|
|
584
|
+
console.log(' --ci: exit 1 if bloat found (with --dry-run, for pre-commit gating)');
|
|
585
|
+
console.log('');
|
|
522
586
|
console.log(' charter adf metrics recalibrate [--headroom <percent>] [--reason "<text>"|--auto-rationale] [--dry-run]');
|
|
523
587
|
console.log(' Recalibrate metric baselines/ceilings from current LOC with required rationale.');
|
|
524
588
|
console.log('');
|
package/dist/commands/adf.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adf.js","sourceRoot":"","sources":["../../src/commands/adf.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adf.js","sourceRoot":"","sources":["../../src/commands/adf.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AA4D3C,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA8L3F"}
|
|
@@ -53,6 +53,7 @@ const setup_1 = require("./setup");
|
|
|
53
53
|
const adf_2 = require("./adf");
|
|
54
54
|
const config_1 = require("../config");
|
|
55
55
|
const adf_3 = require("@stackbilt/adf");
|
|
56
|
+
const adf_migrate_1 = require("./adf-migrate");
|
|
56
57
|
// ============================================================================
|
|
57
58
|
// Command Entry
|
|
58
59
|
// ============================================================================
|
|
@@ -66,7 +67,7 @@ async function bootstrapCommand(options, args) {
|
|
|
66
67
|
throw new index_1.CLIError(`Unsupported CI target: ${ciTarget}. Supported: github`);
|
|
67
68
|
}
|
|
68
69
|
if (presetFlag && !isValidPreset(presetFlag)) {
|
|
69
|
-
throw new index_1.CLIError(`Invalid --preset value: ${presetFlag}. Use worker|frontend|backend|fullstack.`);
|
|
70
|
+
throw new index_1.CLIError(`Invalid --preset value: ${presetFlag}. Use worker|frontend|backend|fullstack|docs.`);
|
|
70
71
|
}
|
|
71
72
|
const result = {
|
|
72
73
|
status: 'success',
|
|
@@ -86,7 +87,7 @@ async function bootstrapCommand(options, args) {
|
|
|
86
87
|
const contexts = detectResult.contexts;
|
|
87
88
|
const packageManager = detectResult.packageManager;
|
|
88
89
|
if (options.format === 'text') {
|
|
89
|
-
console.log('[1/
|
|
90
|
+
console.log('[1/6] Detecting stack...');
|
|
90
91
|
console.log(` Stack: ${selectedPreset} (${detection.confidence} confidence)`);
|
|
91
92
|
console.log(` Monorepo: ${detection.monorepo ? 'yes' : 'no'}${detection.monorepo && detection.signals.hasPnpm ? ' (pnpm workspace)' : ''}`);
|
|
92
93
|
if (detection.warnings.length > 0) {
|
|
@@ -104,7 +105,7 @@ async function bootstrapCommand(options, args) {
|
|
|
104
105
|
if (setupResult.step.status === 'fail')
|
|
105
106
|
warnings++;
|
|
106
107
|
if (options.format === 'text') {
|
|
107
|
-
console.log('[2/
|
|
108
|
+
console.log('[2/6] Setting up governance...');
|
|
108
109
|
for (const f of (setupResult.step.details.created || [])) {
|
|
109
110
|
console.log(` Created ${f}`);
|
|
110
111
|
}
|
|
@@ -116,12 +117,12 @@ async function bootstrapCommand(options, args) {
|
|
|
116
117
|
// ========================================================================
|
|
117
118
|
// Phase 3: ADF Init
|
|
118
119
|
// ========================================================================
|
|
119
|
-
const adfResult = runAdfInitPhase(options, force);
|
|
120
|
+
const adfResult = runAdfInitPhase(options, force, selectedPreset);
|
|
120
121
|
result.steps.push(adfResult.step);
|
|
121
122
|
if (adfResult.step.status === 'fail')
|
|
122
123
|
warnings++;
|
|
123
124
|
if (options.format === 'text') {
|
|
124
|
-
console.log('[3/
|
|
125
|
+
console.log('[3/6] Initializing ADF context...');
|
|
125
126
|
for (const f of (adfResult.step.details.files || [])) {
|
|
126
127
|
console.log(` Created ${f}`);
|
|
127
128
|
}
|
|
@@ -131,14 +132,37 @@ async function bootstrapCommand(options, args) {
|
|
|
131
132
|
console.log('');
|
|
132
133
|
}
|
|
133
134
|
// ========================================================================
|
|
134
|
-
// Phase 4:
|
|
135
|
+
// Phase 4: Migrate Agent Configs
|
|
136
|
+
// ========================================================================
|
|
137
|
+
const migrateResult = runMigratePhase(options, force);
|
|
138
|
+
result.steps.push(migrateResult.step);
|
|
139
|
+
if (migrateResult.step.status === 'fail')
|
|
140
|
+
warnings++;
|
|
141
|
+
if (options.format === 'text') {
|
|
142
|
+
console.log('[4/6] Migrating agent configs...');
|
|
143
|
+
if (migrateResult.step.status === 'skip') {
|
|
144
|
+
console.log(' Skipped (no migratable files)');
|
|
145
|
+
}
|
|
146
|
+
else if (migrateResult.step.details.dryRun) {
|
|
147
|
+
for (const w of migrateResult.step.warnings) {
|
|
148
|
+
console.log(` ${w}`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
const migrated = migrateResult.step.details.migrated;
|
|
153
|
+
console.log(` Migrated ${migrated} file(s)`);
|
|
154
|
+
}
|
|
155
|
+
console.log('');
|
|
156
|
+
}
|
|
157
|
+
// ========================================================================
|
|
158
|
+
// Phase 5: Install
|
|
135
159
|
// ========================================================================
|
|
136
160
|
const installResult = runInstallPhase(options, skipInstall);
|
|
137
161
|
result.steps.push(installResult.step);
|
|
138
162
|
if (installResult.step.status === 'fail')
|
|
139
163
|
warnings++;
|
|
140
164
|
if (options.format === 'text') {
|
|
141
|
-
console.log('[
|
|
165
|
+
console.log('[5/6] Installing dependencies...');
|
|
142
166
|
if (skipInstall) {
|
|
143
167
|
console.log(' Skipped (--skip-install)');
|
|
144
168
|
}
|
|
@@ -161,14 +185,14 @@ async function bootstrapCommand(options, args) {
|
|
|
161
185
|
console.log('');
|
|
162
186
|
}
|
|
163
187
|
// ========================================================================
|
|
164
|
-
// Phase
|
|
188
|
+
// Phase 6: Doctor
|
|
165
189
|
// ========================================================================
|
|
166
190
|
const doctorResult = runDoctorPhase(options, skipDoctor);
|
|
167
191
|
result.steps.push(doctorResult.step);
|
|
168
192
|
if (doctorResult.step.status === 'fail')
|
|
169
193
|
warnings++;
|
|
170
194
|
if (options.format === 'text') {
|
|
171
|
-
console.log('[
|
|
195
|
+
console.log('[6/6] Running health check...');
|
|
172
196
|
if (skipDoctor) {
|
|
173
197
|
console.log(' Skipped (--skip-doctor)');
|
|
174
198
|
}
|
|
@@ -360,7 +384,23 @@ function runSetupPhase(options, selectedPreset, detection, contexts, ciTarget, p
|
|
|
360
384
|
// ============================================================================
|
|
361
385
|
// Phase 3: ADF Init
|
|
362
386
|
// ============================================================================
|
|
363
|
-
function
|
|
387
|
+
function writeAdfScaffolds(aiDir, preset) {
|
|
388
|
+
const isDocsPreset = preset === 'docs';
|
|
389
|
+
fs.mkdirSync(aiDir, { recursive: true });
|
|
390
|
+
fs.writeFileSync(path.join(aiDir, 'manifest.adf'), isDocsPreset ? adf_2.MANIFEST_DOCS_SCAFFOLD : adf_2.MANIFEST_SCAFFOLD);
|
|
391
|
+
fs.writeFileSync(path.join(aiDir, 'core.adf'), adf_2.CORE_SCAFFOLD);
|
|
392
|
+
fs.writeFileSync(path.join(aiDir, 'state.adf'), adf_2.STATE_SCAFFOLD);
|
|
393
|
+
if (isDocsPreset) {
|
|
394
|
+
fs.writeFileSync(path.join(aiDir, 'content.adf'), adf_2.CONTENT_SCAFFOLD);
|
|
395
|
+
fs.writeFileSync(path.join(aiDir, 'decisions.adf'), adf_2.DECISIONS_SCAFFOLD);
|
|
396
|
+
fs.writeFileSync(path.join(aiDir, 'planning.adf'), adf_2.PLANNING_SCAFFOLD);
|
|
397
|
+
return ['.ai/manifest.adf', '.ai/core.adf', '.ai/state.adf', '.ai/content.adf', '.ai/decisions.adf', '.ai/planning.adf'];
|
|
398
|
+
}
|
|
399
|
+
fs.writeFileSync(path.join(aiDir, 'frontend.adf'), adf_2.FRONTEND_SCAFFOLD);
|
|
400
|
+
fs.writeFileSync(path.join(aiDir, 'backend.adf'), adf_2.BACKEND_SCAFFOLD);
|
|
401
|
+
return ['.ai/manifest.adf', '.ai/core.adf', '.ai/state.adf', '.ai/frontend.adf', '.ai/backend.adf'];
|
|
402
|
+
}
|
|
403
|
+
function runAdfInitPhase(options, force, preset) {
|
|
364
404
|
const warnings = [];
|
|
365
405
|
const files = [];
|
|
366
406
|
const pointers = [];
|
|
@@ -371,12 +411,8 @@ function runAdfInitPhase(options, force) {
|
|
|
371
411
|
const alreadyExists = fs.existsSync(manifestPath);
|
|
372
412
|
const hasCustomContent = alreadyExists && hasCustomAdfContent(aiDir);
|
|
373
413
|
if (!alreadyExists) {
|
|
374
|
-
// Greenfield: write scaffolds
|
|
375
|
-
|
|
376
|
-
fs.writeFileSync(path.join(aiDir, 'manifest.adf'), adf_2.MANIFEST_SCAFFOLD);
|
|
377
|
-
fs.writeFileSync(path.join(aiDir, 'core.adf'), adf_2.CORE_SCAFFOLD);
|
|
378
|
-
fs.writeFileSync(path.join(aiDir, 'state.adf'), adf_2.STATE_SCAFFOLD);
|
|
379
|
-
files.push('.ai/manifest.adf', '.ai/core.adf', '.ai/state.adf');
|
|
414
|
+
// Greenfield: write scaffolds (preset-aware on-demand modules)
|
|
415
|
+
files.push(...writeAdfScaffolds(aiDir, preset));
|
|
380
416
|
// Write .adf.lock
|
|
381
417
|
const lockData = {};
|
|
382
418
|
for (const mod of ['core.adf', 'state.adf']) {
|
|
@@ -392,12 +428,8 @@ function runAdfInitPhase(options, force) {
|
|
|
392
428
|
warnings.push("Run 'charter adf migrate' to consolidate agent configs into ADF");
|
|
393
429
|
}
|
|
394
430
|
else if (force) {
|
|
395
|
-
// Force overwrite
|
|
396
|
-
|
|
397
|
-
fs.writeFileSync(path.join(aiDir, 'manifest.adf'), adf_2.MANIFEST_SCAFFOLD);
|
|
398
|
-
fs.writeFileSync(path.join(aiDir, 'core.adf'), adf_2.CORE_SCAFFOLD);
|
|
399
|
-
fs.writeFileSync(path.join(aiDir, 'state.adf'), adf_2.STATE_SCAFFOLD);
|
|
400
|
-
files.push('.ai/manifest.adf', '.ai/core.adf', '.ai/state.adf');
|
|
431
|
+
// Force overwrite (preset-aware on-demand modules)
|
|
432
|
+
files.push(...writeAdfScaffolds(aiDir, preset));
|
|
401
433
|
const lockData = {};
|
|
402
434
|
for (const mod of ['core.adf', 'state.adf']) {
|
|
403
435
|
const content = fs.readFileSync(path.join(aiDir, mod), 'utf-8');
|
|
@@ -414,6 +446,8 @@ function runAdfInitPhase(options, force) {
|
|
|
414
446
|
{ name: 'CLAUDE.md', content: adf_2.POINTER_CLAUDE_MD, label: 'CLAUDE.md (thin pointer)' },
|
|
415
447
|
{ name: '.cursorrules', content: adf_2.POINTER_CURSORRULES, label: '.cursorrules (thin pointer)' },
|
|
416
448
|
{ name: 'agents.md', content: adf_2.POINTER_AGENTS_MD, label: 'agents.md (thin pointer)' },
|
|
449
|
+
{ name: 'GEMINI.md', content: adf_2.POINTER_GEMINI_MD, label: 'GEMINI.md (thin pointer)' },
|
|
450
|
+
{ name: 'copilot-instructions.md', content: adf_2.POINTER_COPILOT_MD, label: 'copilot-instructions.md (thin pointer)' },
|
|
417
451
|
];
|
|
418
452
|
for (const pf of pointerFiles) {
|
|
419
453
|
const pointerPath = path.resolve(pf.name);
|
|
@@ -457,7 +491,85 @@ function runAdfInitPhase(options, force) {
|
|
|
457
491
|
}
|
|
458
492
|
}
|
|
459
493
|
// ============================================================================
|
|
460
|
-
// Phase 4:
|
|
494
|
+
// Phase 4: Migrate Agent Configs
|
|
495
|
+
// ============================================================================
|
|
496
|
+
const AGENT_CONFIG_FILES = [
|
|
497
|
+
'CLAUDE.md', '.cursorrules', 'agents.md',
|
|
498
|
+
'GEMINI.md', 'copilot-instructions.md',
|
|
499
|
+
];
|
|
500
|
+
function runMigratePhase(options, force) {
|
|
501
|
+
const warnings = [];
|
|
502
|
+
const aiDir = '.ai';
|
|
503
|
+
try {
|
|
504
|
+
// Find agent config files that aren't already thin pointers
|
|
505
|
+
const sources = AGENT_CONFIG_FILES.filter(f => {
|
|
506
|
+
const fullPath = path.resolve(f);
|
|
507
|
+
if (!fs.existsSync(fullPath))
|
|
508
|
+
return false;
|
|
509
|
+
const content = fs.readFileSync(fullPath, 'utf-8');
|
|
510
|
+
return !adf_1.POINTER_MARKERS.some(marker => content.includes(marker));
|
|
511
|
+
});
|
|
512
|
+
if (sources.length === 0) {
|
|
513
|
+
return {
|
|
514
|
+
step: {
|
|
515
|
+
name: 'migrate',
|
|
516
|
+
status: 'skip',
|
|
517
|
+
details: { skipped: true, reason: 'No migratable agent config files found' },
|
|
518
|
+
warnings,
|
|
519
|
+
},
|
|
520
|
+
};
|
|
521
|
+
}
|
|
522
|
+
if (!force) {
|
|
523
|
+
warnings.push(`Found ${sources.length} agent config file(s) with migratable content: ${sources.join(', ')}`);
|
|
524
|
+
warnings.push("Run with --yes to auto-migrate, or run 'charter adf migrate' separately");
|
|
525
|
+
return {
|
|
526
|
+
step: {
|
|
527
|
+
name: 'migrate',
|
|
528
|
+
status: 'pass',
|
|
529
|
+
details: { dryRun: true, sources, migrated: 0 },
|
|
530
|
+
warnings,
|
|
531
|
+
},
|
|
532
|
+
};
|
|
533
|
+
}
|
|
534
|
+
// Auto-migrate with --yes
|
|
535
|
+
const results = [];
|
|
536
|
+
for (const source of sources) {
|
|
537
|
+
const result = (0, adf_migrate_1.migrateSource)(source, aiDir, 'dedupe', false, false, options);
|
|
538
|
+
results.push(result);
|
|
539
|
+
}
|
|
540
|
+
const migrated = results.filter(r => !r.skipped).length;
|
|
541
|
+
return {
|
|
542
|
+
step: {
|
|
543
|
+
name: 'migrate',
|
|
544
|
+
status: 'pass',
|
|
545
|
+
details: {
|
|
546
|
+
sources,
|
|
547
|
+
migrated,
|
|
548
|
+
results: results.map(r => ({
|
|
549
|
+
source: r.source,
|
|
550
|
+
skipped: r.skipped,
|
|
551
|
+
itemsMigrated: r.plan?.migrateItems.length ?? 0,
|
|
552
|
+
})),
|
|
553
|
+
},
|
|
554
|
+
warnings,
|
|
555
|
+
},
|
|
556
|
+
};
|
|
557
|
+
}
|
|
558
|
+
catch (err) {
|
|
559
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
560
|
+
warnings.push(`Migration failed: ${msg}`);
|
|
561
|
+
return {
|
|
562
|
+
step: {
|
|
563
|
+
name: 'migrate',
|
|
564
|
+
status: 'fail',
|
|
565
|
+
details: { error: msg },
|
|
566
|
+
warnings,
|
|
567
|
+
},
|
|
568
|
+
};
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
// ============================================================================
|
|
572
|
+
// Phase 5: Install
|
|
461
573
|
// ============================================================================
|
|
462
574
|
function runInstallPhase(_options, skipInstall) {
|
|
463
575
|
const warnings = [];
|
|
@@ -517,7 +629,7 @@ function detectPackageManagerFromLockfiles() {
|
|
|
517
629
|
return 'npm';
|
|
518
630
|
}
|
|
519
631
|
// ============================================================================
|
|
520
|
-
// Phase
|
|
632
|
+
// Phase 6: Doctor
|
|
521
633
|
// ============================================================================
|
|
522
634
|
function runDoctorPhase(options, skipDoctor) {
|
|
523
635
|
const warnings = [];
|
|
@@ -622,7 +734,7 @@ function runDoctorPhase(options, skipDoctor) {
|
|
|
622
734
|
// Helpers
|
|
623
735
|
// ============================================================================
|
|
624
736
|
function isValidPreset(value) {
|
|
625
|
-
return value === 'worker' || value === 'frontend' || value === 'backend' || value === 'fullstack';
|
|
737
|
+
return value === 'worker' || value === 'frontend' || value === 'backend' || value === 'fullstack' || value === 'docs';
|
|
626
738
|
}
|
|
627
739
|
function hashContent(content) {
|
|
628
740
|
return crypto.createHash('sha256').update(content).digest('hex').slice(0, 16);
|