@stackbilt/cli 0.9.0 → 0.9.2
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/commands/run.d.ts +6 -0
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +102 -72
- package/dist/commands/run.js.map +1 -1
- package/dist/http-client.d.ts +18 -0
- package/dist/http-client.d.ts.map +1 -1
- package/dist/http-client.js +19 -0
- package/dist/http-client.js.map +1 -1
- package/package.json +8 -8
package/dist/commands/run.d.ts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* charter run / stackbilt run — architect + scaffold in one step.
|
|
3
3
|
*
|
|
4
|
+
* Uses the MCP gateway scaffold endpoint (TarotScript → materializer)
|
|
5
|
+
* when an API key is available, producing deployment-ready Cloudflare
|
|
6
|
+
* Workers with wrangler.toml, .ai/ governance, tests, and typed handlers.
|
|
7
|
+
*
|
|
8
|
+
* Falls back to the engine /build endpoint when no API key is set.
|
|
9
|
+
*
|
|
4
10
|
* Usage:
|
|
5
11
|
* stackbilt run "Multi-tenant SaaS API with auth and billing"
|
|
6
12
|
* stackbilt run --file spec.md
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAoD3C,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAmJrF"}
|
package/dist/commands/run.js
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* charter run / stackbilt run — architect + scaffold in one step.
|
|
4
4
|
*
|
|
5
|
+
* Uses the MCP gateway scaffold endpoint (TarotScript → materializer)
|
|
6
|
+
* when an API key is available, producing deployment-ready Cloudflare
|
|
7
|
+
* Workers with wrangler.toml, .ai/ governance, tests, and typed handlers.
|
|
8
|
+
*
|
|
9
|
+
* Falls back to the engine /build endpoint when no API key is set.
|
|
10
|
+
*
|
|
5
11
|
* Usage:
|
|
6
12
|
* stackbilt run "Multi-tenant SaaS API with auth and billing"
|
|
7
13
|
* stackbilt run --file spec.md
|
|
@@ -49,14 +55,8 @@ const index_1 = require("../index");
|
|
|
49
55
|
const flags_1 = require("../flags");
|
|
50
56
|
const credentials_1 = require("../credentials");
|
|
51
57
|
const http_client_1 = require("../http-client");
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
{ label: 'UX', extract: r => `${Math.max(1, Math.ceil(r.requirements.keywords.length / 4))} user journeys mapped` },
|
|
55
|
-
{ label: 'RISK', extract: r => `${r.compatibility.tensions.length + 3} risks identified, ${Math.max(1, r.compatibility.tensions.length)} critical` },
|
|
56
|
-
{ label: 'ARCHITECT', extract: r => `${r.stack.length} components, ${r.compatibility.pairs.length} integrations` },
|
|
57
|
-
{ label: 'TDD', extract: r => `${Object.keys(r.scaffold).filter(f => f.includes('test')).length + 5} test scenarios generated` },
|
|
58
|
-
{ label: 'SPRINT', extract: r => `${Object.keys(r.scaffold).filter(f => f.endsWith('.adf') || f.endsWith('.md')).length} ADRs, sprint plan ready` },
|
|
59
|
-
];
|
|
58
|
+
// ─── Animation ──────────────────────────────────────────────
|
|
59
|
+
const PHASE_LABELS = ['PRODUCT', 'UX', 'RISK', 'ARCHITECT', 'TDD', 'SPRINT'];
|
|
60
60
|
const SPINNER = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
61
61
|
function delay(ms) {
|
|
62
62
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
@@ -77,11 +77,34 @@ function slugify(description) {
|
|
|
77
77
|
.slice(0, 4);
|
|
78
78
|
return words.join('-') || 'my-project';
|
|
79
79
|
}
|
|
80
|
+
function phaseDetail(label, result) {
|
|
81
|
+
const fileCount = result.files.length;
|
|
82
|
+
const adfFiles = result.files.filter(f => f.path.endsWith('.adf')).length;
|
|
83
|
+
const testFiles = result.files.filter(f => f.path.includes('test')).length;
|
|
84
|
+
const configFiles = result.files.filter(f => f.path === 'wrangler.toml' || f.path === 'package.json' || f.path === 'tsconfig.json').length;
|
|
85
|
+
switch (label) {
|
|
86
|
+
case 'PRODUCT': return `requirements extracted from intent`;
|
|
87
|
+
case 'UX': return `interface patterns mapped`;
|
|
88
|
+
case 'RISK': return `threats identified and mitigated`;
|
|
89
|
+
case 'ARCHITECT': return `${fileCount} files, ${configFiles} configs generated`;
|
|
90
|
+
case 'TDD': return `${testFiles || 1} test file${testFiles !== 1 ? 's' : ''} generated`;
|
|
91
|
+
case 'SPRINT': return `${adfFiles} governance files, sprint ready`;
|
|
92
|
+
default: return 'done';
|
|
93
|
+
}
|
|
94
|
+
}
|
|
80
95
|
// ─── Command ────────────────────────────────────────────────
|
|
81
96
|
async function runCommand(options, args) {
|
|
82
|
-
// Parse
|
|
97
|
+
// Parse flags first (getFlag consumes flag + value from args)
|
|
83
98
|
const filePath = (0, flags_1.getFlag)(args, '--file');
|
|
84
|
-
const
|
|
99
|
+
const outputDir = (0, flags_1.getFlag)(args, '--output');
|
|
100
|
+
const seedStr = (0, flags_1.getFlag)(args, '--seed');
|
|
101
|
+
const urlOverride = (0, flags_1.getFlag)(args, '--url');
|
|
102
|
+
const fwOverride = (0, flags_1.getFlag)(args, '--framework');
|
|
103
|
+
const dbOverride = (0, flags_1.getFlag)(args, '--database');
|
|
104
|
+
// Collect flag values to exclude from positional args
|
|
105
|
+
const flagValues = new Set([filePath, outputDir, seedStr, urlOverride, fwOverride, dbOverride].filter(Boolean));
|
|
106
|
+
// Parse description from remaining positional args
|
|
107
|
+
const positional = args.filter(a => !a.startsWith('-') && !flagValues.has(a));
|
|
85
108
|
let description;
|
|
86
109
|
if (filePath) {
|
|
87
110
|
if (!fs.existsSync(filePath))
|
|
@@ -96,104 +119,118 @@ async function runCommand(options, args) {
|
|
|
96
119
|
}
|
|
97
120
|
if (!description)
|
|
98
121
|
throw new index_1.CLIError('Empty description.');
|
|
99
|
-
|
|
100
|
-
const request = { description, constraints: {} };
|
|
101
|
-
if (args.includes('--cloudflare-only'))
|
|
102
|
-
request.constraints.cloudflareOnly = true;
|
|
103
|
-
const fw = (0, flags_1.getFlag)(args, '--framework');
|
|
104
|
-
if (fw)
|
|
105
|
-
request.constraints.framework = fw;
|
|
106
|
-
const db = (0, flags_1.getFlag)(args, '--database');
|
|
107
|
-
if (db)
|
|
108
|
-
request.constraints.database = db;
|
|
109
|
-
const seedStr = (0, flags_1.getFlag)(args, '--seed');
|
|
110
|
-
if (seedStr)
|
|
111
|
-
request.seed = parseInt(seedStr, 10);
|
|
112
|
-
const outputDir = (0, flags_1.getFlag)(args, '--output') ?? `./${slugify(description)}`;
|
|
122
|
+
const resolvedOutput = outputDir ?? `./${slugify(description)}`;
|
|
113
123
|
const dryRun = args.includes('--dry-run');
|
|
114
124
|
// Engine client
|
|
115
125
|
const creds = (0, credentials_1.loadCredentials)();
|
|
116
|
-
const baseUrl =
|
|
126
|
+
const baseUrl = urlOverride;
|
|
117
127
|
const client = new http_client_1.EngineClient({ baseUrl: baseUrl ?? creds?.baseUrl, apiKey: creds?.apiKey });
|
|
128
|
+
// Determine path: gateway (with API key) or engine fallback
|
|
129
|
+
const useGateway = !!creds?.apiKey;
|
|
130
|
+
let scaffoldPromise;
|
|
131
|
+
if (useGateway) {
|
|
132
|
+
// Gateway path — produces deployment-ready output (wrangler.toml, .ai/, tests)
|
|
133
|
+
scaffoldPromise = client.scaffold({
|
|
134
|
+
description,
|
|
135
|
+
project_type: args.includes('--cloudflare-only') ? 'worker' : undefined,
|
|
136
|
+
complexity: undefined,
|
|
137
|
+
seed: seedStr ? parseInt(seedStr, 10) : undefined,
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
// Engine fallback — basic scaffold
|
|
142
|
+
const request = { description, constraints: {} };
|
|
143
|
+
if (args.includes('--cloudflare-only'))
|
|
144
|
+
request.constraints.cloudflareOnly = true;
|
|
145
|
+
if (fwOverride)
|
|
146
|
+
request.constraints.framework = fwOverride;
|
|
147
|
+
if (dbOverride)
|
|
148
|
+
request.constraints.database = dbOverride;
|
|
149
|
+
if (seedStr)
|
|
150
|
+
request.seed = parseInt(seedStr, 10);
|
|
151
|
+
scaffoldPromise = client.build(request).then(r => ({
|
|
152
|
+
files: Object.entries(r.scaffold).map(([p, content]) => ({ path: p, content })),
|
|
153
|
+
fileSource: 'engine',
|
|
154
|
+
nextSteps: ['npm install', 'npm run dev'],
|
|
155
|
+
seed: r.seed,
|
|
156
|
+
receipt: r.receipt,
|
|
157
|
+
}));
|
|
158
|
+
}
|
|
118
159
|
// JSON mode — no animation
|
|
119
160
|
if (options.format === 'json') {
|
|
120
|
-
const result = await
|
|
121
|
-
console.log(JSON.stringify({ ...result, outputDir, dryRun }, null, 2));
|
|
161
|
+
const result = await scaffoldPromise;
|
|
162
|
+
console.log(JSON.stringify({ ...result, outputDir: resolvedOutput, dryRun }, null, 2));
|
|
122
163
|
if (!dryRun) {
|
|
123
|
-
writeFiles(
|
|
124
|
-
cacheResult(result, options.configPath);
|
|
164
|
+
writeFiles(resolvedOutput, result.files);
|
|
125
165
|
}
|
|
126
166
|
return index_1.EXIT_CODE.SUCCESS;
|
|
127
167
|
}
|
|
128
168
|
// Interactive mode — animated output
|
|
129
169
|
const isTTY = process.stdout.isTTY === true;
|
|
130
|
-
const buildPromise = client.build(request);
|
|
131
170
|
console.log('');
|
|
171
|
+
if (!useGateway) {
|
|
172
|
+
console.log(' \x1b[2m(tip: run `charter login --key sb_live_xxx` for deployment-ready scaffolds)\x1b[0m');
|
|
173
|
+
console.log('');
|
|
174
|
+
}
|
|
132
175
|
if (isTTY) {
|
|
133
|
-
// Show spinner phases while build is in-flight
|
|
134
176
|
let spinIdx = 0;
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
for (const line of phaseLines) {
|
|
138
|
-
console.log(`\x1b[2m${line}\x1b[0m`);
|
|
177
|
+
for (const label of PHASE_LABELS) {
|
|
178
|
+
console.log(`\x1b[2m ${SPINNER[0]} ${label.padEnd(12)} working...\x1b[0m`);
|
|
139
179
|
}
|
|
140
|
-
// Animate spinners until build completes
|
|
141
180
|
let done = false;
|
|
142
181
|
let result;
|
|
143
|
-
|
|
182
|
+
scaffoldPromise.then(r => { result = r; done = true; }).catch(() => { done = true; });
|
|
144
183
|
while (!done) {
|
|
145
184
|
spinIdx = (spinIdx + 1) % SPINNER.length;
|
|
146
|
-
cursorUp(
|
|
147
|
-
for (
|
|
185
|
+
cursorUp(PHASE_LABELS.length);
|
|
186
|
+
for (const label of PHASE_LABELS) {
|
|
148
187
|
clearLine();
|
|
149
|
-
process.stdout.write(`\x1b[2m ${SPINNER[spinIdx]} ${
|
|
188
|
+
process.stdout.write(`\x1b[2m ${SPINNER[spinIdx]} ${label.padEnd(12)} working...\x1b[0m\n`);
|
|
150
189
|
}
|
|
151
190
|
await delay(80);
|
|
152
191
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
cursorUp(PHASES.length);
|
|
157
|
-
for (const phase of PHASES) {
|
|
192
|
+
result = await scaffoldPromise;
|
|
193
|
+
cursorUp(PHASE_LABELS.length);
|
|
194
|
+
for (const label of PHASE_LABELS) {
|
|
158
195
|
clearLine();
|
|
159
|
-
const detail =
|
|
160
|
-
process.stdout.write(` \x1b[32m❩\x1b[0m ${
|
|
196
|
+
const detail = phaseDetail(label, result);
|
|
197
|
+
process.stdout.write(` \x1b[32m❩\x1b[0m ${label.padEnd(12)} ${detail.padEnd(36)} \x1b[32m✓\x1b[0m\n`);
|
|
161
198
|
await delay(120);
|
|
162
199
|
}
|
|
163
200
|
}
|
|
164
201
|
else {
|
|
165
|
-
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
console.log(` ❩ ${phase.label.padEnd(12)} ${phase.extract(result).padEnd(36)} ✓`);
|
|
202
|
+
const result = await scaffoldPromise;
|
|
203
|
+
for (const label of PHASE_LABELS) {
|
|
204
|
+
console.log(` ❩ ${label.padEnd(12)} ${phaseDetail(label, result).padEnd(36)} ✓`);
|
|
169
205
|
}
|
|
170
|
-
await writeResult(result);
|
|
171
206
|
}
|
|
172
|
-
|
|
173
|
-
const result = await buildPromise;
|
|
174
|
-
const files = Object.entries(result.scaffold).sort(([a], [b]) => a.localeCompare(b));
|
|
207
|
+
const result = await scaffoldPromise;
|
|
175
208
|
console.log('');
|
|
176
209
|
if (dryRun) {
|
|
177
|
-
console.log(` → ${files.length} files would be scaffolded to ${
|
|
178
|
-
for (const
|
|
179
|
-
console.log(` ${
|
|
210
|
+
console.log(` → ${result.files.length} files would be scaffolded to ${resolvedOutput}/`);
|
|
211
|
+
for (const f of result.files) {
|
|
212
|
+
console.log(` ${f.path}`);
|
|
180
213
|
}
|
|
181
214
|
console.log('');
|
|
182
215
|
console.log(' (dry run — no files written)');
|
|
183
216
|
}
|
|
184
217
|
else {
|
|
185
|
-
writeFiles(
|
|
186
|
-
|
|
187
|
-
console.log(` →
|
|
188
|
-
|
|
218
|
+
writeFiles(resolvedOutput, result.files);
|
|
219
|
+
console.log(` → ${result.files.length} files scaffolded to ${resolvedOutput}/`);
|
|
220
|
+
console.log(` → Architecture governed · seed: ${result.seed ?? 'deterministic'}`);
|
|
221
|
+
if (result.nextSteps && result.nextSteps.length > 0) {
|
|
222
|
+
console.log('');
|
|
223
|
+
console.log(' Next steps:');
|
|
224
|
+
for (const step of result.nextSteps) {
|
|
225
|
+
console.log(` ${step}`);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
189
228
|
}
|
|
190
229
|
console.log('');
|
|
191
230
|
return index_1.EXIT_CODE.SUCCESS;
|
|
192
231
|
}
|
|
193
|
-
// Placeholder for non-TTY path
|
|
194
|
-
async function writeResult(_r) { }
|
|
195
232
|
function writeFiles(outputDir, files) {
|
|
196
|
-
for (const
|
|
233
|
+
for (const { path: name, content } of files) {
|
|
197
234
|
const target = path.join(outputDir, name);
|
|
198
235
|
const dir = path.dirname(target);
|
|
199
236
|
if (!fs.existsSync(dir)) {
|
|
@@ -202,11 +239,4 @@ function writeFiles(outputDir, files) {
|
|
|
202
239
|
fs.writeFileSync(target, content);
|
|
203
240
|
}
|
|
204
241
|
}
|
|
205
|
-
function cacheResult(result, configPath) {
|
|
206
|
-
const dir = configPath || '.charter';
|
|
207
|
-
if (!fs.existsSync(dir)) {
|
|
208
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
209
|
-
}
|
|
210
|
-
fs.writeFileSync(path.join(dir, 'last-build.json'), JSON.stringify(result, null, 2));
|
|
211
|
-
}
|
|
212
242
|
//# sourceMappingURL=run.js.map
|
package/dist/commands/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
|
package/dist/http-client.d.ts
CHANGED
|
@@ -63,6 +63,18 @@ export interface BuildResult {
|
|
|
63
63
|
complexity: string;
|
|
64
64
|
};
|
|
65
65
|
}
|
|
66
|
+
export interface ScaffoldFile {
|
|
67
|
+
path: string;
|
|
68
|
+
content: string;
|
|
69
|
+
}
|
|
70
|
+
export interface ScaffoldResult {
|
|
71
|
+
files: ScaffoldFile[];
|
|
72
|
+
fileSource: 'engine' | 'basic' | 'none';
|
|
73
|
+
nextSteps: string[];
|
|
74
|
+
seed?: number;
|
|
75
|
+
receipt?: string;
|
|
76
|
+
facts?: Record<string, unknown>;
|
|
77
|
+
}
|
|
66
78
|
export interface HealthResponse {
|
|
67
79
|
status: string;
|
|
68
80
|
version: string;
|
|
@@ -79,6 +91,12 @@ export declare class EngineClient {
|
|
|
79
91
|
});
|
|
80
92
|
health(): Promise<HealthResponse>;
|
|
81
93
|
build(request: BuildRequest): Promise<BuildResult>;
|
|
94
|
+
scaffold(request: {
|
|
95
|
+
description: string;
|
|
96
|
+
project_type?: string;
|
|
97
|
+
complexity?: string;
|
|
98
|
+
seed?: number;
|
|
99
|
+
}): Promise<ScaffoldResult>;
|
|
82
100
|
catalog(category?: string): Promise<{
|
|
83
101
|
primitives: DrawnTech[];
|
|
84
102
|
total: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../src/http-client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../src/http-client.ts"],"names":[],"mappings":"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"}
|
package/dist/http-client.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.EngineClient = void 0;
|
|
9
9
|
const DEFAULT_BASE_URL = 'https://stackbilt-engine.blue-pine-edf6.workers.dev';
|
|
10
|
+
const GATEWAY_BASE_URL = 'https://mcp.stackbilt.dev';
|
|
10
11
|
class EngineClient {
|
|
11
12
|
baseUrl;
|
|
12
13
|
apiKey;
|
|
@@ -35,6 +36,24 @@ class EngineClient {
|
|
|
35
36
|
}
|
|
36
37
|
return res.json();
|
|
37
38
|
}
|
|
39
|
+
async scaffold(request) {
|
|
40
|
+
if (!this.apiKey) {
|
|
41
|
+
throw new Error('API key required for scaffold. Run `charter login --key sb_live_xxx` first.');
|
|
42
|
+
}
|
|
43
|
+
const res = await fetch(`${GATEWAY_BASE_URL}/api/scaffold`, {
|
|
44
|
+
method: 'POST',
|
|
45
|
+
headers: {
|
|
46
|
+
'Content-Type': 'application/json',
|
|
47
|
+
'Authorization': `Bearer ${this.apiKey}`,
|
|
48
|
+
},
|
|
49
|
+
body: JSON.stringify(request),
|
|
50
|
+
});
|
|
51
|
+
if (!res.ok) {
|
|
52
|
+
const text = await res.text();
|
|
53
|
+
throw new Error(`Scaffold failed (${res.status}): ${text}`);
|
|
54
|
+
}
|
|
55
|
+
return res.json();
|
|
56
|
+
}
|
|
38
57
|
async catalog(category) {
|
|
39
58
|
const url = new URL(`${this.baseUrl}/catalog`);
|
|
40
59
|
if (category)
|
package/dist/http-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../src/http-client.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,MAAM,gBAAgB,GAAG,qDAAqD,CAAC;
|
|
1
|
+
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../src/http-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stackbilt/cli",
|
|
3
3
|
"sideEffects": false,
|
|
4
|
-
"version": "0.9.
|
|
4
|
+
"version": "0.9.2",
|
|
5
5
|
"description": "Charter CLI — repo-level governance checks + architecture scaffolding",
|
|
6
6
|
"bin": {
|
|
7
7
|
"charter": "./dist/bin.js",
|
|
@@ -37,13 +37,13 @@
|
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
40
|
-
"@stackbilt/
|
|
41
|
-
"@stackbilt/
|
|
42
|
-
"@stackbilt/
|
|
43
|
-
"@stackbilt/
|
|
44
|
-
"@stackbilt/
|
|
45
|
-
"@stackbilt/
|
|
46
|
-
"@stackbilt/
|
|
40
|
+
"@stackbilt/adf": "^0.9.2",
|
|
41
|
+
"@stackbilt/drift": "^0.9.2",
|
|
42
|
+
"@stackbilt/core": "^0.9.2",
|
|
43
|
+
"@stackbilt/classify": "^0.9.2",
|
|
44
|
+
"@stackbilt/types": "^0.9.2",
|
|
45
|
+
"@stackbilt/validate": "^0.9.2",
|
|
46
|
+
"@stackbilt/git": "^0.9.2"
|
|
47
47
|
},
|
|
48
48
|
"license": "Apache-2.0",
|
|
49
49
|
"scripts": {
|