@glubean/cli 0.8.1 → 0.8.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/README.md +35 -3
- package/dist/commands/init.d.ts +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +192 -181
- package/dist/commands/init.js.map +1 -1
- package/dist/lib/env.d.ts +29 -0
- package/dist/lib/env.d.ts.map +1 -0
- package/dist/lib/env.js +59 -0
- package/dist/lib/env.js.map +1 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -21,8 +21,9 @@ glubean init # interactive wizard
|
|
|
21
21
|
glubean run # run all tests in testDir
|
|
22
22
|
glubean run path/to/file.test.ts
|
|
23
23
|
glubean run --filter checkout --tag smoke
|
|
24
|
-
glubean
|
|
25
|
-
glubean
|
|
24
|
+
glubean run --profile ci --upload # CI profile + push results to Cloud
|
|
25
|
+
glubean load # discover and run *.load.ts plans
|
|
26
|
+
glubean login # authenticate with Glubean Cloud
|
|
26
27
|
```
|
|
27
28
|
|
|
28
29
|
See the full project README at the [repo root](../../README.md) for the broader Glubean story (SDK, MCP, agent workflow).
|
|
@@ -113,14 +114,45 @@ Verify that a previously generated `metadata.json` still matches the local files
|
|
|
113
114
|
glubean validate-metadata metadata.json
|
|
114
115
|
```
|
|
115
116
|
|
|
117
|
+
### `load [target]`
|
|
118
|
+
|
|
119
|
+
Discover and run load plans (`*.load.ts`) in a project. Writes structured artifacts with latency histograms, over-time timelines, per-endpoint breakdowns, threshold evaluation, and failure/slow-transaction samples.
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
glubean load # discover all *.load.ts in the project
|
|
123
|
+
glubean load tests/shop.load.ts # run a specific load plan
|
|
124
|
+
glubean load --upload # run and push results to Cloud
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Load plans are authored with `@glubean/sdk/load`:
|
|
128
|
+
|
|
129
|
+
```ts
|
|
130
|
+
// shop.load.ts
|
|
131
|
+
import { loadRunner, loadScenario } from "@glubean/sdk/load";
|
|
132
|
+
|
|
133
|
+
export default loadRunner({
|
|
134
|
+
scenarios: [
|
|
135
|
+
loadScenario("browse", { weight: 70, vus: 50, duration: "30s", fn: async (ctx) => {
|
|
136
|
+
await ctx.http.get("products").json();
|
|
137
|
+
}}),
|
|
138
|
+
loadScenario("checkout", { weight: 30, vus: 20, duration: "30s", fn: async (ctx) => {
|
|
139
|
+
await ctx.http.post("orders", { json: { item: "A" } }).json();
|
|
140
|
+
}}),
|
|
141
|
+
],
|
|
142
|
+
thresholds: { "p95 < 500": true },
|
|
143
|
+
});
|
|
144
|
+
```
|
|
145
|
+
|
|
116
146
|
### `login`
|
|
117
147
|
|
|
118
|
-
Authenticate with Glubean Cloud.
|
|
148
|
+
Authenticate with Glubean Cloud via browser device authorization (RFC 8628). Opens your browser, polls for token confirmation, and stores the token under `~/.glubean/`.
|
|
119
149
|
|
|
120
150
|
```bash
|
|
121
151
|
glubean login
|
|
122
152
|
```
|
|
123
153
|
|
|
154
|
+
Alternatively, set `GLUBEAN_TOKEN` in your environment to skip the interactive flow (useful in CI).
|
|
155
|
+
|
|
124
156
|
### `patch <spec>`
|
|
125
157
|
|
|
126
158
|
Merge an OpenAPI spec with a sibling `.patch.yaml` and write the resolved spec.
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Step 2: API Setup — Base URL and optional OpenAPI spec (Best Practice only)
|
|
6
6
|
* Step 3: Git & CI — Auto-detect/init git, hooks, GitHub Actions (Best Practice only)
|
|
7
7
|
*/
|
|
8
|
-
export type InitWorkflow = "
|
|
8
|
+
export type InitWorkflow = "test" | "contract-first";
|
|
9
9
|
export interface InitOptions {
|
|
10
10
|
minimal?: boolean;
|
|
11
11
|
contractFirst?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA4qBH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,gBAAgB,CAAC;AAErD,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAQD,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2O1E"}
|
package/dist/commands/init.js
CHANGED
|
@@ -10,7 +10,7 @@ import { readFileSync } from "node:fs";
|
|
|
10
10
|
import { dirname, resolve } from "node:path";
|
|
11
11
|
import { fileURLToPath } from "node:url";
|
|
12
12
|
import { execFile } from "node:child_process";
|
|
13
|
-
import { confirm, select } from "@inquirer/prompts";
|
|
13
|
+
import { confirm, select, input } from "@inquirer/prompts";
|
|
14
14
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
15
15
|
const colors = {
|
|
16
16
|
reset: "\x1b[0m",
|
|
@@ -72,6 +72,14 @@ async function promptYesNo(question, defaultYes) {
|
|
|
72
72
|
return false;
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
+
async function promptText(question, defaultValue) {
|
|
76
|
+
if (useFancyPrompts()) {
|
|
77
|
+
return await input({ message: question, default: defaultValue });
|
|
78
|
+
}
|
|
79
|
+
const answer = await readLine(`${question} [${defaultValue}]`);
|
|
80
|
+
const trimmed = answer.trim();
|
|
81
|
+
return trimmed || defaultValue;
|
|
82
|
+
}
|
|
75
83
|
async function promptChoice(question, options, defaultKey) {
|
|
76
84
|
if (useFancyPrompts()) {
|
|
77
85
|
return await select({
|
|
@@ -176,23 +184,13 @@ function makePackageJson(_baseUrl) {
|
|
|
176
184
|
scripts: {
|
|
177
185
|
test: "glubean run --profile local",
|
|
178
186
|
"test:ci": "glubean ci run",
|
|
179
|
-
explore: "glubean run --profile explore",
|
|
180
|
-
scan: "glubean scan",
|
|
181
|
-
"validate-metadata": "glubean validate-metadata",
|
|
182
187
|
},
|
|
183
188
|
dependencies: {
|
|
184
189
|
"@glubean/sdk": SDK_VERSION,
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
// The VSCode extension probes that path to load the PROJECT-LOCAL runner;
|
|
190
|
-
// without it, it falls back to its bundled runner, which resolves a
|
|
191
|
-
// SECOND @glubean/sdk instance and breaks configure() (AsyncLocalStorage
|
|
192
|
-
// is per-instance) — "configure() values can only be accessed during test
|
|
193
|
-
// execution". Pinned to SDK_VERSION so runner's own sdk dep collapses to
|
|
194
|
-
// the same store entry as the direct sdk dep (single instance).
|
|
195
|
-
devDependencies: {
|
|
190
|
+
// Runner must be a direct dep (not only transitive via the glubean CLI).
|
|
191
|
+
// pnpm does not hoist transitive deps — VSCode extension probes
|
|
192
|
+
// node_modules/@glubean/runner; missing → bundled fallback runner →
|
|
193
|
+
// second @glubean/sdk instance → configure() throws.
|
|
196
194
|
"@glubean/runner": SDK_VERSION,
|
|
197
195
|
},
|
|
198
196
|
}, null, 2) + "\n");
|
|
@@ -279,6 +277,112 @@ profiles:
|
|
|
279
277
|
selection:
|
|
280
278
|
tags: [smoke]
|
|
281
279
|
`;
|
|
280
|
+
// Combined yaml for the default init template (tests + contracts).
|
|
281
|
+
// explore/ suite is intentionally omitted — the skill creates it on demand.
|
|
282
|
+
const GLUBEAN_YAML_INIT = `version: 1
|
|
283
|
+
|
|
284
|
+
defaults:
|
|
285
|
+
redaction:
|
|
286
|
+
replacementFormat: simple
|
|
287
|
+
|
|
288
|
+
suites:
|
|
289
|
+
tests:
|
|
290
|
+
target: ./tests
|
|
291
|
+
kinds: [test]
|
|
292
|
+
contracts:
|
|
293
|
+
target: ./contracts
|
|
294
|
+
kinds: [contract, flow]
|
|
295
|
+
|
|
296
|
+
profiles:
|
|
297
|
+
local:
|
|
298
|
+
suites: [tests, contracts]
|
|
299
|
+
|
|
300
|
+
ci:
|
|
301
|
+
suites: [tests, contracts]
|
|
302
|
+
selection:
|
|
303
|
+
excludeTags: [manual, destructive]
|
|
304
|
+
execution:
|
|
305
|
+
failFast: true
|
|
306
|
+
concurrency: 2
|
|
307
|
+
reporters:
|
|
308
|
+
junit: .glubean/results/junit.xml
|
|
309
|
+
resultJson: .glubean/results/ci.result.json
|
|
310
|
+
|
|
311
|
+
contract-smoke:
|
|
312
|
+
suites: [contracts]
|
|
313
|
+
selection:
|
|
314
|
+
tags: [smoke]
|
|
315
|
+
`;
|
|
316
|
+
// Example test file — uses dummyjson.com (the default BASE_URL).
|
|
317
|
+
// Users replace with paths that match their own API.
|
|
318
|
+
const API_TEST_TEMPLATE = `import { configure, test } from "@glubean/sdk";
|
|
319
|
+
|
|
320
|
+
const { http } = configure({
|
|
321
|
+
http: { prefixUrl: "{{BASE_URL}}" },
|
|
322
|
+
});
|
|
323
|
+
|
|
324
|
+
export const listUsers = test(
|
|
325
|
+
{ id: "users-list", tags: ["smoke"] },
|
|
326
|
+
async ({ expect }) => {
|
|
327
|
+
const res = await http.get("users?limit=5");
|
|
328
|
+
expect(res).toHaveStatus(200);
|
|
329
|
+
const body = await res.json<{ users: unknown[]; total: number }>();
|
|
330
|
+
expect(Array.isArray(body.users)).toBe(true);
|
|
331
|
+
expect(body.total).toBeGreaterThan(0);
|
|
332
|
+
},
|
|
333
|
+
);
|
|
334
|
+
|
|
335
|
+
export const getUser = test(
|
|
336
|
+
{ id: "users-get", tags: ["smoke"] },
|
|
337
|
+
async ({ expect }) => {
|
|
338
|
+
const res = await http.get("users/1");
|
|
339
|
+
expect(res).toHaveStatus(200);
|
|
340
|
+
const body = await res.json<{ id: number; firstName: string }>();
|
|
341
|
+
expect(typeof body.id).toBe("number");
|
|
342
|
+
expect(typeof body.firstName).toBe("string");
|
|
343
|
+
},
|
|
344
|
+
);
|
|
345
|
+
`;
|
|
346
|
+
// Example contract file — uses dummyjson.com (the default BASE_URL).
|
|
347
|
+
const USERS_CONTRACT_TEMPLATE = `import { contract, configure } from "@glubean/sdk";
|
|
348
|
+
import { z } from "zod";
|
|
349
|
+
|
|
350
|
+
const { http: api } = configure({
|
|
351
|
+
http: { prefixUrl: "{{BASE_URL}}" },
|
|
352
|
+
});
|
|
353
|
+
|
|
354
|
+
const usersApi = contract.http.with("users", {
|
|
355
|
+
client: api,
|
|
356
|
+
security: null,
|
|
357
|
+
});
|
|
358
|
+
|
|
359
|
+
const UserSchema = z.object({
|
|
360
|
+
id: z.number(),
|
|
361
|
+
firstName: z.string(),
|
|
362
|
+
lastName: z.string(),
|
|
363
|
+
email: z.string().email(),
|
|
364
|
+
});
|
|
365
|
+
|
|
366
|
+
// @contract
|
|
367
|
+
export const getUser = usersApi("user-get", {
|
|
368
|
+
endpoint: "GET /users/:id",
|
|
369
|
+
feature: "Users",
|
|
370
|
+
description: "Fetch a single user by ID",
|
|
371
|
+
tags: ["smoke"],
|
|
372
|
+
cases: {
|
|
373
|
+
found: {
|
|
374
|
+
description: "returns the user profile when the ID exists",
|
|
375
|
+
params: { id: "1" },
|
|
376
|
+
expect: { status: 200, schema: UserSchema },
|
|
377
|
+
},
|
|
378
|
+
notFound: {
|
|
379
|
+
description: "returns 404 when the user ID does not exist",
|
|
380
|
+
params: { id: "0" },
|
|
381
|
+
expect: { status: 404 },
|
|
382
|
+
},
|
|
383
|
+
},
|
|
384
|
+
});
|
|
385
|
+
`;
|
|
282
386
|
const CONTRACT_FIRST_SAMPLE_TEST = `import { test } from "@glubean/sdk";
|
|
283
387
|
|
|
284
388
|
/**
|
|
@@ -298,10 +402,8 @@ function makeEnvFile(baseUrl) {
|
|
|
298
402
|
BASE_URL=${baseUrl}
|
|
299
403
|
`;
|
|
300
404
|
}
|
|
301
|
-
const ENV_SECRETS = `#
|
|
302
|
-
#
|
|
303
|
-
USERNAME=emilys
|
|
304
|
-
PASSWORD=emilyspass
|
|
405
|
+
const ENV_SECRETS = `# Credentials and other secrets for tests (this file is gitignored)
|
|
406
|
+
# Example: API_KEY=your-secret-here
|
|
305
407
|
`;
|
|
306
408
|
const GITIGNORE = `# Secrets (all env-specific secrets files)
|
|
307
409
|
.env.secrets
|
|
@@ -329,21 +431,35 @@ node_modules/
|
|
|
329
431
|
`;
|
|
330
432
|
const GLUBEAN_MD_TEMPLATE = `# Project Test Conventions
|
|
331
433
|
|
|
332
|
-
<!-- This file is read by the Glubean AI skill before generating tests.
|
|
333
|
-
<!--
|
|
334
|
-
<!--
|
|
434
|
+
<!-- This file is read by the Glubean AI skill before generating tests. -->
|
|
435
|
+
<!-- Fill in the sections below. The more context you add, the better the -->
|
|
436
|
+
<!-- generated tests will be — especially Business Rules and API Reference. -->
|
|
335
437
|
|
|
336
438
|
## Auth
|
|
337
|
-
<!-- How should
|
|
439
|
+
<!-- How tests should authenticate. e.g.:
|
|
440
|
+
"Bearer token — put API_KEY in .env.secrets, use configure({ http: { headers: { Authorization: 'Bearer {{API_KEY}}' } } })"
|
|
441
|
+
"No auth — public API"
|
|
442
|
+
"Session cookie — use session-auth pattern, see patterns/session-auth.md" -->
|
|
443
|
+
|
|
444
|
+
## API Reference
|
|
445
|
+
<!-- Where the API surface is defined. Pick one or more:
|
|
446
|
+
- OpenAPI spec: "context/openapi.json — run \`glubean spec split\` to index it"
|
|
447
|
+
- Route handlers: "view ../src/routes/" or specific files like "view ../src/routes/users.ts"
|
|
448
|
+
- Markdown docs: "context/api-reference.md"
|
|
449
|
+
Leave empty if you have no docs yet — the agent will discover by running a trace. -->
|
|
450
|
+
|
|
451
|
+
## Business Rules
|
|
452
|
+
<!-- The rules and invariants tests should verify. e.g.:
|
|
453
|
+
- Only admins can create or delete users. Non-admin returns 403.
|
|
454
|
+
- Email must be unique. Duplicate returns 409.
|
|
455
|
+
- Soft-delete only: GET /users/:id still works after DELETE, but list excludes them.
|
|
456
|
+
Leave empty if none yet — add rules here as you discover them. -->
|
|
338
457
|
|
|
339
458
|
## Naming
|
|
340
|
-
<!-- e.g. "
|
|
459
|
+
<!-- e.g. "Test IDs: {resource}-{action}, e.g. user-create, order-list" -->
|
|
341
460
|
|
|
342
461
|
## Tags
|
|
343
|
-
<!-- e.g. "Always
|
|
344
|
-
|
|
345
|
-
## Structure
|
|
346
|
-
<!-- e.g. "Shared clients go in config/, tests in tests/{service}/" -->
|
|
462
|
+
<!-- e.g. "Always tag with team: team:payments" -->
|
|
347
463
|
|
|
348
464
|
## Notes
|
|
349
465
|
<!-- Any other conventions the AI should follow -->
|
|
@@ -520,36 +636,28 @@ export async function initCommand(options = {}) {
|
|
|
520
636
|
console.error("Interactive init requires a TTY. Use --no-interactive and pass --ai-tools/--hooks/--github-actions flags.");
|
|
521
637
|
process.exit(1);
|
|
522
638
|
}
|
|
523
|
-
// ──
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
key: "2",
|
|
537
|
-
label: "Test an existing API",
|
|
538
|
-
desc: "Full project — tests, CI config, types, schemas",
|
|
539
|
-
},
|
|
540
|
-
{
|
|
541
|
-
key: "3",
|
|
542
|
-
label: "Build contract-first for a new API",
|
|
543
|
-
desc: "Define behavior before implementing — contracts, tests, types",
|
|
544
|
-
},
|
|
545
|
-
], "1");
|
|
546
|
-
workflow = choice === "3" ? "contract-first" : choice === "2" ? "test" : "try";
|
|
639
|
+
// ── Contract-first shortcut (legacy flag) ────────────────────────────────
|
|
640
|
+
if (options.contractFirst) {
|
|
641
|
+
await initContractFirst(options.overwrite ?? false);
|
|
642
|
+
return;
|
|
643
|
+
}
|
|
644
|
+
// ── Base URL ──────────────────────────────────────────────────────────────
|
|
645
|
+
let baseUrl;
|
|
646
|
+
if (options.baseUrl) {
|
|
647
|
+
baseUrl = validateBaseUrlOrExit(options.baseUrl, "--base-url");
|
|
648
|
+
}
|
|
649
|
+
else if (interactive) {
|
|
650
|
+
const raw = await promptText("What's your API base URL for your default test environment?", DEFAULT_BASE_URL);
|
|
651
|
+
baseUrl = validateBaseUrlOrExit(raw, "prompt");
|
|
547
652
|
}
|
|
653
|
+
else {
|
|
654
|
+
baseUrl = DEFAULT_BASE_URL;
|
|
655
|
+
}
|
|
656
|
+
// ── Overwrite check ───────────────────────────────────────────────────────
|
|
548
657
|
if (interactive && !options.overwrite) {
|
|
549
|
-
const hasExisting = await fileExists("package.json") ||
|
|
550
|
-
await fileExists(".env");
|
|
658
|
+
const hasExisting = (await fileExists("package.json")) || (await fileExists(".env"));
|
|
551
659
|
if (hasExisting) {
|
|
552
|
-
console.log(`\n ${colors.yellow}⚠${colors.reset} Existing
|
|
660
|
+
console.log(`\n ${colors.yellow}⚠${colors.reset} Existing files detected in this directory.\n`);
|
|
553
661
|
const overwrite = await promptYesNo("Overwrite existing files?", false);
|
|
554
662
|
if (overwrite) {
|
|
555
663
|
options.overwrite = true;
|
|
@@ -559,24 +667,6 @@ export async function initCommand(options = {}) {
|
|
|
559
667
|
}
|
|
560
668
|
}
|
|
561
669
|
}
|
|
562
|
-
if (workflow === "try") {
|
|
563
|
-
await initTryCookbook();
|
|
564
|
-
return;
|
|
565
|
-
}
|
|
566
|
-
if (workflow === "contract-first") {
|
|
567
|
-
await initContractFirst(options.overwrite ?? false);
|
|
568
|
-
return;
|
|
569
|
-
}
|
|
570
|
-
// ── Best Practice — API Setup (no prompt, uses default) ──────────────────
|
|
571
|
-
const baseUrl = options.baseUrl ? validateBaseUrlOrExit(options.baseUrl, "--base-url") : DEFAULT_BASE_URL;
|
|
572
|
-
// Legacy flags — still supported for backward compatibility
|
|
573
|
-
let enableHooks = options.hooks ?? false;
|
|
574
|
-
let enableActions = options.githubActions ?? false;
|
|
575
|
-
const hasGit = await fileExists(".git");
|
|
576
|
-
if (enableHooks && !hasGit) {
|
|
577
|
-
console.error("Error: --hooks requires a Git repository. Run `git init` first.");
|
|
578
|
-
process.exit(1);
|
|
579
|
-
}
|
|
580
670
|
// ── Create files ─────────────────────────────────────────────────────────
|
|
581
671
|
console.log(`\n${colors.dim}━━━ Creating project ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${colors.reset}\n`);
|
|
582
672
|
const files = [
|
|
@@ -585,6 +675,11 @@ export async function initCommand(options = {}) {
|
|
|
585
675
|
content: makePackageJson(baseUrl),
|
|
586
676
|
description: "Package config with scripts",
|
|
587
677
|
},
|
|
678
|
+
{
|
|
679
|
+
path: "glubean.yaml",
|
|
680
|
+
content: GLUBEAN_YAML_INIT,
|
|
681
|
+
description: "Suites + profiles (tests, contracts, CI)",
|
|
682
|
+
},
|
|
588
683
|
{
|
|
589
684
|
path: ".env",
|
|
590
685
|
content: makeEnvFile(baseUrl),
|
|
@@ -593,109 +688,36 @@ export async function initCommand(options = {}) {
|
|
|
593
688
|
{
|
|
594
689
|
path: ".env.secrets",
|
|
595
690
|
content: ENV_SECRETS,
|
|
596
|
-
description: "
|
|
597
|
-
},
|
|
598
|
-
{
|
|
599
|
-
path: "glubean.yaml",
|
|
600
|
-
content: GLUBEAN_YAML_DEFAULT,
|
|
601
|
-
description: "Canonical Glubean project config (suites + profiles)",
|
|
691
|
+
description: "Credentials (gitignored)",
|
|
602
692
|
},
|
|
603
693
|
{
|
|
604
694
|
path: ".gitignore",
|
|
605
695
|
content: GITIGNORE,
|
|
606
696
|
description: "Git ignore rules",
|
|
607
697
|
},
|
|
608
|
-
{
|
|
609
|
-
path: "glubean.setup.ts",
|
|
610
|
-
content: GLUBEAN_SETUP_TEMPLATE,
|
|
611
|
-
description: "Plugin bootstrap entry (installs manifest-based plugins)",
|
|
612
|
-
},
|
|
613
|
-
{
|
|
614
|
-
path: "README.md",
|
|
615
|
-
content: () => readCliTemplate("README.md"),
|
|
616
|
-
description: "Project README",
|
|
617
|
-
},
|
|
618
|
-
{
|
|
619
|
-
path: "context/openapi.sample.json",
|
|
620
|
-
content: () => readCliTemplate("openapi.sample.json"),
|
|
621
|
-
description: "Sample OpenAPI spec (mock)",
|
|
622
|
-
},
|
|
623
|
-
{
|
|
624
|
-
path: "tests/demo.test.ts",
|
|
625
|
-
content: () => readCliTemplate("demo.test.ts.tpl"),
|
|
626
|
-
description: "Demo tests (rich output for dashboard preview)",
|
|
627
|
-
},
|
|
628
|
-
{
|
|
629
|
-
path: "tests/data-driven.test.ts",
|
|
630
|
-
content: () => readCliTemplate("data-driven.test.ts.tpl"),
|
|
631
|
-
description: "Data-driven test examples (JSON, CSV, YAML)",
|
|
632
|
-
},
|
|
633
|
-
{
|
|
634
|
-
path: "tests/pick.test.ts",
|
|
635
|
-
content: () => readCliTemplate("pick.test.ts.tpl"),
|
|
636
|
-
description: "Example selection with test.pick (inline + JSON)",
|
|
637
|
-
},
|
|
638
|
-
{
|
|
639
|
-
path: "data/users.json",
|
|
640
|
-
content: () => readCliTemplate("data/users.json"),
|
|
641
|
-
description: "Sample JSON test data",
|
|
642
|
-
},
|
|
643
|
-
{
|
|
644
|
-
path: "data/endpoints.csv",
|
|
645
|
-
content: () => readCliTemplate("data/endpoints.csv"),
|
|
646
|
-
description: "Sample CSV test data",
|
|
647
|
-
},
|
|
648
|
-
{
|
|
649
|
-
path: "data/scenarios.yaml",
|
|
650
|
-
content: () => readCliTemplate("data/scenarios.yaml"),
|
|
651
|
-
description: "Sample YAML test data",
|
|
652
|
-
},
|
|
653
|
-
{
|
|
654
|
-
path: "data/create-user.json",
|
|
655
|
-
content: () => readCliTemplate("data/create-user.json"),
|
|
656
|
-
description: "Named examples for test.pick",
|
|
657
|
-
},
|
|
658
|
-
{
|
|
659
|
-
path: "explore/api.test.ts",
|
|
660
|
-
content: () => readCliTemplate("minimal-api.test.ts.tpl"),
|
|
661
|
-
description: "Explore — GET and POST basics",
|
|
662
|
-
},
|
|
663
|
-
{
|
|
664
|
-
path: "explore/search.test.ts",
|
|
665
|
-
content: () => readCliTemplate("minimal-search.test.ts.tpl"),
|
|
666
|
-
description: "Explore — parameterized search with test.pick",
|
|
667
|
-
},
|
|
668
|
-
{
|
|
669
|
-
path: "explore/auth.test.ts",
|
|
670
|
-
content: () => readCliTemplate("minimal-auth.test.ts.tpl"),
|
|
671
|
-
description: "Explore — multi-step auth flow",
|
|
672
|
-
},
|
|
673
|
-
{
|
|
674
|
-
path: "data/search-examples.json",
|
|
675
|
-
content: () => readCliTemplate("data/search-examples.json"),
|
|
676
|
-
description: "Search examples for test.pick",
|
|
677
|
-
},
|
|
678
|
-
{
|
|
679
|
-
path: "types/README.md",
|
|
680
|
-
content: TYPES_README,
|
|
681
|
-
description: "Shared response types directory",
|
|
682
|
-
},
|
|
683
|
-
{
|
|
684
|
-
path: "types/data-driven.ts",
|
|
685
|
-
content: () => readCliTemplate("types/data-driven.ts"),
|
|
686
|
-
description: "Types for data-driven test data",
|
|
687
|
-
},
|
|
688
698
|
{
|
|
689
699
|
path: "GLUBEAN.md",
|
|
690
700
|
content: GLUBEAN_MD_TEMPLATE,
|
|
691
|
-
description: "Project
|
|
701
|
+
description: "Project conventions for AI skill",
|
|
692
702
|
},
|
|
693
703
|
{
|
|
694
|
-
path: "
|
|
695
|
-
content:
|
|
696
|
-
description: "
|
|
704
|
+
path: "tests/api.test.ts",
|
|
705
|
+
content: API_TEST_TEMPLATE,
|
|
706
|
+
description: "Example test (replace with your API paths)",
|
|
707
|
+
},
|
|
708
|
+
{
|
|
709
|
+
path: "contracts/users.contract.ts",
|
|
710
|
+
content: USERS_CONTRACT_TEMPLATE,
|
|
711
|
+
description: "Example contract (replace with your endpoints)",
|
|
697
712
|
},
|
|
698
713
|
];
|
|
714
|
+
const enableHooks = options.hooks ?? false;
|
|
715
|
+
const enableActions = options.githubActions ?? false;
|
|
716
|
+
const hasGit = await fileExists(".git");
|
|
717
|
+
if (enableHooks && !hasGit) {
|
|
718
|
+
console.error("Error: --hooks requires a Git repository. Run `git init` first.");
|
|
719
|
+
process.exit(1);
|
|
720
|
+
}
|
|
699
721
|
if (enableHooks) {
|
|
700
722
|
files.push({
|
|
701
723
|
path: ".git/hooks/pre-commit",
|
|
@@ -767,14 +789,13 @@ export async function initCommand(options = {}) {
|
|
|
767
789
|
console.log(`\n${colors.bold}Summary:${colors.reset} ${created} created, ${overwritten} overwritten, ${skipped} skipped\n`);
|
|
768
790
|
if (created > 0) {
|
|
769
791
|
await installDependencies();
|
|
770
|
-
console.log(
|
|
771
|
-
console.log(`\n
|
|
772
|
-
console.log(`
|
|
773
|
-
console.log(`
|
|
774
|
-
console.log(`
|
|
775
|
-
console.log(`
|
|
776
|
-
console.log(
|
|
777
|
-
console.log(`\n ${colors.dim}Tip: install CLI globally for convenience:${colors.reset} ${colors.cyan}npm install -g @glubean/cli${colors.reset}\n`);
|
|
792
|
+
console.log(`\n${colors.bold}Next steps:${colors.reset}`);
|
|
793
|
+
console.log(`\n 1. ${colors.cyan}npm test${colors.reset} ${colors.dim}— runs example tests + contracts against ${baseUrl}${colors.reset}`);
|
|
794
|
+
console.log(` 2. Edit ${colors.cyan}tests/api.test.ts${colors.reset} and ${colors.cyan}contracts/users.contract.ts${colors.reset} for your API`);
|
|
795
|
+
console.log(` 3. Add your AI skill ${colors.dim}(run once)${colors.reset}`);
|
|
796
|
+
console.log(` ${colors.bold}${colors.cyan}npx skills add glubean/skill${colors.reset}`);
|
|
797
|
+
console.log(` ${colors.bold}${colors.cyan}npx add-mcp "npx -y @glubean/mcp@latest"${colors.reset}`);
|
|
798
|
+
console.log(`\n ${colors.dim}Want 35+ examples? git clone https://github.com/glubean/cookbook${colors.reset}\n`);
|
|
778
799
|
}
|
|
779
800
|
}
|
|
780
801
|
// ---------------------------------------------------------------------------
|
|
@@ -926,11 +947,6 @@ const CONTRACT_FIRST_PACKAGE_JSON = (sdkVersion) => JSON.stringify({
|
|
|
926
947
|
dependencies: {
|
|
927
948
|
"@glubean/sdk": sdkVersion,
|
|
928
949
|
zod: "^4.0.0",
|
|
929
|
-
},
|
|
930
|
-
// Direct devDependency so package managers hoist runner to a probe-able
|
|
931
|
-
// node_modules/@glubean/runner. See makePackageJson() for the full
|
|
932
|
-
// single-sdk-instance rationale.
|
|
933
|
-
devDependencies: {
|
|
934
950
|
"@glubean/runner": sdkVersion,
|
|
935
951
|
},
|
|
936
952
|
}, null, 2) + "\n";
|
|
@@ -948,11 +964,6 @@ const DEMO_PACKAGE_JSON = (sdkVersion) => JSON.stringify({
|
|
|
948
964
|
},
|
|
949
965
|
dependencies: {
|
|
950
966
|
"@glubean/sdk": sdkVersion,
|
|
951
|
-
},
|
|
952
|
-
// Direct devDependency so package managers hoist runner to a probe-able
|
|
953
|
-
// node_modules/@glubean/runner. See makePackageJson() for the full
|
|
954
|
-
// single-sdk-instance rationale.
|
|
955
|
-
devDependencies: {
|
|
956
967
|
"@glubean/runner": sdkVersion,
|
|
957
968
|
},
|
|
958
969
|
}, null, 2) + "\n";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared .env file loading for the Glubean CLI.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Load a single .env file and return its key-value pairs.
|
|
6
|
+
* Returns an empty object if the file doesn't exist or can't be read.
|
|
7
|
+
*/
|
|
8
|
+
export declare function loadEnvFile(envPath: string): Promise<Record<string, string>>;
|
|
9
|
+
/**
|
|
10
|
+
* Load `.env` + `.env.secrets` from a project root directory.
|
|
11
|
+
*
|
|
12
|
+
* The secrets file path follows the env file name:
|
|
13
|
+
* `.env` → `.env.secrets`
|
|
14
|
+
* `.env.staging` → `.env.staging.secrets`
|
|
15
|
+
*
|
|
16
|
+
* Secrets overlay env vars (later values win).
|
|
17
|
+
*/
|
|
18
|
+
export declare function loadProjectEnv(rootDir: string, envFileName?: string): Promise<Record<string, string>>;
|
|
19
|
+
/**
|
|
20
|
+
* Expand `${NAME}` references in env values.
|
|
21
|
+
*
|
|
22
|
+
* Lookup order:
|
|
23
|
+
* 1. Already-resolved values from the same pass (supports forward references
|
|
24
|
+
* only if the referenced key appears earlier in the file).
|
|
25
|
+
* 2. `process.env`
|
|
26
|
+
* 3. Empty string if not found.
|
|
27
|
+
*/
|
|
28
|
+
export declare function expandVars(vars: Record<string, string>): Record<string, string>;
|
|
29
|
+
//# sourceMappingURL=env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/lib/env.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAWjC;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,WAAW,SAAS,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CASjC;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQxB"}
|
package/dist/lib/env.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared .env file loading for the Glubean CLI.
|
|
3
|
+
*/
|
|
4
|
+
import { resolve } from "node:path";
|
|
5
|
+
import { readFile } from "node:fs/promises";
|
|
6
|
+
import { parse as parseDotenv } from "dotenv";
|
|
7
|
+
/**
|
|
8
|
+
* Load a single .env file and return its key-value pairs.
|
|
9
|
+
* Returns an empty object if the file doesn't exist or can't be read.
|
|
10
|
+
*/
|
|
11
|
+
export async function loadEnvFile(envPath) {
|
|
12
|
+
try {
|
|
13
|
+
const content = await readFile(envPath, "utf-8");
|
|
14
|
+
return parseDotenv(content);
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
if (error.code === "ENOENT") {
|
|
18
|
+
return {};
|
|
19
|
+
}
|
|
20
|
+
console.warn(`Warning: Could not read env file ${envPath}: ${error.message}`);
|
|
21
|
+
return {};
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Load `.env` + `.env.secrets` from a project root directory.
|
|
26
|
+
*
|
|
27
|
+
* The secrets file path follows the env file name:
|
|
28
|
+
* `.env` → `.env.secrets`
|
|
29
|
+
* `.env.staging` → `.env.staging.secrets`
|
|
30
|
+
*
|
|
31
|
+
* Secrets overlay env vars (later values win).
|
|
32
|
+
*/
|
|
33
|
+
export async function loadProjectEnv(rootDir, envFileName = ".env") {
|
|
34
|
+
const envPath = resolve(rootDir, envFileName);
|
|
35
|
+
const secretsPath = resolve(rootDir, `${envFileName}.secrets`);
|
|
36
|
+
const envVars = await loadEnvFile(envPath);
|
|
37
|
+
const secrets = await loadEnvFile(secretsPath);
|
|
38
|
+
const merged = { ...envVars, ...secrets };
|
|
39
|
+
return expandVars(merged);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Expand `${NAME}` references in env values.
|
|
43
|
+
*
|
|
44
|
+
* Lookup order:
|
|
45
|
+
* 1. Already-resolved values from the same pass (supports forward references
|
|
46
|
+
* only if the referenced key appears earlier in the file).
|
|
47
|
+
* 2. `process.env`
|
|
48
|
+
* 3. Empty string if not found.
|
|
49
|
+
*/
|
|
50
|
+
export function expandVars(vars) {
|
|
51
|
+
const result = {};
|
|
52
|
+
for (const [key, value] of Object.entries(vars)) {
|
|
53
|
+
result[key] = value.replace(/\$\{(\w+)\}/g, (_, name) => {
|
|
54
|
+
return result[name] ?? process.env[name] ?? "";
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
return result;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/lib/env.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE9C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAe;IAEf,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,oCAAoC,OAAO,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACzF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAe,EACf,WAAW,GAAG,MAAM;IAEpB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,WAAW,UAAU,CAAC,CAAC;IAE/D,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;IAE1C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CACxB,IAA4B;IAE5B,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,IAAY,EAAE,EAAE;YAC9D,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@glubean/cli",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.3",
|
|
4
4
|
"engines": {
|
|
5
5
|
"node": ">=22"
|
|
6
6
|
},
|
|
@@ -30,10 +30,10 @@
|
|
|
30
30
|
"dotenv": "^16.4.0",
|
|
31
31
|
"tsx": "^4.19.0",
|
|
32
32
|
"yaml": "^2.7.0",
|
|
33
|
+
"@glubean/redaction": "0.8.1",
|
|
33
34
|
"@glubean/sdk": "0.8.1",
|
|
34
|
-
"@glubean/scanner": "0.8.1",
|
|
35
35
|
"@glubean/runner": "0.8.1",
|
|
36
|
-
"@glubean/
|
|
36
|
+
"@glubean/scanner": "0.8.1"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"typescript": "^5.0.0"
|