@prodara/cli 0.1.1 → 0.1.3
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/bin.d.ts +3 -1
- package/dist/bin.d.ts.map +1 -1
- package/dist/bin.js +161 -5
- package/dist/bin.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +8 -3
package/dist/bin.d.ts
CHANGED
package/dist/bin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AAyHA,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAmC/C;AAED,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAStF;AAED,wBAAgB,IAAI,IAAI,IAAI,CA6F3B"}
|
package/dist/bin.js
CHANGED
|
@@ -14,9 +14,12 @@ import { execFileSync } from 'node:child_process';
|
|
|
14
14
|
import { readFileSync, existsSync } from 'node:fs';
|
|
15
15
|
import { resolve, dirname } from 'node:path';
|
|
16
16
|
import { fileURLToPath } from 'node:url';
|
|
17
|
+
import { createRequire } from 'node:module';
|
|
18
|
+
import pc from 'picocolors';
|
|
17
19
|
import { resolveLocal, checkVersionCompatibility } from './resolve.js';
|
|
18
20
|
const __filename = fileURLToPath(import.meta.url);
|
|
19
21
|
const __dirname = dirname(__filename);
|
|
22
|
+
const require = createRequire(import.meta.url);
|
|
20
23
|
function getWrapperVersion() {
|
|
21
24
|
const pkgPath = resolve(__dirname, '..', 'package.json');
|
|
22
25
|
if (existsSync(pkgPath)) {
|
|
@@ -31,16 +34,167 @@ function getWrapperVersion() {
|
|
|
31
34
|
}
|
|
32
35
|
return '0.0.0';
|
|
33
36
|
}
|
|
34
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Resolve the CLI entry from the compiler bundled inside @prodara/cli's own
|
|
39
|
+
* node_modules. Uses createRequire for maximum Node.js compatibility.
|
|
40
|
+
*/
|
|
41
|
+
function resolveBundledCompiler() {
|
|
42
|
+
try {
|
|
43
|
+
// Resolve the compiler package.json first, then derive the CLI entry
|
|
44
|
+
const pkgPath = require.resolve('@prodara/compiler/package.json');
|
|
45
|
+
const entry = resolve(dirname(pkgPath), 'dist', 'cli', 'main.js');
|
|
46
|
+
if (existsSync(entry))
|
|
47
|
+
return entry;
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
const COMMAND_GROUPS = [
|
|
55
|
+
{
|
|
56
|
+
group: 'Core',
|
|
57
|
+
commands: [
|
|
58
|
+
{ name: 'build', description: 'Full build pipeline: compile → workflow → review → verify' },
|
|
59
|
+
{ name: 'init', description: 'Scaffold a new Prodara project' },
|
|
60
|
+
{ name: 'validate', description: 'Parse and validate .prd files without building' },
|
|
61
|
+
{ name: 'graph', description: 'Compile .prd files and output the Product Graph' },
|
|
62
|
+
{ name: 'plan', description: 'Compile and produce an incremental plan' },
|
|
63
|
+
{ name: 'test', description: 'Run spec tests defined in .prd files' },
|
|
64
|
+
],
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
group: 'Analysis',
|
|
68
|
+
commands: [
|
|
69
|
+
{ name: 'diff', description: 'Show incremental diff between current and previous graph' },
|
|
70
|
+
{ name: 'drift', description: 'Detect if specs have drifted from last build' },
|
|
71
|
+
{ name: 'analyze', description: 'Run cross-spec consistency and coverage analysis' },
|
|
72
|
+
{ name: 'doctor', description: 'Check compiler installation and workspace health' },
|
|
73
|
+
{ name: 'dashboard', description: 'Show project overview dashboard' },
|
|
74
|
+
],
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
group: 'Exploration',
|
|
78
|
+
commands: [
|
|
79
|
+
{ name: 'explain', description: 'Explain a node in the product graph by ID' },
|
|
80
|
+
{ name: 'why', description: 'Explain why a diagnostic code was reported' },
|
|
81
|
+
{ name: 'onboard', description: 'Generate a guided walkthrough for new team members' },
|
|
82
|
+
{ name: 'checklist', description: 'Generate a quality validation checklist' },
|
|
83
|
+
],
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
group: 'Change Management',
|
|
87
|
+
commands: [
|
|
88
|
+
{ name: 'propose', description: 'Create a new change proposal' },
|
|
89
|
+
{ name: 'changes', description: 'List active change proposals' },
|
|
90
|
+
{ name: 'apply', description: 'Apply a change proposal' },
|
|
91
|
+
{ name: 'archive', description: 'Archive a completed change proposal' },
|
|
92
|
+
],
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
group: 'Utilities',
|
|
96
|
+
commands: [
|
|
97
|
+
{ name: 'watch', description: 'Watch .prd files and re-compile on changes' },
|
|
98
|
+
{ name: 'clarify', description: 'Identify specification ambiguities' },
|
|
99
|
+
{ name: 'docs', description: 'Generate markdown docs from .prd specifications' },
|
|
100
|
+
{ name: 'history', description: 'Browse past build runs' },
|
|
101
|
+
{ name: 'extension', description: 'Manage Prodara extensions (list, add, remove)' },
|
|
102
|
+
{ name: 'preset', description: 'Manage Prodara presets (list, add, remove)' },
|
|
103
|
+
],
|
|
104
|
+
},
|
|
105
|
+
];
|
|
106
|
+
// ---------------------------------------------------------------------------
|
|
107
|
+
// help / version output
|
|
108
|
+
// ---------------------------------------------------------------------------
|
|
109
|
+
export function printHelp(version) {
|
|
110
|
+
const border = pc.dim('─'.repeat(60));
|
|
111
|
+
const lines = [];
|
|
112
|
+
lines.push('');
|
|
113
|
+
lines.push(pc.bold(' Prodara CLI') + pc.dim(` v${version}`));
|
|
114
|
+
lines.push(pc.dim(' The spec-driven compiler for product engineering'));
|
|
115
|
+
lines.push('');
|
|
116
|
+
lines.push(border);
|
|
117
|
+
lines.push('');
|
|
118
|
+
lines.push(pc.bold(' Usage: ') + 'prodara ' + pc.cyan('<command>') + ' [options]');
|
|
119
|
+
lines.push('');
|
|
120
|
+
// Compute column width for alignment
|
|
121
|
+
const maxName = Math.max(...COMMAND_GROUPS.flatMap(g => g.commands.map(c => c.name.length)));
|
|
122
|
+
for (const { group, commands } of COMMAND_GROUPS) {
|
|
123
|
+
lines.push(pc.bold(` ${group}`));
|
|
124
|
+
for (const cmd of commands) {
|
|
125
|
+
const padded = cmd.name.padEnd(maxName + 2);
|
|
126
|
+
lines.push(` ${pc.green(padded)}${pc.dim(cmd.description)}`);
|
|
127
|
+
}
|
|
128
|
+
lines.push('');
|
|
129
|
+
}
|
|
130
|
+
lines.push(pc.bold(' Global Options'));
|
|
131
|
+
lines.push(` ${pc.green('help'.padEnd(maxName + 2))}${pc.dim('Show this help message')}`);
|
|
132
|
+
lines.push(` ${pc.green('version'.padEnd(maxName + 2))}${pc.dim('Show CLI and compiler versions')}`);
|
|
133
|
+
lines.push('');
|
|
134
|
+
lines.push(border);
|
|
135
|
+
lines.push('');
|
|
136
|
+
lines.push(pc.dim(' Run ') + pc.cyan('prodara <command> --help') + pc.dim(' for command-specific usage.'));
|
|
137
|
+
lines.push('');
|
|
138
|
+
process.stdout.write(lines.join('\n'));
|
|
139
|
+
}
|
|
140
|
+
export function printVersion(wrapperVersion, localVersion) {
|
|
141
|
+
const lines = [];
|
|
142
|
+
lines.push(`${pc.bold('@prodara/cli')} ${pc.green(`v${wrapperVersion}`)}`);
|
|
143
|
+
if (localVersion) {
|
|
144
|
+
lines.push(`${pc.bold('@prodara/compiler')} ${pc.green(`v${localVersion}`)}`);
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
lines.push(`${pc.bold('@prodara/compiler')} ${pc.dim('not installed')}`);
|
|
148
|
+
}
|
|
149
|
+
process.stdout.write(lines.join('\n') + '\n');
|
|
150
|
+
}
|
|
151
|
+
export function main() {
|
|
35
152
|
const cwd = process.cwd();
|
|
36
153
|
const local = resolveLocal(cwd);
|
|
37
154
|
const wrapperVersion = getWrapperVersion();
|
|
155
|
+
const args = process.argv.slice(2);
|
|
156
|
+
// Intercept help and version before delegation
|
|
157
|
+
const firstArg = args[0];
|
|
158
|
+
if (firstArg === 'help' || firstArg === '--help' || firstArg === '-h') {
|
|
159
|
+
printHelp(wrapperVersion);
|
|
160
|
+
process.exitCode = 0;
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
if (firstArg === 'version' || firstArg === '--version' || firstArg === '-V') {
|
|
164
|
+
printVersion(wrapperVersion, local?.version ?? null);
|
|
165
|
+
process.exitCode = 0;
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
38
168
|
if (!local) {
|
|
169
|
+
// Special-case: `prodara init` bootstraps a project even without a local
|
|
170
|
+
// compiler by delegating to the compiler bundled inside @prodara/cli's
|
|
171
|
+
// own node_modules (it's a production dependency).
|
|
172
|
+
if (args[0] === 'init') {
|
|
173
|
+
const bundledEntry = resolveBundledCompiler();
|
|
174
|
+
if (bundledEntry) {
|
|
175
|
+
try {
|
|
176
|
+
execFileSync(process.execPath, [bundledEntry, ...args], {
|
|
177
|
+
cwd,
|
|
178
|
+
stdio: 'inherit',
|
|
179
|
+
env: process.env,
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
catch (err) {
|
|
183
|
+
if (err && typeof err === 'object' && 'status' in err) {
|
|
184
|
+
process.exitCode = err.status;
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
process.exitCode = 1;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
// Bundled compiler missing (shouldn't happen) — fall through to error
|
|
193
|
+
}
|
|
39
194
|
process.stderr.write('Error: Could not find a local installation of @prodara/compiler.\n' +
|
|
40
195
|
'\n' +
|
|
41
196
|
'To set up a Prodara project:\n' +
|
|
42
|
-
'
|
|
43
|
-
' npx prodara init\n' +
|
|
197
|
+
' prodara init\n' +
|
|
44
198
|
'\n' +
|
|
45
199
|
`@prodara/cli v${wrapperVersion}\n`);
|
|
46
200
|
process.exitCode = 1;
|
|
@@ -63,7 +217,6 @@ function main() {
|
|
|
63
217
|
return;
|
|
64
218
|
}
|
|
65
219
|
// Delegate to the local compiler CLI
|
|
66
|
-
const args = process.argv.slice(2);
|
|
67
220
|
try {
|
|
68
221
|
execFileSync(process.execPath, [local.cliEntry, ...args], {
|
|
69
222
|
cwd,
|
|
@@ -81,5 +234,8 @@ function main() {
|
|
|
81
234
|
}
|
|
82
235
|
}
|
|
83
236
|
}
|
|
84
|
-
|
|
237
|
+
/* v8 ignore next 3 -- auto-invoked entry point */
|
|
238
|
+
if (process.argv[1] && resolve(process.argv[1]) === __filename) {
|
|
239
|
+
main();
|
|
240
|
+
}
|
|
85
241
|
//# sourceMappingURL=bin.js.map
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,8EAA8E;AAC9E,4CAA4C;AAC5C,8EAA8E;AAC9E,iDAAiD;AACjD,gEAAgE;AAChE,wCAAwC;AACxC,2DAA2D;AAC3D,EAAE;AACF,uEAAuE;AACvE,sEAAsE;AACtE,0CAA0C;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAEvE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACpF,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACpF,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,4 +2,5 @@
|
|
|
2
2
|
// @prodara/cli — Public API
|
|
3
3
|
// ---------------------------------------------------------------------------
|
|
4
4
|
export { resolveLocal, parseSemver, checkVersionCompatibility } from './resolve.js';
|
|
5
|
+
export { printHelp, printVersion } from './bin.js';
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAC9E,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAC9E,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAEpF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prodara/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Prodara CLI — thin wrapper that delegates to the project-local @prodara/compiler",
|
|
5
5
|
"author": "Prodara Contributors",
|
|
6
6
|
"repository": {
|
|
@@ -24,6 +24,8 @@
|
|
|
24
24
|
"scripts": {
|
|
25
25
|
"build": "tsc -p tsconfig.build.json",
|
|
26
26
|
"typecheck": "tsc --noEmit",
|
|
27
|
+
"test": "vitest run",
|
|
28
|
+
"test:coverage": "vitest run --coverage",
|
|
27
29
|
"clean": "rm -rf dist",
|
|
28
30
|
"prepublishOnly": "npm run clean && npm run build"
|
|
29
31
|
},
|
|
@@ -37,10 +39,13 @@
|
|
|
37
39
|
"node": ">=20.0.0"
|
|
38
40
|
},
|
|
39
41
|
"dependencies": {
|
|
40
|
-
"@prodara/compiler": "^0.1.0"
|
|
42
|
+
"@prodara/compiler": "^0.1.0",
|
|
43
|
+
"picocolors": "^1.1.1"
|
|
41
44
|
},
|
|
42
45
|
"devDependencies": {
|
|
43
46
|
"@types/node": "^20.14.0",
|
|
44
|
-
"
|
|
47
|
+
"@vitest/coverage-v8": "^2.0.0",
|
|
48
|
+
"typescript": "^5.5.0",
|
|
49
|
+
"vitest": "^2.0.0"
|
|
45
50
|
}
|
|
46
51
|
}
|