@vreko/cli 3.1.0 → 3.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.
@@ -8,7 +8,7 @@ process.env.VREKO_CLI='true';process.env.NODE_NO_WARNINGS='1';
8
8
  function createInitCommand() {
9
9
  return new Command("init").description("Bootstrap Vreko for a repository").argument("[path]", "Workspace path (default: current directory)").option("-y, --yes", "Skip confirmation prompts").option("--non-interactive", "Run without prompts").option("--json", "Output structured JSON summary").option("--force", "Re-initialize even if already set up").option("--dry-run", "Show what would be configured").option("--skip-mcp", "Skip MCP configuration").option("--skip-service", "Skip service registration").option("--api-key <key>", "API key for Pro features").option("--dev", "Use local dev mode for MCP").option("--npm", "Use npm/npx mode for MCP").option("-q, --quiet", "Suppress informational output").option("-v, --verbose", "Show detailed detection reasoning").action(async (pathArg, options) => {
10
10
  if (options.json || options.nonInteractive || !process.stdin.isTTY) {
11
- const { createInitCommand: createCoreInit } = await import('./init-core-LUZ4YEPI.js');
11
+ const { createInitCommand: createCoreInit } = await import('./init-core-HDHFYD5I.js');
12
12
  const coreCmd = createCoreInit();
13
13
  const argv = [
14
14
  "node",
@@ -60,7 +60,7 @@ function createInitCommand() {
60
60
  }
61
61
  const { render } = await import('ink');
62
62
  const React = await import('react');
63
- const { InitApp: App } = await import('./InitApp-FB2RDCNO.js');
63
+ const { InitApp: App } = await import('./InitApp-QW4UK2DB.js');
64
64
  const initProfile = "VIRGIN";
65
65
  const { waitUntilExit } = render(React.createElement(App, {
66
66
  pathArg,
@@ -73,5 +73,5 @@ function createInitCommand() {
73
73
  __name(createInitCommand, "createInitCommand");
74
74
 
75
75
  export { createInitCommand };
76
- //# sourceMappingURL=chunk-OW6DEZEQ.js.map
77
- //# sourceMappingURL=chunk-OW6DEZEQ.js.map
76
+ //# sourceMappingURL=chunk-FEYKLUNK.js.map
77
+ //# sourceMappingURL=chunk-FEYKLUNK.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/init/init-command.ts"],"names":["createInitCommand","Command","description","argument","option","action","pathArg","options","json","nonInteractive","process","stdin","isTTY","createCoreInit","coreCmd","argv","push","yes","force","dryRun","skipMcp","skipService","quiet","verbose","dev","npm","apiKey","parseAsync","from","render","React","InitApp","App","initProfile","waitUntilExit","createElement"],"mappings":"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","file":"chunk-OW6DEZEQ.js","sourcesContent":["import { existsSync } from \"node:fs\";\nimport { join, resolve } from \"node:path\";\nimport type { BootProfileType } from \"@vreko/contracts/local-service\";\nimport { Command } from \"commander\";\n\ndeclare const __CLI_VERSION__: string | undefined;\n\n/**\n * Derive the correct BootProfileType from filesystem state.\n * VIRGIN: no .vreko/config.json - first-time init, Detection frame must render.\n * WARM_RETURN: config exists - already initialized; InitApp exits via its guard.\n * WARM_RETURN rendering path is deferred (P2-Medium post-launch work).\n */\nfunction deriveInitProfile(pathArg: string | undefined): BootProfileType {\n\tconst workspacePath = resolve(pathArg || process.cwd());\n\treturn existsSync(join(workspacePath, \".vreko\", \"config.json\")) ? \"WARM_RETURN\" : \"VIRGIN\";\n}\n\n// Export the command maker\nexport function createInitCommand(): Command {\n\treturn new Command(\"init\")\n\t\t.description(\"Bootstrap Vreko for a repository\")\n\t\t.argument(\"[path]\", \"Workspace path (default: current directory)\")\n\t\t.option(\"-y, --yes\", \"Skip confirmation prompts\")\n\t\t.option(\"--non-interactive\", \"Run without prompts\")\n\t\t.option(\"--json\", \"Output structured JSON summary\")\n\t\t.option(\"--force\", \"Re-initialize even if already set up\")\n\t\t.option(\"--dry-run\", \"Show what would be configured\")\n\t\t.option(\"--skip-mcp\", \"Skip MCP configuration\")\n\t\t.option(\"--skip-service\", \"Skip service registration\")\n\t\t.option(\"--api-key <key>\", \"API key for Pro features\")\n\t\t.option(\"--dev\", \"Use local dev mode for MCP\")\n\t\t.option(\"--npm\", \"Use npm/npx mode for MCP\")\n\t\t.option(\"-q, --quiet\", \"Suppress informational output\")\n\t\t.option(\"-v, --verbose\", \"Show detailed detection reasoning\")\n\t\t.action(async (pathArg: string | undefined, options) => {\n\t\t\t// Guard: if non-TTY, --json, or --non-interactive, delegate to core init\n\t\t\t// The TUI requires a TTY with raw mode support and crashes without one.\n\t\t\tif (options.json || options.nonInteractive || !process.stdin.isTTY) {\n\t\t\t\tconst { createInitCommand: createCoreInit } = await import(\"./init-core.js\");\n\t\t\t\tconst coreCmd = createCoreInit();\n\t\t\t\t// Build argv array for commander parsing\n\t\t\t\tconst argv = [\"node\", \"init\"];\n\t\t\t\tif (pathArg) {\n\t\t\t\t\targv.push(pathArg);\n\t\t\t\t}\n\t\t\t\tif (options.json) {\n\t\t\t\t\targv.push(\"--json\");\n\t\t\t\t}\n\t\t\t\tif (options.nonInteractive) {\n\t\t\t\t\targv.push(\"--non-interactive\");\n\t\t\t\t}\n\t\t\t\tif (options.yes) {\n\t\t\t\t\targv.push(\"--yes\");\n\t\t\t\t}\n\t\t\t\tif (options.force) {\n\t\t\t\t\targv.push(\"--force\");\n\t\t\t\t}\n\t\t\t\tif (options.dryRun) {\n\t\t\t\t\targv.push(\"--dry-run\");\n\t\t\t\t}\n\t\t\t\tif (options.skipMcp) {\n\t\t\t\t\targv.push(\"--skip-mcp\");\n\t\t\t\t}\n\t\t\t\tif (options.skipService) {\n\t\t\t\t\targv.push(\"--skip-service\");\n\t\t\t\t}\n\t\t\t\tif (options.quiet) {\n\t\t\t\t\targv.push(\"--quiet\");\n\t\t\t\t}\n\t\t\t\tif (options.verbose) {\n\t\t\t\t\targv.push(\"--verbose\");\n\t\t\t\t}\n\t\t\t\tif (options.dev) {\n\t\t\t\t\targv.push(\"--dev\");\n\t\t\t\t}\n\t\t\t\tif (options.npm) {\n\t\t\t\t\targv.push(\"--npm\");\n\t\t\t\t}\n\t\t\t\tif (options.apiKey) {\n\t\t\t\t\targv.push(\"--api-key\", options.apiKey);\n\t\t\t\t}\n\t\t\t\tawait coreCmd.parseAsync(argv, { from: \"node\" });\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// TTY mode: render the TUI with the correct boot profile.\n\t\t\tconst { render } = await import(\"ink\");\n\t\t\tconst React = await import(\"react\");\n\t\t\tconst { InitApp: App } = await import(\"../../ui/init/InitApp.js\");\n\t\t\t// Always VIRGIN in TUI - WARM_RETURN skips scan so profile state stays\n\t\t\t// null and activation never renders. Re-init runs the full flow instead.\n\t\t\tconst initProfile = \"VIRGIN\" as const;\n\t\t\tconst { waitUntilExit } = render(React.createElement(App, { pathArg, options, initProfile }));\n\t\t\tawait waitUntilExit();\n\t\t});\n}\n"]}
1
+ {"version":3,"sources":["../src/commands/init/init-command.ts"],"names":["createInitCommand","Command","description","argument","option","action","pathArg","options","json","nonInteractive","process","stdin","isTTY","createCoreInit","coreCmd","argv","push","yes","force","dryRun","skipMcp","skipService","quiet","verbose","dev","npm","apiKey","parseAsync","from","render","React","InitApp","App","initProfile","waitUntilExit","createElement"],"mappings":"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","file":"chunk-FEYKLUNK.js","sourcesContent":["import { existsSync } from \"node:fs\";\nimport { join, resolve } from \"node:path\";\nimport type { BootProfileType } from \"@vreko/contracts/local-service\";\nimport { Command } from \"commander\";\n\ndeclare const __CLI_VERSION__: string | undefined;\n\n/**\n * Derive the correct BootProfileType from filesystem state.\n * VIRGIN: no .vreko/config.json - first-time init, Detection frame must render.\n * WARM_RETURN: config exists - already initialized; InitApp exits via its guard.\n * WARM_RETURN rendering path is deferred (P2-Medium post-launch work).\n */\nfunction deriveInitProfile(pathArg: string | undefined): BootProfileType {\n\tconst workspacePath = resolve(pathArg || process.cwd());\n\treturn existsSync(join(workspacePath, \".vreko\", \"config.json\")) ? \"WARM_RETURN\" : \"VIRGIN\";\n}\n\n// Export the command maker\nexport function createInitCommand(): Command {\n\treturn new Command(\"init\")\n\t\t.description(\"Bootstrap Vreko for a repository\")\n\t\t.argument(\"[path]\", \"Workspace path (default: current directory)\")\n\t\t.option(\"-y, --yes\", \"Skip confirmation prompts\")\n\t\t.option(\"--non-interactive\", \"Run without prompts\")\n\t\t.option(\"--json\", \"Output structured JSON summary\")\n\t\t.option(\"--force\", \"Re-initialize even if already set up\")\n\t\t.option(\"--dry-run\", \"Show what would be configured\")\n\t\t.option(\"--skip-mcp\", \"Skip MCP configuration\")\n\t\t.option(\"--skip-service\", \"Skip service registration\")\n\t\t.option(\"--api-key <key>\", \"API key for Pro features\")\n\t\t.option(\"--dev\", \"Use local dev mode for MCP\")\n\t\t.option(\"--npm\", \"Use npm/npx mode for MCP\")\n\t\t.option(\"-q, --quiet\", \"Suppress informational output\")\n\t\t.option(\"-v, --verbose\", \"Show detailed detection reasoning\")\n\t\t.action(async (pathArg: string | undefined, options) => {\n\t\t\t// Guard: if non-TTY, --json, or --non-interactive, delegate to core init\n\t\t\t// The TUI requires a TTY with raw mode support and crashes without one.\n\t\t\tif (options.json || options.nonInteractive || !process.stdin.isTTY) {\n\t\t\t\tconst { createInitCommand: createCoreInit } = await import(\"./init-core.js\");\n\t\t\t\tconst coreCmd = createCoreInit();\n\t\t\t\t// Build argv array for commander parsing\n\t\t\t\tconst argv = [\"node\", \"init\"];\n\t\t\t\tif (pathArg) {\n\t\t\t\t\targv.push(pathArg);\n\t\t\t\t}\n\t\t\t\tif (options.json) {\n\t\t\t\t\targv.push(\"--json\");\n\t\t\t\t}\n\t\t\t\tif (options.nonInteractive) {\n\t\t\t\t\targv.push(\"--non-interactive\");\n\t\t\t\t}\n\t\t\t\tif (options.yes) {\n\t\t\t\t\targv.push(\"--yes\");\n\t\t\t\t}\n\t\t\t\tif (options.force) {\n\t\t\t\t\targv.push(\"--force\");\n\t\t\t\t}\n\t\t\t\tif (options.dryRun) {\n\t\t\t\t\targv.push(\"--dry-run\");\n\t\t\t\t}\n\t\t\t\tif (options.skipMcp) {\n\t\t\t\t\targv.push(\"--skip-mcp\");\n\t\t\t\t}\n\t\t\t\tif (options.skipService) {\n\t\t\t\t\targv.push(\"--skip-service\");\n\t\t\t\t}\n\t\t\t\tif (options.quiet) {\n\t\t\t\t\targv.push(\"--quiet\");\n\t\t\t\t}\n\t\t\t\tif (options.verbose) {\n\t\t\t\t\targv.push(\"--verbose\");\n\t\t\t\t}\n\t\t\t\tif (options.dev) {\n\t\t\t\t\targv.push(\"--dev\");\n\t\t\t\t}\n\t\t\t\tif (options.npm) {\n\t\t\t\t\targv.push(\"--npm\");\n\t\t\t\t}\n\t\t\t\tif (options.apiKey) {\n\t\t\t\t\targv.push(\"--api-key\", options.apiKey);\n\t\t\t\t}\n\t\t\t\tawait coreCmd.parseAsync(argv, { from: \"node\" });\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// TTY mode: render the TUI with the correct boot profile.\n\t\t\tconst { render } = await import(\"ink\");\n\t\t\tconst React = await import(\"react\");\n\t\t\tconst { InitApp: App } = await import(\"../../ui/init/InitApp.js\");\n\t\t\t// Always VIRGIN in TUI - WARM_RETURN skips scan so profile state stays\n\t\t\t// null and activation never renders. Re-init runs the full flow instead.\n\t\t\tconst initProfile = \"VIRGIN\" as const;\n\t\t\tconst { waitUntilExit } = render(React.createElement(App, { pathArg, options, initProfile }));\n\t\t\tawait waitUntilExit();\n\t\t});\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { cliState } from './chunk-GRMRYWYS.js';
3
- import { getDaemonClient, connectToDaemon } from './chunk-LU5BYFBR.js';
3
+ import { getDaemonClient, connectToDaemon } from './chunk-AYVUSU6J.js';
4
4
  import { getServicePidPath } from './chunk-GSUGROXB.js';
5
5
  import { resolveVrekoBinaryPath, detectAIClients, getVrekoMCPConfig, writeClientConfig } from './chunk-MJVY2XUN.js';
6
6
  import { __name, __require } from './chunk-EWOJGXRX.js';
@@ -898,7 +898,7 @@ Or, bundled: Ground Truth ships as the headline skill inside \`@vreko/skills\` n
898
898
  **License:** MIT (methodology); skill file free to distribute
899
899
  **Canonical URL:** https://vreko.dev/ground-truth
900
900
  `;
901
- var cliVersion = "3.1.0" ;
901
+ var cliVersion = "3.1.1" ;
902
902
  function createInitCommand() {
903
903
  return new Command("init").description("Bootstrap Vreko for a repository").argument("[path]", "Workspace path (default: current directory)").option("-y, --yes", "Skip confirmation prompts").option("--non-interactive", "Run without prompts (extension/automation)").option("--json", "Output structured JSON result").option("--dry-run", "Show what would be configured").option("--force", "Re-initialize even if already set up").option("--skip-mcp", "Skip MCP configuration").option("--skip-service", "Skip service registration").option("--api-key <key>", "API key for Pro features").option("--dev", "Use local dev mode for MCP").option("--npm", "Use npm/npx mode for MCP").option("-q, --quiet", "Suppress informational output").option("-v, --verbose", "Show detailed detection reasoning").action(async (path, options) => {
904
904
  const result = await runInit(path, options);
@@ -1793,5 +1793,5 @@ function fail(spinner, result, message) {
1793
1793
  __name(fail, "fail");
1794
1794
 
1795
1795
  export { createHooksCommand, createInitCommand, findWorkspaceRoot, generateClaudeIntegration, resolveWorkspaceRoot };
1796
- //# sourceMappingURL=chunk-YESW4MP7.js.map
1797
- //# sourceMappingURL=chunk-YESW4MP7.js.map
1796
+ //# sourceMappingURL=chunk-UMJEOIQX.js.map
1797
+ //# sourceMappingURL=chunk-UMJEOIQX.js.map