minutework 0.1.0 → 0.1.1

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/EXTERNAL_ALPHA.md CHANGED
@@ -18,6 +18,8 @@ npx minutework deploy --preview
18
18
 
19
19
  Anything outside that path is intentionally deferred.
20
20
 
21
+ If you run `minutework init` **without** `--starter` in an interactive terminal, the CLI prompts for tenant-app, sidecar, both, or base-only. In CI or scripts, use `--starter` or set `MW_CLI_NONINTERACTIVE=1` to skip the prompt (base-only scaffold).
22
+
21
23
  ## What `link` does
22
24
 
23
25
  `minutework link` is no longer tenant-only. It now:
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@ import { runWorkspaceMcpCli } from "@minutework/workspace-mcp";
3
3
  import { runEnvUseCommand, runLinkCommand, runLoginCommand, } from "./auth.js";
4
4
  import { runCodegenCommand, runCompileCommand, runValidateCommand } from "./compile.js";
5
5
  import { runDeployCommand } from "./deploy.js";
6
+ import { promptInitStarters, shouldOfferInteractiveStarterPrompt } from "./init-prompt.js";
6
7
  import { STARTER_IDS, isStarterId, runInit } from "./init.js";
7
8
  import { resolveCliStatePaths } from "./paths.js";
8
9
  import { runDevCommand, runSandboxCommand, runTestCommand, } from "./sandbox.js";
@@ -182,21 +183,25 @@ async function runInitCommand(args, options, io) {
182
183
  targetDirectory = arg;
183
184
  sawTarget = true;
184
185
  }
186
+ let startersForInit = selectedStarters;
187
+ if (selectedStarters.size === 0 && shouldOfferInteractiveStarterPrompt(options.env)) {
188
+ startersForInit = await promptInitStarters(io);
189
+ }
185
190
  const result = await runInit({
186
191
  cwd: options.cwd,
187
192
  targetDirectory,
188
193
  starters: {
189
- tenantApp: selectedStarters.has("tenant-app"),
190
- sidecar: selectedStarters.has("sidecar"),
194
+ tenantApp: startersForInit.has("tenant-app"),
195
+ sidecar: startersForInit.has("sidecar"),
191
196
  },
192
197
  });
193
198
  io.stdout(`Initialized MinuteWork workspace in ${path.relative(options.cwd, result.rootDirectory) || "."}.`);
194
199
  io.stdout(`Workspace slug: ${result.workspaceSlug}`);
195
200
  io.stdout(`Selected starters: ${formatStarters({
196
- tenantApp: selectedStarters.has("tenant-app"),
197
- sidecar: selectedStarters.has("sidecar"),
201
+ tenantApp: startersForInit.has("tenant-app"),
202
+ sidecar: startersForInit.has("sidecar"),
198
203
  })}`);
