jorgex-stack 1.0.5 → 1.0.6

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.
Files changed (2) hide show
  1. package/dist/cli.js +38 -12
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  // src/cli.ts
4
4
  import * as p6 from "@clack/prompts";
5
+ import { pathToFileURL as pathToFileURL2 } from "url";
5
6
 
6
7
  // src/install.ts
7
8
  import fs11 from "fs";
@@ -2752,6 +2753,8 @@ function parseFlags(args) {
2752
2753
  agents: [],
2753
2754
  dryRun: false,
2754
2755
  yes: false,
2756
+ help: false,
2757
+ version: false,
2755
2758
  list: false,
2756
2759
  check: false,
2757
2760
  removeEngram: false,
@@ -2765,6 +2768,8 @@ function parseFlags(args) {
2765
2768
  else if (arg.startsWith("--target-dir=")) flags.targetDir = arg.slice(13);
2766
2769
  else if (arg === "--dry-run") flags.dryRun = true;
2767
2770
  else if (arg === "--yes" || arg === "-y") flags.yes = true;
2771
+ else if (arg === "--help" || arg === "-h") flags.help = true;
2772
+ else if (arg === "--version" || arg === "-v") flags.version = true;
2768
2773
  else if (arg === "--list") flags.list = true;
2769
2774
  else if (arg === "--check") flags.check = true;
2770
2775
  else if (arg === "--remove-engram") flags.removeEngram = true;
@@ -2772,6 +2777,23 @@ function parseFlags(args) {
2772
2777
  }
2773
2778
  return flags;
2774
2779
  }
2780
+ function parseCliArgs(argv) {
2781
+ const [first, ...rest] = argv;
2782
+ const isCommand = COMMANDS.includes(first ?? "install");
2783
+ if (first !== void 0 && !isCommand && !first.startsWith("-")) {
2784
+ return {
2785
+ action: "unknown",
2786
+ command: "install",
2787
+ flags: parseFlags(rest),
2788
+ unknownCommand: first
2789
+ };
2790
+ }
2791
+ const command = isCommand ? first ?? "install" : "install";
2792
+ const flags = parseFlags(isCommand ? rest : argv);
2793
+ if (first === "--help" || first === "-h" || flags.help) return { action: "help", command, flags };
2794
+ if (first === "--version" || first === "-v" || flags.version) return { action: "version", command, flags };
2795
+ return { action: "run", command, flags };
2796
+ }
2775
2797
  async function resolveRuntimes(flags) {
2776
2798
  if (flags.agents.length > 0) return flags.agents;
2777
2799
  const detected = Object.values(ADAPTERS).filter((a) => a.detect().installed);
@@ -2812,18 +2834,16 @@ Opciones:
2812
2834
  Ver PRD.md para el dise\xF1o completo.`);
2813
2835
  }
2814
2836
  async function main() {
2815
- const [first, ...rest] = process.argv.slice(2);
2816
- if (first === "--help" || first === "-h") return printHelp();
2817
- if (first === "--version" || first === "-v") return console.log(VERSION);
2818
- const isCommand = COMMANDS.includes(first ?? "install");
2819
- if (first !== void 0 && !isCommand && !first.startsWith("-")) {
2820
- console.error(`Comando desconocido: ${first}`);
2837
+ const parsed = parseCliArgs(process.argv.slice(2));
2838
+ if (parsed.action === "help") return printHelp();
2839
+ if (parsed.action === "version") return console.log(VERSION);
2840
+ if (parsed.action === "unknown") {
2841
+ console.error(`Comando desconocido: ${parsed.unknownCommand}`);
2821
2842
  printHelp();
2822
2843
  process.exitCode = 1;
2823
2844
  return;
2824
2845
  }
2825
- const command = isCommand ? first ?? "install" : "install";
2826
- const flags = parseFlags(isCommand ? rest : process.argv.slice(2));
2846
+ const { command, flags } = parsed;
2827
2847
  if (flags.targetDir !== void 0 && flags.agents.length !== 1) {
2828
2848
  console.error("--target-dir requiere exactamente un runtime en --agents.");
2829
2849
  process.exitCode = 1;
@@ -2929,7 +2949,13 @@ async function main() {
2929
2949
  }
2930
2950
  }
2931
2951
  }
2932
- main().catch((err) => {
2933
- console.error(err instanceof Error ? err.message : String(err));
2934
- process.exitCode = 1;
2935
- });
2952
+ if (process.argv[1] !== void 0 && import.meta.url === pathToFileURL2(process.argv[1]).href) {
2953
+ main().catch((err) => {
2954
+ console.error(err instanceof Error ? err.message : String(err));
2955
+ process.exitCode = 1;
2956
+ });
2957
+ }
2958
+ export {
2959
+ parseCliArgs,
2960
+ parseFlags
2961
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jorgex-stack",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "Harness multi-agente portable: instala la config JorgeX (agentes, skills, hooks, Engram, MCPs) en Claude Code, Codex CLI y OpenCode",
5
5
  "type": "module",
6
6
  "license": "MIT",