@stackbilt/cli 0.6.0 → 0.9.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__/adf-context.test.d.ts +2 -0
- package/dist/__tests__/adf-context.test.d.ts.map +1 -0
- package/dist/__tests__/adf-context.test.js +60 -0
- package/dist/__tests__/adf-context.test.js.map +1 -0
- 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-context.d.ts +14 -0
- package/dist/commands/adf-context.d.ts.map +1 -0
- package/dist/commands/adf-context.js +149 -0
- package/dist/commands/adf-context.js.map +1 -0
- package/dist/commands/adf-migrate.d.ts +11 -1
- package/dist/commands/adf-migrate.d.ts.map +1 -1
- package/dist/commands/adf-migrate.js +180 -11
- package/dist/commands/adf-migrate.js.map +1 -1
- package/dist/commands/adf-populate.d.ts +12 -0
- package/dist/commands/adf-populate.d.ts.map +1 -0
- package/dist/commands/adf-populate.js +362 -0
- package/dist/commands/adf-populate.js.map +1 -0
- package/dist/commands/adf-sync.d.ts.map +1 -1
- package/dist/commands/adf-sync.js +3 -0
- package/dist/commands/adf-sync.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 +584 -0
- package/dist/commands/adf-tidy.js.map +1 -0
- package/dist/commands/adf.d.ts +15 -5
- package/dist/commands/adf.d.ts.map +1 -1
- package/dist/commands/adf.js +169 -31
- package/dist/commands/adf.js.map +1 -1
- package/dist/commands/architect.d.ts +12 -0
- package/dist/commands/architect.d.ts.map +1 -0
- package/dist/commands/architect.js +161 -0
- package/dist/commands/architect.js.map +1 -0
- package/dist/commands/bootstrap.d.ts.map +1 -1
- package/dist/commands/bootstrap.js +29 -12
- package/dist/commands/bootstrap.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +114 -2
- 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/login.d.ts +10 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +64 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/run.d.ts +12 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/run.js +212 -0
- package/dist/commands/run.js.map +1 -0
- package/dist/commands/scaffold.d.ts +11 -0
- package/dist/commands/scaffold.d.ts.map +1 -0
- package/dist/commands/scaffold.js +110 -0
- package/dist/commands/scaffold.js.map +1 -0
- 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 +63 -2
- package/dist/commands/setup.js.map +1 -1
- package/dist/credentials.d.ts +13 -0
- package/dist/credentials.d.ts.map +1 -0
- package/dist/credentials.js +74 -0
- package/dist/credentials.js.map +1 -0
- package/dist/git-helpers.d.ts +7 -7
- package/dist/git-helpers.d.ts.map +1 -1
- package/dist/git-helpers.js +7 -8
- package/dist/git-helpers.js.map +1 -1
- package/dist/http-client.d.ts +87 -0
- package/dist/http-client.d.ts.map +1 -0
- package/dist/http-client.js +49 -0
- package/dist/http-client.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -1
- package/package.json +12 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adf.d.ts","sourceRoot":"","sources":["../../src/commands/adf.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"adf.d.ts","sourceRoot":"","sources":["../../src/commands/adf.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAgB3C,eAAO,MAAM,iBAAiB,0VAc7B,CAAC;AAEF,eAAO,MAAM,aAAa,w9BAsBzB,CAAC;AAEF,eAAO,MAAM,cAAc,mJAI1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,kIAI7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,mIAI5B,CAAC;AAEF,eAAO,MAAM,kBAAkB,+HAI9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,0HAI7B,CAAC;AAGF,eAAO,MAAM,gBAAgB,gdAY5B,CAAC;AAEF,eAAO,MAAM,0BAA0B,4SAatC,CAAC;AAEF,eAAO,MAAM,yBAAyB,0SAarC,CAAC;AAEF,eAAO,MAAM,sBAAsB,igBAelC,CAAC;AAEF,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAYzD;AAMD,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAqCrF;AAeD,4EAA4E;AAC5E,eAAO,MAAM,eAAe,UAQ3B,CAAC;AAIF,eAAO,MAAM,kBAAkB,wCAAwC,CAAC;AACxE,eAAO,MAAM,gBAAgB,sCAAsC,CAAC;AAIpE,eAAO,MAAM,iBAAiB,oXAS7B,CAAC;AAEF,eAAO,MAAM,wBAAwB,+cAapC,CAAC;AAEF,eAAO,MAAM,mBAAmB,wIAE/B,CAAC;AAEF,eAAO,MAAM,iBAAiB,wLAK7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,uLAK7B,CAAC;AAEF,eAAO,MAAM,kBAAkB,wIAE9B,CAAC"}
|
package/dist/commands/adf.js
CHANGED
|
@@ -38,7 +38,8 @@ 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.MANIFEST_DOCS_SCAFFOLD = exports.PLANNING_SCAFFOLD = exports.DECISIONS_SCAFFOLD = 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_HYBRID = exports.POINTER_CLAUDE_MD = exports.MODULE_INDEX_END = exports.MODULE_INDEX_START = exports.POINTER_MARKERS = exports.MANIFEST_DOCS_SCAFFOLD = exports.MANIFEST_BACKEND_SCAFFOLD = exports.MANIFEST_FRONTEND_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
|
+
exports.manifestForPreset = manifestForPreset;
|
|
42
43
|
exports.adfCommand = adfCommand;
|
|
43
44
|
const fs = __importStar(require("node:fs"));
|
|
44
45
|
const path = __importStar(require("node:path"));
|
|
@@ -50,6 +51,9 @@ const adf_bundle_1 = require("./adf-bundle");
|
|
|
50
51
|
const adf_sync_1 = require("./adf-sync");
|
|
51
52
|
const adf_evidence_1 = require("./adf-evidence");
|
|
52
53
|
const adf_metrics_1 = require("./adf-metrics");
|
|
54
|
+
const adf_tidy_1 = require("./adf-tidy");
|
|
55
|
+
const adf_populate_1 = require("./adf-populate");
|
|
56
|
+
const adf_context_1 = require("./adf-context");
|
|
53
57
|
// ============================================================================
|
|
54
58
|
// Scaffold Content
|
|
55
59
|
// ============================================================================
|
|
@@ -70,6 +74,9 @@ exports.MANIFEST_SCAFFOLD = `ADF: 0.1
|
|
|
70
74
|
`;
|
|
71
75
|
exports.CORE_SCAFFOLD = `ADF: 0.1
|
|
72
76
|
|
|
77
|
+
\u{1F4CB} CONTEXT:
|
|
78
|
+
- Project context (run 'charter adf populate' to auto-fill from codebase)
|
|
79
|
+
|
|
73
80
|
\u{1F4D6} GUIDE [advisory]:
|
|
74
81
|
- Pure runtime/environment? (OS, line endings) \u2192 CLAUDE.md, not ADF
|
|
75
82
|
- Universal architecture constraint? \u2192 core.adf CONSTRAINTS [load-bearing]
|
|
@@ -113,6 +120,47 @@ exports.PLANNING_SCAFFOLD = `ADF: 0.1
|
|
|
113
120
|
- Planning module scaffold
|
|
114
121
|
- Track project phases, milestones, and sequencing
|
|
115
122
|
`;
|
|
123
|
+
exports.CONTENT_SCAFFOLD = `ADF: 0.1
|
|
124
|
+
\u{1F4CB} CONTEXT:
|
|
125
|
+
- Content module scaffold
|
|
126
|
+
- Add Markdown/MDX authoring conventions, frontmatter schema, and doc linting rules
|
|
127
|
+
|
|
128
|
+
\u26A0\uFE0F CONSTRAINTS [load-bearing]:
|
|
129
|
+
- All pages must include required frontmatter fields (title, description)
|
|
130
|
+
- Use MDX for pages that require interactive components
|
|
131
|
+
|
|
132
|
+
\u{1F4CB} ADVISORY:
|
|
133
|
+
- Prefer flat URL structures; avoid deep nesting beyond 3 levels
|
|
134
|
+
- Include alt text on all images
|
|
135
|
+
`;
|
|
136
|
+
exports.MANIFEST_FRONTEND_SCAFFOLD = `ADF: 0.1
|
|
137
|
+
\u{1F3AF} ROLE: Repo context router
|
|
138
|
+
|
|
139
|
+
\u{1F4E6} DEFAULT_LOAD:
|
|
140
|
+
- core.adf
|
|
141
|
+
- state.adf
|
|
142
|
+
|
|
143
|
+
\u{1F4C2} ON_DEMAND:
|
|
144
|
+
- frontend.adf (Triggers on: React, CSS, UI)
|
|
145
|
+
|
|
146
|
+
\u{1F4D0} RULES:
|
|
147
|
+
- Prefer smallest relevant module set.
|
|
148
|
+
- Never assume unseen modules were loaded.
|
|
149
|
+
`;
|
|
150
|
+
exports.MANIFEST_BACKEND_SCAFFOLD = `ADF: 0.1
|
|
151
|
+
\u{1F3AF} ROLE: Repo context router
|
|
152
|
+
|
|
153
|
+
\u{1F4E6} DEFAULT_LOAD:
|
|
154
|
+
- core.adf
|
|
155
|
+
- state.adf
|
|
156
|
+
|
|
157
|
+
\u{1F4C2} ON_DEMAND:
|
|
158
|
+
- backend.adf (Triggers on: API, Node, DB)
|
|
159
|
+
|
|
160
|
+
\u{1F4D0} RULES:
|
|
161
|
+
- Prefer smallest relevant module set.
|
|
162
|
+
- Never assume unseen modules were loaded.
|
|
163
|
+
`;
|
|
116
164
|
exports.MANIFEST_DOCS_SCAFFOLD = `ADF: 0.1
|
|
117
165
|
\u{1F3AF} ROLE: Documentation workspace context router
|
|
118
166
|
|
|
@@ -121,13 +169,28 @@ exports.MANIFEST_DOCS_SCAFFOLD = `ADF: 0.1
|
|
|
121
169
|
- state.adf
|
|
122
170
|
|
|
123
171
|
\u{1F4C2} ON_DEMAND:
|
|
124
|
-
-
|
|
172
|
+
- content.adf (Triggers on: Markdown, MDX, frontmatter, content, Astro, navigation, docs, authoring)
|
|
173
|
+
- decisions.adf (Triggers on: ADR, decision, rationale, architecture)
|
|
125
174
|
- planning.adf (Triggers on: plan, milestone, phase, roadmap)
|
|
126
175
|
|
|
127
176
|
\u{1F4D0} RULES:
|
|
128
177
|
- Prefer smallest relevant module set.
|
|
129
178
|
- Never assume unseen modules were loaded.
|
|
130
179
|
`;
|
|
180
|
+
/** Return the correct manifest scaffold for a given preset. */
|
|
181
|
+
function manifestForPreset(preset) {
|
|
182
|
+
switch (preset) {
|
|
183
|
+
case 'docs':
|
|
184
|
+
return exports.MANIFEST_DOCS_SCAFFOLD;
|
|
185
|
+
case 'frontend':
|
|
186
|
+
return exports.MANIFEST_FRONTEND_SCAFFOLD;
|
|
187
|
+
case 'backend':
|
|
188
|
+
case 'worker':
|
|
189
|
+
return exports.MANIFEST_BACKEND_SCAFFOLD;
|
|
190
|
+
default:
|
|
191
|
+
return exports.MANIFEST_SCAFFOLD;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
131
194
|
// ============================================================================
|
|
132
195
|
// Dispatcher
|
|
133
196
|
// ============================================================================
|
|
@@ -155,10 +218,16 @@ async function adfCommand(options, args) {
|
|
|
155
218
|
return (0, adf_evidence_1.adfEvidence)(options, restArgs);
|
|
156
219
|
case 'migrate':
|
|
157
220
|
return (0, adf_migrate_1.adfMigrateCommand)(options, restArgs);
|
|
221
|
+
case 'tidy':
|
|
222
|
+
return (0, adf_tidy_1.adfTidyCommand)(options, restArgs);
|
|
158
223
|
case 'metrics':
|
|
159
224
|
return (0, adf_metrics_1.adfMetricsCommand)(options, restArgs);
|
|
225
|
+
case 'populate':
|
|
226
|
+
return (0, adf_populate_1.adfPopulateCommand)(options, restArgs);
|
|
227
|
+
case 'context':
|
|
228
|
+
return (0, adf_context_1.adfContextCommand)(options, restArgs);
|
|
160
229
|
default:
|
|
161
|
-
throw new index_1.CLIError(`Unknown adf subcommand: ${subcommand}. Supported: init, fmt, patch, create, bundle, sync, evidence, migrate, metrics`);
|
|
230
|
+
throw new index_1.CLIError(`Unknown adf subcommand: ${subcommand}. Supported: init, fmt, patch, create, populate, bundle, sync, evidence, migrate, tidy, metrics, context`);
|
|
162
231
|
}
|
|
163
232
|
}
|
|
164
233
|
// -- Thin pointer detection markers --
|
|
@@ -167,42 +236,62 @@ exports.POINTER_MARKERS = [
|
|
|
167
236
|
'Do not duplicate ADF rules here',
|
|
168
237
|
'Do not duplicate rules from .ai/',
|
|
169
238
|
'Do not add stack rules here',
|
|
239
|
+
'DO NOT add rules, constraints, or context to this file',
|
|
240
|
+
'DO NOT modify this file. All project rules are managed in .ai/',
|
|
241
|
+
'DO NOT add instructions to this file',
|
|
242
|
+
'DO NOT add rules or context to this file',
|
|
170
243
|
];
|
|
244
|
+
// -- Module index sentinels --
|
|
245
|
+
exports.MODULE_INDEX_START = '<!-- charter:module-index:start -->';
|
|
246
|
+
exports.MODULE_INDEX_END = '<!-- charter:module-index:end -->';
|
|
171
247
|
// -- Thin pointer file content --
|
|
172
|
-
exports.POINTER_CLAUDE_MD = `#
|
|
248
|
+
exports.POINTER_CLAUDE_MD = `# CLAUDE.md
|
|
173
249
|
|
|
174
|
-
>
|
|
175
|
-
>
|
|
176
|
-
>
|
|
177
|
-
|
|
178
|
-
See \`.ai/manifest.adf\` for the module routing manifest.
|
|
250
|
+
> **DO NOT add rules, constraints, or context to this file.**
|
|
251
|
+
> This file is auto-managed by Charter. All project rules live in \`.ai/\`.
|
|
252
|
+
> New rules should be added to the appropriate \`.ai/*.adf\` module.
|
|
253
|
+
> See \`.ai/manifest.adf\` for the module routing manifest.
|
|
179
254
|
|
|
180
255
|
## Environment
|
|
181
256
|
<!-- Add runtime/OS/shell-specific notes here (not stack rules) -->
|
|
182
257
|
`;
|
|
183
|
-
exports.
|
|
258
|
+
exports.POINTER_CLAUDE_MD_HYBRID = `# CLAUDE.md
|
|
184
259
|
|
|
185
|
-
|
|
186
|
-
|
|
260
|
+
> **DO NOT add rules, constraints, or context to this file.**
|
|
261
|
+
> This file is auto-managed by Charter. All project rules live in \`.ai/\`.
|
|
262
|
+
> New rules should be added to the appropriate \`.ai/*.adf\` module.
|
|
263
|
+
> See \`.ai/manifest.adf\` for the module routing manifest.
|
|
187
264
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
exports.POINTER_AGENTS_MD = `# Agent Guidelines
|
|
265
|
+
## Module Index
|
|
266
|
+
<!-- charter:module-index:start -->
|
|
267
|
+
<!-- charter:module-index:end -->
|
|
192
268
|
|
|
193
|
-
|
|
194
|
-
|
|
269
|
+
## Environment
|
|
270
|
+
<!-- Add runtime/OS/shell-specific notes here (not stack rules) -->
|
|
271
|
+
`;
|
|
272
|
+
exports.POINTER_CURSORRULES = `DO NOT modify this file. All project rules are managed in .ai/ by Charter.
|
|
273
|
+
See .ai/manifest.adf for the module routing manifest.
|
|
274
|
+
`;
|
|
275
|
+
exports.POINTER_AGENTS_MD = `# agents.md
|
|
195
276
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
277
|
+
> **DO NOT add instructions to this file.**
|
|
278
|
+
> All agent instructions are managed in \`.ai/\` by Charter.
|
|
279
|
+
> See \`.ai/manifest.adf\` for the module routing manifest.
|
|
280
|
+
`;
|
|
281
|
+
exports.POINTER_GEMINI_MD = `# GEMINI.md
|
|
199
282
|
|
|
200
|
-
|
|
283
|
+
> **DO NOT add rules or context to this file.**
|
|
284
|
+
> All project rules are managed in \`.ai/\` by Charter.
|
|
285
|
+
> See \`.ai/manifest.adf\` for the module routing manifest.
|
|
286
|
+
`;
|
|
287
|
+
exports.POINTER_COPILOT_MD = `DO NOT modify this file. All project rules are managed in .ai/ by Charter.
|
|
288
|
+
See .ai/manifest.adf for the module routing manifest.
|
|
201
289
|
`;
|
|
202
290
|
function adfInit(options, args) {
|
|
203
291
|
const force = options.yes || args.includes('--force');
|
|
204
292
|
const aiDir = (0, flags_1.getFlag)(args, '--ai-dir') || '.ai';
|
|
205
293
|
const moduleFlag = (0, flags_1.getFlag)(args, '--module');
|
|
294
|
+
const presetFlag = (0, flags_1.getFlag)(args, '--preset');
|
|
206
295
|
const manifestPath = path.join(aiDir, 'manifest.adf');
|
|
207
296
|
// --module: additive single-module creation — delegate to adf create
|
|
208
297
|
if (moduleFlag) {
|
|
@@ -224,15 +313,34 @@ function adfInit(options, args) {
|
|
|
224
313
|
return index_1.EXIT_CODE.SUCCESS;
|
|
225
314
|
}
|
|
226
315
|
fs.mkdirSync(aiDir, { recursive: true });
|
|
227
|
-
fs.writeFileSync(path.join(aiDir, 'manifest.adf'),
|
|
316
|
+
fs.writeFileSync(path.join(aiDir, 'manifest.adf'), manifestForPreset(presetFlag));
|
|
228
317
|
fs.writeFileSync(path.join(aiDir, 'core.adf'), exports.CORE_SCAFFOLD);
|
|
229
318
|
fs.writeFileSync(path.join(aiDir, 'state.adf'), exports.STATE_SCAFFOLD);
|
|
230
|
-
|
|
231
|
-
|
|
319
|
+
const moduleFiles = [];
|
|
320
|
+
if (presetFlag === 'docs') {
|
|
321
|
+
fs.writeFileSync(path.join(aiDir, 'content.adf'), exports.CONTENT_SCAFFOLD);
|
|
322
|
+
fs.writeFileSync(path.join(aiDir, 'decisions.adf'), exports.DECISIONS_SCAFFOLD);
|
|
323
|
+
fs.writeFileSync(path.join(aiDir, 'planning.adf'), exports.PLANNING_SCAFFOLD);
|
|
324
|
+
moduleFiles.push('content.adf', 'decisions.adf', 'planning.adf');
|
|
325
|
+
}
|
|
326
|
+
else if (presetFlag === 'frontend') {
|
|
327
|
+
fs.writeFileSync(path.join(aiDir, 'frontend.adf'), exports.FRONTEND_SCAFFOLD);
|
|
328
|
+
moduleFiles.push('frontend.adf');
|
|
329
|
+
}
|
|
330
|
+
else if (presetFlag === 'backend' || presetFlag === 'worker') {
|
|
331
|
+
fs.writeFileSync(path.join(aiDir, 'backend.adf'), exports.BACKEND_SCAFFOLD);
|
|
332
|
+
moduleFiles.push('backend.adf');
|
|
333
|
+
}
|
|
334
|
+
else {
|
|
335
|
+
fs.writeFileSync(path.join(aiDir, 'frontend.adf'), exports.FRONTEND_SCAFFOLD);
|
|
336
|
+
fs.writeFileSync(path.join(aiDir, 'backend.adf'), exports.BACKEND_SCAFFOLD);
|
|
337
|
+
moduleFiles.push('frontend.adf', 'backend.adf');
|
|
338
|
+
}
|
|
339
|
+
fs.writeFileSync(path.join(aiDir, '.adf.lock'), '{}\n');
|
|
232
340
|
const result = {
|
|
233
341
|
created: true,
|
|
234
342
|
aiDir,
|
|
235
|
-
files: ['manifest.adf', 'core.adf', 'state.adf',
|
|
343
|
+
files: ['manifest.adf', 'core.adf', 'state.adf', ...moduleFiles, '.adf.lock'],
|
|
236
344
|
};
|
|
237
345
|
// --emit-pointers: generate thin pointer files that redirect to .ai/
|
|
238
346
|
const emitPointers = args.includes('--emit-pointers') || args.includes('--pointers');
|
|
@@ -241,6 +349,8 @@ function adfInit(options, args) {
|
|
|
241
349
|
{ file: 'CLAUDE.md', content: exports.POINTER_CLAUDE_MD, label: 'CLAUDE.md (thin pointer)' },
|
|
242
350
|
{ file: '.cursorrules', content: exports.POINTER_CURSORRULES, label: '.cursorrules (thin pointer)' },
|
|
243
351
|
{ file: 'agents.md', content: exports.POINTER_AGENTS_MD, label: 'agents.md (thin pointer)' },
|
|
352
|
+
{ file: 'GEMINI.md', content: exports.POINTER_GEMINI_MD, label: 'GEMINI.md (thin pointer)' },
|
|
353
|
+
{ file: 'copilot-instructions.md', content: exports.POINTER_COPILOT_MD, label: 'copilot-instructions.md (thin pointer)' },
|
|
244
354
|
];
|
|
245
355
|
const createdPointers = [];
|
|
246
356
|
const skippedPointers = [];
|
|
@@ -269,8 +379,8 @@ function adfInit(options, args) {
|
|
|
269
379
|
console.log(JSON.stringify({
|
|
270
380
|
...result,
|
|
271
381
|
nextActions: [
|
|
272
|
-
'
|
|
273
|
-
'Edit
|
|
382
|
+
'charter adf populate # auto-fill ADF files from codebase signals',
|
|
383
|
+
'Edit core.adf to add project-specific constraints and rules',
|
|
274
384
|
'charter adf fmt .ai/core.adf --check',
|
|
275
385
|
'charter adf bundle --task "<prompt>"',
|
|
276
386
|
],
|
|
@@ -285,9 +395,11 @@ function adfInit(options, args) {
|
|
|
285
395
|
}
|
|
286
396
|
console.log('');
|
|
287
397
|
console.log(' Next steps:');
|
|
288
|
-
console.log(' 1.
|
|
289
|
-
console.log(' 2. Edit
|
|
398
|
+
console.log(' 1. Run: charter adf populate # auto-fill ADF files from codebase signals');
|
|
399
|
+
console.log(' 2. Edit core.adf to add project-specific constraints and rules');
|
|
290
400
|
console.log(' 3. Run: charter adf fmt .ai/core.adf --check');
|
|
401
|
+
console.log(' 4. Run: charter adf bundle --task "<your task>" to compile context for an agent session');
|
|
402
|
+
console.log(' (The verify:adf script runs this automatically in CI)');
|
|
291
403
|
}
|
|
292
404
|
return index_1.EXIT_CODE.SUCCESS;
|
|
293
405
|
}
|
|
@@ -428,7 +540,16 @@ function adfCreate(options, args) {
|
|
|
428
540
|
}
|
|
429
541
|
const modulePath = moduleArg.endsWith('.adf') ? moduleArg : `${moduleArg}.adf`;
|
|
430
542
|
const moduleRelPath = modulePath.replace(/\\/g, '/');
|
|
543
|
+
// Prevent directory traversal: reject paths that escape the .ai/ directory
|
|
544
|
+
if (moduleRelPath.includes('..') || path.isAbsolute(moduleRelPath)) {
|
|
545
|
+
throw new index_1.CLIError(`Invalid module path: "${moduleRelPath}". Path must not contain ".." or be absolute.`);
|
|
546
|
+
}
|
|
431
547
|
const moduleAbsPath = path.join(aiDir, moduleRelPath);
|
|
548
|
+
const resolvedAiDir = path.resolve(aiDir);
|
|
549
|
+
const resolvedModulePath = path.resolve(moduleAbsPath);
|
|
550
|
+
if (!resolvedModulePath.startsWith(resolvedAiDir + path.sep)) {
|
|
551
|
+
throw new index_1.CLIError(`Invalid module path: "${moduleRelPath}". Path must stay within ${aiDir}/.`);
|
|
552
|
+
}
|
|
432
553
|
fs.mkdirSync(path.dirname(moduleAbsPath), { recursive: true });
|
|
433
554
|
let fileCreated = false;
|
|
434
555
|
if (!fs.existsSync(moduleAbsPath) || force) {
|
|
@@ -501,9 +622,10 @@ function printHelp() {
|
|
|
501
622
|
console.log(' charter adf — Attention-Directed Format tools');
|
|
502
623
|
console.log('');
|
|
503
624
|
console.log(' Usage:');
|
|
504
|
-
console.log(' charter adf init [--ai-dir <dir>] [--force] [--emit-pointers]');
|
|
625
|
+
console.log(' charter adf init [--ai-dir <dir>] [--force] [--emit-pointers] [--preset <preset>]');
|
|
505
626
|
console.log(' Scaffold .ai/ directory with manifest, core, and state modules.');
|
|
506
627
|
console.log(' --module <name>: add a single module to an existing .ai/ (additive, no overwrite)');
|
|
628
|
+
console.log(' --preset <preset>: scaffold preset-aware modules (worker|frontend|backend|fullstack|docs)');
|
|
507
629
|
console.log(' --emit-pointers: also generate thin pointer files (CLAUDE.md, .cursorrules, agents.md)');
|
|
508
630
|
console.log('');
|
|
509
631
|
console.log(' charter adf fmt <file> [--check] [--write]');
|
|
@@ -514,7 +636,17 @@ function printHelp() {
|
|
|
514
636
|
console.log('');
|
|
515
637
|
console.log(' charter adf patch <file> --ops <json> | --ops-file <path>');
|
|
516
638
|
console.log(' Apply ADF_PATCH operations to a file.');
|
|
639
|
+
console.log(' Valid ops: ADD_BULLET, REPLACE_BULLET, REMOVE_BULLET,');
|
|
640
|
+
console.log(' ADD_SECTION, REPLACE_SECTION, REMOVE_SECTION, UPDATE_METRIC');
|
|
641
|
+
console.log(' Examples:');
|
|
642
|
+
console.log(' ADD_BULLET: {"op":"ADD_BULLET","section":"CONSTRAINTS","value":"..."}');
|
|
643
|
+
console.log(' ADD_SECTION: {"op":"ADD_SECTION","key":"CONTEXT","decoration":"📋","content":{"type":"list","items":["..."]}}');
|
|
644
|
+
console.log(' REPLACE_SECTION: {"op":"REPLACE_SECTION","key":"STATE","content":{"type":"map","entries":[{"key":"CURRENT","value":"..."}]}}');
|
|
517
645
|
console.log('');
|
|
646
|
+
console.log(' charter adf populate [--ai-dir <dir>] [--dry-run] [--force]');
|
|
647
|
+
console.log(' Auto-fill ADF files from codebase signals (package.json, README, stack detection).');
|
|
648
|
+
console.log(' Populates CONTEXT in core/backend/frontend.adf and STATE in state.adf.');
|
|
649
|
+
console.log(' Skips files with existing custom content unless --force.');
|
|
518
650
|
console.log(' charter adf create <module> [--ai-dir <dir>] [--triggers "a,b,c"] [--load default|on-demand] [--force]');
|
|
519
651
|
console.log(' Create a module file and register it in manifest DEFAULT_LOAD or ON_DEMAND.');
|
|
520
652
|
console.log(' --triggers: comma-separated trigger keywords (for ON_DEMAND entries).');
|
|
@@ -554,6 +686,12 @@ function printHelp() {
|
|
|
554
686
|
console.log(' --no-backup: skip creating .pre-adf-migrate.bak backups');
|
|
555
687
|
console.log(' --merge-strategy: append (always add), dedupe (skip duplicates, default), replace');
|
|
556
688
|
console.log('');
|
|
689
|
+
console.log(' charter adf tidy [--dry-run] [--source <file>] [--ai-dir <dir>] [--ci]');
|
|
690
|
+
console.log(' Scan vendor config files for content added beyond the thin pointer,');
|
|
691
|
+
console.log(' classify and route to ADF modules, restore thin pointer.');
|
|
692
|
+
console.log(' --dry-run: preview without modifying files');
|
|
693
|
+
console.log(' --ci: exit 1 if bloat found (with --dry-run, for pre-commit gating)');
|
|
694
|
+
console.log('');
|
|
557
695
|
console.log(' charter adf metrics recalibrate [--headroom <percent>] [--reason "<text>"|--auto-rationale] [--dry-run]');
|
|
558
696
|
console.log(' Recalibrate metric baselines/ceilings from current LOC with required rationale.');
|
|
559
697
|
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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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* charter architect — generate a tech stack from a project description.
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* charter architect "Build a real-time chat app on Cloudflare"
|
|
6
|
+
* charter architect --file spec.md
|
|
7
|
+
* charter architect "API backend" --cloudflare-only --framework Hono --database D1
|
|
8
|
+
* charter architect "Simple landing page" --dry-run
|
|
9
|
+
*/
|
|
10
|
+
import type { CLIOptions } from '../index';
|
|
11
|
+
export declare function architectCommand(options: CLIOptions, args: string[]): Promise<number>;
|
|
12
|
+
//# sourceMappingURL=architect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"architect.d.ts","sourceRoot":"","sources":["../../src/commands/architect.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAM3C,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAgE3F"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* charter architect — generate a tech stack from a project description.
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* charter architect "Build a real-time chat app on Cloudflare"
|
|
7
|
+
* charter architect --file spec.md
|
|
8
|
+
* charter architect "API backend" --cloudflare-only --framework Hono --database D1
|
|
9
|
+
* charter architect "Simple landing page" --dry-run
|
|
10
|
+
*/
|
|
11
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
14
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
15
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
16
|
+
}
|
|
17
|
+
Object.defineProperty(o, k2, desc);
|
|
18
|
+
}) : (function(o, m, k, k2) {
|
|
19
|
+
if (k2 === undefined) k2 = k;
|
|
20
|
+
o[k2] = m[k];
|
|
21
|
+
}));
|
|
22
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
23
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
24
|
+
}) : function(o, v) {
|
|
25
|
+
o["default"] = v;
|
|
26
|
+
});
|
|
27
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
28
|
+
var ownKeys = function(o) {
|
|
29
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
30
|
+
var ar = [];
|
|
31
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
32
|
+
return ar;
|
|
33
|
+
};
|
|
34
|
+
return ownKeys(o);
|
|
35
|
+
};
|
|
36
|
+
return function (mod) {
|
|
37
|
+
if (mod && mod.__esModule) return mod;
|
|
38
|
+
var result = {};
|
|
39
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
40
|
+
__setModuleDefault(result, mod);
|
|
41
|
+
return result;
|
|
42
|
+
};
|
|
43
|
+
})();
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.architectCommand = architectCommand;
|
|
46
|
+
const fs = __importStar(require("node:fs"));
|
|
47
|
+
const path = __importStar(require("node:path"));
|
|
48
|
+
const index_1 = require("../index");
|
|
49
|
+
const flags_1 = require("../flags");
|
|
50
|
+
const credentials_1 = require("../credentials");
|
|
51
|
+
const http_client_1 = require("../http-client");
|
|
52
|
+
async function architectCommand(options, args) {
|
|
53
|
+
// Parse description from positional arg or --file
|
|
54
|
+
const filePath = (0, flags_1.getFlag)(args, '--file');
|
|
55
|
+
const positional = args.filter(a => !a.startsWith('-') && a !== filePath);
|
|
56
|
+
let description;
|
|
57
|
+
if (filePath) {
|
|
58
|
+
if (!fs.existsSync(filePath))
|
|
59
|
+
throw new index_1.CLIError(`File not found: ${filePath}`);
|
|
60
|
+
description = fs.readFileSync(filePath, 'utf-8').trim();
|
|
61
|
+
}
|
|
62
|
+
else if (positional.length > 0) {
|
|
63
|
+
description = positional.join(' ');
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
throw new index_1.CLIError('Provide a project description:\n charter architect "Build a real-time chat app"\n charter architect --file spec.md');
|
|
67
|
+
}
|
|
68
|
+
if (!description)
|
|
69
|
+
throw new index_1.CLIError('Empty description.');
|
|
70
|
+
// Parse constraint flags
|
|
71
|
+
const request = { description, constraints: {} };
|
|
72
|
+
if (args.includes('--cloudflare-only'))
|
|
73
|
+
request.constraints.cloudflareOnly = true;
|
|
74
|
+
const fw = (0, flags_1.getFlag)(args, '--framework');
|
|
75
|
+
if (fw)
|
|
76
|
+
request.constraints.framework = fw;
|
|
77
|
+
const db = (0, flags_1.getFlag)(args, '--database');
|
|
78
|
+
if (db)
|
|
79
|
+
request.constraints.database = db;
|
|
80
|
+
const seedStr = (0, flags_1.getFlag)(args, '--seed');
|
|
81
|
+
if (seedStr)
|
|
82
|
+
request.seed = parseInt(seedStr, 10);
|
|
83
|
+
// Load credentials (optional — engine may not require auth yet)
|
|
84
|
+
const creds = (0, credentials_1.loadCredentials)();
|
|
85
|
+
const baseUrl = (0, flags_1.getFlag)(args, '--url');
|
|
86
|
+
const client = new http_client_1.EngineClient({ baseUrl: baseUrl ?? creds?.baseUrl, apiKey: creds?.apiKey });
|
|
87
|
+
// Build
|
|
88
|
+
let result;
|
|
89
|
+
try {
|
|
90
|
+
result = await client.build(request);
|
|
91
|
+
}
|
|
92
|
+
catch (err) {
|
|
93
|
+
throw new index_1.CLIError(`Build failed: ${err.message}`);
|
|
94
|
+
}
|
|
95
|
+
const dryRun = args.includes('--dry-run');
|
|
96
|
+
// JSON output
|
|
97
|
+
if (options.format === 'json') {
|
|
98
|
+
console.log(JSON.stringify(result, null, 2));
|
|
99
|
+
if (!dryRun)
|
|
100
|
+
cacheResult(result, options.configPath);
|
|
101
|
+
return index_1.EXIT_CODE.SUCCESS;
|
|
102
|
+
}
|
|
103
|
+
// Text output
|
|
104
|
+
printResult(result);
|
|
105
|
+
// Write scaffold
|
|
106
|
+
if (!dryRun) {
|
|
107
|
+
cacheResult(result, options.configPath);
|
|
108
|
+
console.log('');
|
|
109
|
+
console.log(`Build cached. Run \`charter scaffold\` to write files.`);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
console.log('');
|
|
113
|
+
console.log('(dry run — no files written)');
|
|
114
|
+
}
|
|
115
|
+
return index_1.EXIT_CODE.SUCCESS;
|
|
116
|
+
}
|
|
117
|
+
function printResult(r) {
|
|
118
|
+
const c = r.compatibility;
|
|
119
|
+
console.log('');
|
|
120
|
+
console.log(` Stack (seed: ${r.seed}, ${r.requirements.complexity})`);
|
|
121
|
+
console.log('');
|
|
122
|
+
const maxPos = Math.max(...r.stack.map(s => s.position.length));
|
|
123
|
+
const maxName = Math.max(...r.stack.map(s => s.name.length));
|
|
124
|
+
for (const s of r.stack) {
|
|
125
|
+
const pos = s.position.padEnd(maxPos);
|
|
126
|
+
const name = s.name.padEnd(maxName);
|
|
127
|
+
const orient = s.orientation === 'reversed' ? '↓' : '↑';
|
|
128
|
+
const cf = s.cloudflareNative ? ' [CF]' : '';
|
|
129
|
+
console.log(` ${pos} ${name} (${s.element}, ${orient})${cf}`);
|
|
130
|
+
}
|
|
131
|
+
console.log('');
|
|
132
|
+
console.log(` Compatibility: ${c.normalizedScore} (${c.pairs.length} pairs, ${c.tensions.length} tensions)`);
|
|
133
|
+
for (const p of c.pairs) {
|
|
134
|
+
const sign = p.score > 0 ? '+' : p.score < 0 ? '' : ' ';
|
|
135
|
+
console.log(` ${p.techs[0]} + ${p.techs[1]} = ${p.relationship} (${sign}${p.score})`);
|
|
136
|
+
}
|
|
137
|
+
if (c.tensions.length > 0) {
|
|
138
|
+
console.log('');
|
|
139
|
+
console.log(' Tensions:');
|
|
140
|
+
for (const t of c.tensions) {
|
|
141
|
+
console.log(` ⚡ ${t.description}`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
console.log('');
|
|
145
|
+
console.log(` Scaffold: ${Object.keys(r.scaffold).length} files`);
|
|
146
|
+
for (const f of Object.keys(r.scaffold).sort()) {
|
|
147
|
+
const lines = r.scaffold[f].split('\n').length;
|
|
148
|
+
console.log(` ${f} (${lines} lines)`);
|
|
149
|
+
}
|
|
150
|
+
console.log('');
|
|
151
|
+
console.log(` Keywords: ${r.requirements.keywords.slice(0, 8).join(', ')}`);
|
|
152
|
+
console.log(` Receipt: ${r.receipt.slice(0, 16)}`);
|
|
153
|
+
}
|
|
154
|
+
function cacheResult(result, configPath) {
|
|
155
|
+
const dir = configPath || '.charter';
|
|
156
|
+
if (!fs.existsSync(dir)) {
|
|
157
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
158
|
+
}
|
|
159
|
+
fs.writeFileSync(path.join(dir, 'last-build.json'), JSON.stringify(result, null, 2));
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=architect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"architect.js","sourceRoot":"","sources":["../../src/commands/architect.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;AA+D3C,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA8L3F"}
|