199
- if (selectedStarters.size === 0) {
204
+ if (startersForInit.size === 0) {
200
205
  io.stdout("No app starters were selected. This workspace contains only the base MinuteWork repo contract.");
201
206
  }
202
207
  return 0;
@@ -271,6 +276,10 @@ Options:
271
276
  --starter Materialize a starter into the generated workspace. Repeat for multiple starters.
272
277
  --tenant-app Compatibility alias for "--starter tenant-app"
273
278
  --sidecar Compatibility alias for "--starter sidecar"
279
+
280
+ Interactive:
281
+ With no --starter flags, if stdin is a TTY and CI/MW_CLI_NONINTERACTIVE are unset, you will be prompted
282
+ to choose starters. Set MW_CLI_NONINTERACTIVE=1 (or CI=1) to skip the prompt and keep base-only scaffold.
274
283
  `;
275
284
  }
276
285
  function parseStarterId(value) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { StarterId } from "./init.js";
2
+ export type CliIo = {
3
+ stderr: (message: string) => void;
4
+ stdout: (message: string) => void;
5
+ };
6
+ /**
7
+ * Maps a single-line menu choice to starter ids. Empty string means default (tenant-app only).
8
+ */
9
+ export declare function parseInitStarterMenuInput(line: string): Set<StarterId>;
10
+ export declare function shouldOfferInteractiveStarterPrompt(env: NodeJS.ProcessEnv): boolean;
11
+ export declare function promptInitStarters(io: CliIo): Promise<Set<StarterId>>;
@@ -0,0 +1,68 @@
1
+ import { createInterface } from "node:readline/promises";
2
+ const MENU_LINES = [
3
+ "",
4
+ "Choose starters for this workspace:",
5
+ " 1) Next.js tenant-app — public routes + private /app workspace",
6
+ " 2) FastAPI sidecar",
7
+ " 3) Both tenant-app and sidecar",
8
+ " 4) Base workspace only (schemas + MCP wiring; no app starters)",
9
+ "",
10
+ ];
11
+ /**
12
+ * Maps a single-line menu choice to starter ids. Empty string means default (tenant-app only).
13
+ */
14
+ export function parseInitStarterMenuInput(line) {
15
+ const key = line.trim() === "" ? "1" : line.trim();
16
+ if (key === "1") {
17
+ return new Set(["tenant-app"]);
18
+ }
19
+ if (key === "2") {
20
+ return new Set(["sidecar"]);
21
+ }
22
+ if (key === "3") {
23
+ return new Set(["tenant-app", "sidecar"]);
24
+ }
25
+ if (key === "4") {
26
+ return new Set();
27
+ }
28
+ throw new Error(`Invalid choice "${line.trim()}". Enter 1, 2, 3, or 4.`);
29
+ }
30
+ export function shouldOfferInteractiveStarterPrompt(env) {
31
+ if (env.MW_CLI_NONINTERACTIVE === "1" || env.MW_CLI_NONINTERACTIVE === "true") {
32
+ return false;
33
+ }
34
+ if (env.CI === "1" || env.CI === "true") {
35
+ return false;
36
+ }
37
+ return Boolean(process.stdin.isTTY && process.stdout.isTTY);
38
+ }
39
+ const MAX_ATTEMPTS = 5;
40
+ export async function promptInitStarters(io) {
41
+ const rl = createInterface({
42
+ input: process.stdin,
43
+ output: process.stdout,
44
+ });
45
+ try {
46
+ for (const line of MENU_LINES) {
47
+ io.stdout(line);
48
+ }
49
+ for (let attempt = 1; attempt <= MAX_ATTEMPTS; attempt += 1) {
50
+ const raw = await rl.question("Enter 1–4 [default: 1]: ");
51
+ try {
52
+ return parseInitStarterMenuInput(raw);
53
+ }
54
+ catch (error) {
55
+ const message = error instanceof Error ? error.message : String(error);
56
+ io.stderr(message);
57
+ if (attempt === MAX_ATTEMPTS) {
58
+ throw error;
59
+ }
60
+ }
61
+ }
62
+ throw new Error("init starter prompt failed after maximum attempts.");
63
+ }
64
+ finally {
65
+ rl.close();
66
+ }
67
+ }
68
+ //# sourceMappingURL=init-prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-prompt.js","sourceRoot":"","sources":["../src/init-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AASzD,MAAM,UAAU,GAAG;IACjB,EAAE;IACF,qCAAqC;IACrC,kEAAkE;IAClE,sBAAsB;IACtB,kCAAkC;IAClC,kEAAkE;IAClE,EAAE;CACM,CAAC;AAEX;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAEnD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QAChB,OAAO,IAAI,GAAG,CAAY,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QAChB,OAAO,IAAI,GAAG,CAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QAChB,OAAO,IAAI,GAAG,CAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QAChB,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,GAAsB;IACxE,IAAI,GAAG,CAAC,qBAAqB,KAAK,GAAG,IAAI,GAAG,CAAC,qBAAqB,KAAK,MAAM,EAAE,CAAC;QAC9E,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EAAS;IAChD,MAAM,EAAE,GAAG,eAAe,CAAC;QACzB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;QAED,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YAC5D,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;YAC1D,IAAI,CAAC;gBACH,OAAO,yBAAyB,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACnB,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;oBAC7B,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "minutework",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "MinuteWork CLI for workspace scaffolding, local preview workflows, and hosted preview deploys.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -21,8 +21,8 @@
21
21
  "dependencies": {
22
22
  "jiti": "^2.6.1",
23
23
  "zod": "^4.3.6",
24
- "@minutework/platform-config": "0.1.0",
25
24
  "@minutework/schema-compiler": "0.1.0",
25
+ "@minutework/platform-config": "0.1.0",
26
26
  "@minutework/workspace-mcp": "0.1.0"
27
27
  },
28
28
  "devDependencies": {