@nepopsx/cli 0.0.11 → 0.0.13

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 (38) hide show
  1. package/dist/agents/remote-config.d.ts +20 -0
  2. package/dist/agents/remote-config.d.ts.map +1 -1
  3. package/dist/agents/remote-config.js +52 -0
  4. package/dist/agents/remote-config.js.map +1 -1
  5. package/dist/commands/install.d.ts +1 -0
  6. package/dist/commands/install.d.ts.map +1 -1
  7. package/dist/commands/install.js +77 -23
  8. package/dist/commands/install.js.map +1 -1
  9. package/dist/commands/push-learnings.d.ts.map +1 -1
  10. package/dist/commands/push-learnings.js +36 -4
  11. package/dist/commands/push-learnings.js.map +1 -1
  12. package/dist/commands/scan.d.ts.map +1 -1
  13. package/dist/commands/scan.js +88 -37
  14. package/dist/commands/scan.js.map +1 -1
  15. package/dist/commands/sync.d.ts.map +1 -1
  16. package/dist/commands/sync.js +97 -20
  17. package/dist/commands/sync.js.map +1 -1
  18. package/dist/generator/package-renderer.d.ts +16 -7
  19. package/dist/generator/package-renderer.d.ts.map +1 -1
  20. package/dist/generator/package-renderer.js +112 -56
  21. package/dist/generator/package-renderer.js.map +1 -1
  22. package/dist/generator/provider-transform.d.ts +15 -0
  23. package/dist/generator/provider-transform.d.ts.map +1 -0
  24. package/dist/generator/provider-transform.js +163 -0
  25. package/dist/generator/provider-transform.js.map +1 -0
  26. package/dist/index.js +2 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/learnings/yaml-learnings.d.ts +29 -0
  29. package/dist/learnings/yaml-learnings.d.ts.map +1 -0
  30. package/dist/learnings/yaml-learnings.js +132 -0
  31. package/dist/learnings/yaml-learnings.js.map +1 -0
  32. package/dist/scan/config.d.ts.map +1 -1
  33. package/dist/scan/config.js +144 -20
  34. package/dist/scan/config.js.map +1 -1
  35. package/dist/scan/prompt/agent.d.ts.map +1 -1
  36. package/dist/scan/prompt/agent.js +12 -5
  37. package/dist/scan/prompt/agent.js.map +1 -1
  38. package/package.json +11 -11
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yaml-learnings.js","sourceRoot":"","sources":["../../src/learnings/yaml-learnings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/scan/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;IACb,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB;AAkCD,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,kBAAkB,CAAC,CA0D7B"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/scan/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;IACb,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB;AAgDD,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,kBAAkB,CAAC,CA8E7B"}
@@ -1,6 +1,7 @@
1
1
  // @nepopsx/cli — Provider config resolution for scan command
2
- import { existsSync, readFileSync } from 'node:fs';
2
+ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
3
3
  import { join } from 'node:path';
4
+ import { select, input, password, confirm } from '@inquirer/prompts';
4
5
  function readConfigFile(cwd) {
5
6
  const configPath = join(cwd, '.nepopsx', 'config.json');
6
7
  if (!existsSync(configPath))
@@ -13,6 +14,20 @@ function readConfigFile(cwd) {
13
14
  return {};
14
15
  }
15
16
  }
17
+ function writeConfigFile(cwd, patch) {
18
+ const configPath = join(cwd, '.nepopsx', 'config.json');
19
+ let existing = {};
20
+ if (existsSync(configPath)) {
21
+ try {
22
+ existing = JSON.parse(readFileSync(configPath, 'utf-8'));
23
+ }
24
+ catch {
25
+ // ignore
26
+ }
27
+ }
28
+ existing.scan = { ...(existing.scan ?? {}), ...patch };
29
+ writeFileSync(configPath, JSON.stringify(existing, null, 2) + '\n', 'utf-8');
30
+ }
16
31
  const PROVIDER_DEFAULTS = {
17
32
  openai: 'gpt-4o',
18
33
  anthropic: 'claude-3-5-sonnet-20241022',
@@ -25,33 +40,51 @@ function parseIntSafe(value, fallback) {
25
40
  }
26
41
  export async function resolveScanConfig(flags, cwd = process.cwd()) {
27
42
  const fileConf = readConfigFile(cwd);
28
- // Resolve provider: CLI flags > env > config file > default (ollama)
29
- const providerRaw = flags.provider ??
43
+ // Resolve provider: CLI flags > env > config file > interactive prompt
44
+ const explicitProvider = flags.provider ??
30
45
  process.env.NEPOPSX_LLM_PROVIDER ??
31
- fileConf.provider ??
32
- 'ollama';
46
+ fileConf.provider;
47
+ let providerRaw;
48
+ let resolvedApiKey;
49
+ let resolvedEndpoint;
50
+ let resolvedModel;
51
+ if (explicitProvider) {
52
+ providerRaw = explicitProvider;
53
+ resolvedEndpoint = flags.endpoint ?? fileConf.endpoint;
54
+ }
55
+ else {
56
+ // No provider configured anywhere — ask interactively
57
+ const chosen = await promptForProvider(cwd);
58
+ providerRaw = chosen.provider;
59
+ resolvedApiKey = chosen.apiKey;
60
+ resolvedEndpoint = chosen.endpoint;
61
+ resolvedModel = chosen.model;
62
+ }
33
63
  const provider = providerRaw;
34
- // Resolve model: CLI flags > env > config file > provider default
35
- const model = flags.model ??
64
+ // Resolve model: explicit arg > interactive choice > env > config file > provider default
65
+ const model = resolvedModel ??
66
+ flags.model ??
36
67
  process.env.NEPOPSX_LLM_MODEL ??
37
68
  fileConf.model ??
38
69
  PROVIDER_DEFAULTS[provider] ??
39
70
  'gpt-4o';
40
71
  // Resolve API key from env only — never from config file (C3)
41
- let apiKey;
42
- if (provider === 'openai' || provider === 'compatible') {
43
- apiKey =
44
- flags.apiKey ??
45
- process.env.OPENAI_API_KEY ??
46
- process.env.NEPOPSX_LLM_API_KEY;
47
- }
48
- else if (provider === 'anthropic') {
49
- apiKey =
50
- flags.apiKey ??
51
- process.env.ANTHROPIC_API_KEY ??
52
- process.env.NEPOPSX_LLM_API_KEY;
72
+ let apiKey = resolvedApiKey;
73
+ if (!apiKey) {
74
+ if (provider === 'openai' || provider === 'compatible') {
75
+ apiKey =
76
+ flags.apiKey ??
77
+ process.env.OPENAI_API_KEY ??
78
+ process.env.NEPOPSX_LLM_API_KEY;
79
+ }
80
+ else if (provider === 'anthropic') {
81
+ apiKey =
82
+ flags.apiKey ??
83
+ process.env.ANTHROPIC_API_KEY ??
84
+ process.env.NEPOPSX_LLM_API_KEY;
85
+ }
53
86
  }
54
- const endpoint = flags.endpoint ?? fileConf.endpoint;
87
+ const endpoint = resolvedEndpoint ?? flags.endpoint ?? fileConf.endpoint;
55
88
  const budget = parseIntSafe(flags.budget ?? fileConf.budget, 30_000);
56
89
  const agentBudget = parseIntSafe(flags.agentBudget ?? fileConf.agentBudget, 60_000);
57
90
  const parallel = parseIntSafe(flags.parallel ?? fileConf.parallel, 1);
@@ -74,4 +107,95 @@ export async function resolveScanConfig(flags, cwd = process.cwd()) {
74
107
  resume: Boolean(flags.resume),
75
108
  };
76
109
  }
110
+ async function promptForProvider(cwd) {
111
+ console.log('');
112
+ const providerChoice = await select({
113
+ message: 'Choose your LLM provider:',
114
+ choices: [
115
+ {
116
+ name: 'OpenAI (gpt-4o · requires OPENAI_API_KEY)',
117
+ value: 'openai',
118
+ },
119
+ {
120
+ name: 'Anthropic (claude-3-5-sonnet · requires ANTHROPIC_API_KEY)',
121
+ value: 'anthropic',
122
+ },
123
+ {
124
+ name: 'Ollama (local · requires ollama serve)',
125
+ value: 'ollama',
126
+ },
127
+ {
128
+ name: 'OpenAI-compatible / GitHub Copilot proxy / VS Code LLM endpoint',
129
+ value: 'compatible',
130
+ },
131
+ ],
132
+ });
133
+ const result = { provider: providerChoice };
134
+ if (providerChoice === 'openai') {
135
+ const existing = process.env.OPENAI_API_KEY ?? process.env.NEPOPSX_LLM_API_KEY;
136
+ if (existing) {
137
+ console.log(' ✓ Using OPENAI_API_KEY from environment.');
138
+ result.apiKey = existing;
139
+ }
140
+ else {
141
+ result.apiKey = await password({ message: 'OpenAI API key (sk-...):', mask: '*' });
142
+ }
143
+ result.model = await input({
144
+ message: 'Model:',
145
+ default: PROVIDER_DEFAULTS.openai,
146
+ });
147
+ }
148
+ else if (providerChoice === 'anthropic') {
149
+ const existing = process.env.ANTHROPIC_API_KEY ?? process.env.NEPOPSX_LLM_API_KEY;
150
+ if (existing) {
151
+ console.log(' ✓ Using ANTHROPIC_API_KEY from environment.');
152
+ result.apiKey = existing;
153
+ }
154
+ else {
155
+ result.apiKey = await password({ message: 'Anthropic API key (sk-ant-...):', mask: '*' });
156
+ }
157
+ result.model = await input({
158
+ message: 'Model:',
159
+ default: PROVIDER_DEFAULTS.anthropic,
160
+ });
161
+ }
162
+ else if (providerChoice === 'ollama') {
163
+ result.endpoint = await input({
164
+ message: 'Ollama base URL:',
165
+ default: 'http://localhost:11434',
166
+ });
167
+ result.model = await input({
168
+ message: 'Model:',
169
+ default: PROVIDER_DEFAULTS.ollama,
170
+ });
171
+ }
172
+ else if (providerChoice === 'compatible') {
173
+ result.endpoint = await input({
174
+ message: 'API base URL (e.g. http://localhost:1234/v1):',
175
+ });
176
+ const rawKey = await password({
177
+ message: 'API key (leave blank if not required):',
178
+ mask: '*',
179
+ });
180
+ if (rawKey.trim())
181
+ result.apiKey = rawKey.trim();
182
+ result.model = await input({ message: 'Model name:', default: PROVIDER_DEFAULTS.compatible });
183
+ }
184
+ // Offer to persist the choice (not the API key) to .nepopsx/config.json
185
+ const save = await confirm({
186
+ message: 'Save this provider choice to .nepopsx/config.json for future runs?',
187
+ default: true,
188
+ });
189
+ if (save) {
190
+ const patch = { provider: providerChoice };
191
+ if (result.model)
192
+ patch.model = result.model;
193
+ if (result.endpoint)
194
+ patch.endpoint = result.endpoint;
195
+ writeConfigFile(cwd, patch);
196
+ console.log(' ✓ Saved to .nepopsx/config.json (API keys are never stored)');
197
+ }
198
+ console.log('');
199
+ return result;
200
+ }
77
201
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/scan/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/scan/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/scan/prompt/agent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,MAAM,CA6DR;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAczE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAoBtD"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/scan/prompt/agent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,MAAM,CAoER;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAczE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAoBtD"}
@@ -18,7 +18,7 @@ export function generateScanContextFile(services, existingConfig, schema, agentB
18
18
  const tokens = Math.ceil(content.length / 3.5);
19
19
  const absPath = resolve(workspaceRoot, service.path, relPath);
20
20
  const relToRoot = relative(workspaceRoot, absPath);
21
- fileEntries.push({ relToRoot, tokens });
21
+ fileEntries.push({ relToRoot, content, tokens });
22
22
  }
23
23
  // Trim from end (lowest-priority files) until fits within remaining budget
24
24
  let serviceTokens = fileEntries.reduce((s, f) => s + f.tokens, 0);
@@ -29,14 +29,21 @@ export function generateScanContextFile(services, existingConfig, schema, agentB
29
29
  if (fileEntries.length === 0)
30
30
  continue;
31
31
  totalTokens += serviceTokens;
32
- const fileRefs = fileEntries.map((f) => `#file:${f.relToRoot}`).join('\n');
33
- serviceSections.push(`### Service: ${service.name}\n${fileRefs}`);
32
+ // Embed actual file content so this context file works when pasted directly into
33
+ // any LLM (Claude.ai, ChatGPT, etc.) — not just VS Code Copilot where #file: resolves.
34
+ const fileBlocks = fileEntries.map((f) => {
35
+ const ext = f.relToRoot.split('.').pop() ?? '';
36
+ return `#### ${f.relToRoot}\n\`\`\`${ext}\n${f.content}\n\`\`\``;
37
+ }).join('\n\n');
38
+ serviceSections.push(`### Service: ${service.name}\n\n${fileBlocks}`);
34
39
  }
35
40
  return [
36
41
  '# NEPOPSX Scan Context',
37
42
  '',
38
- '> Generated by `nepopsx scan --agent`. Paste this into your VS Code AI agent (GitHub Copilot, Claude, Cursor).',
39
- '> After the agent responds, run: `nepopsx scan --apply <response-file.json>`',
43
+ '> Generated by `nepopsx scan --agent`.',
44
+ '> **VS Code Copilot**: Use the prompt at `.github/prompts/nepopsx-scan.prompt.md`.',
45
+ '> **Manual LLM (Claude.ai, ChatGPT, etc.)**: Paste this entire file into the chat.',
46
+ '> After the LLM responds with JSON, save it and run: `nepopsx scan --apply <response-file.json>`',
40
47
  '',
41
48
  '## Task',
42
49
  '',
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/scan/prompt/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/scan/prompt/agent.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASvD;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAA8B,EAC9B,cAAsB,EACtB,MAAc,EACd,WAAmB,EACnB,aAAqB;IAErB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAEnD,mEAAmE;IACnE,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,MAAM,eAAe,GAAa,EAAE,CAAC;IAErC,uFAAuF;IACvF,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAE3F,KAAK,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,MAAM,EAAE,CAAC;QAC1C,MAAM,WAAW,GAAkE,EAAE,CAAC;QAEtF,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC9D,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YACnD,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,2EAA2E;QAC3E,IAAI,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAClE,OAAO,WAAW,GAAG,aAAa,GAAG,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAG,CAAC;YAChC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC;QAC/B,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACvC,WAAW,IAAI,aAAa,CAAC;QAE7B,iFAAiF;QACjF,uFAAuF;QACvF,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACvC,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YAC/C,OAAO,QAAQ,CAAC,CAAC,SAAS,WAAW,GAAG,KAAK,CAAC,CAAC,OAAO,UAAU,CAAC;QACnE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChB,eAAe,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,IAAI,OAAO,UAAU,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,OAAO;QACL,wBAAwB;QACxB,EAAE;QACF,wCAAwC;QACxC,oFAAoF;QACpF,oFAAoF;QACpF,kGAAkG;QAClG,EAAE;QACF,SAAS;QACT,EAAE;QACF,2FAA2F;QAC3F,uEAAuE;QACvE,EAAE;QACF,wBAAwB;QACxB,EAAE;QACF,SAAS;QACT,UAAU;QACV,KAAK;QACL,EAAE;QACF,8BAA8B;QAC9B,EAAE;QACF,SAAS;QACT,cAAc;QACd,KAAK;QACL,EAAE;QACF,iBAAiB;QACjB,EAAE;QACF,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;KAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,eAAuB;IAC/D,OAAO;QACL,KAAK;QACL,WAAW;QACX,mFAAmF;QACnF,KAAK;QACL,EAAE;QACF,0GAA0G;QAC1G,EAAE;QACF,SAAS,eAAe,EAAE;QAC1B,EAAE;QACF,sFAAsF;QACtF,2EAA2E;KAC5E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAA8B,EAC9B,cAAsB,EACtB,MAAc,EACd,WAAmB,EACnB,aAAqB;IAErB,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,wBAAwB,CAAC,CAAC;IAE1F,MAAM,cAAc,GAAG,uBAAuB,CAC5C,QAAQ,EACR,cAAc,EACd,MAAM,EACN,WAAW,EACX,aAAa,CACd,CAAC;IACF,MAAM,aAAa,GAAG,yBAAyB,CAAC,0BAA0B,CAAC,CAAC;IAE5E,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,SAAS,CAAC,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAEtD,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAEpD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACrC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nepopsx/cli",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "description": "NEPOPSX CLI — generate AI agent workspaces from configuration",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -12,12 +12,20 @@
12
12
  "publishConfig": {
13
13
  "access": "public"
14
14
  },
15
+ "scripts": {
16
+ "build": "tsc",
17
+ "clean": "rm -rf dist",
18
+ "dev": "tsc --watch",
19
+ "lint": "tsc --noEmit",
20
+ "test": "node --test dist/**/*.test.js"
21
+ },
15
22
  "files": [
16
23
  "dist",
17
24
  "bin"
18
25
  ],
19
26
  "dependencies": {
20
27
  "@inquirer/prompts": "^8.4.1",
28
+ "@nepopsx/core": "workspace:*",
21
29
  "archiver": "^7.0.1",
22
30
  "chalk": "^5.4.1",
23
31
  "commander": "^13.1.0",
@@ -26,8 +34,7 @@
26
34
  "ignore": "^7.0.0",
27
35
  "inquirer": "^12.3.2",
28
36
  "ora": "^8.2.0",
29
- "yaml": "^2.7.0",
30
- "@nepopsx/core": "0.0.7"
37
+ "yaml": "^2.7.0"
31
38
  },
32
39
  "devDependencies": {
33
40
  "@types/archiver": "^7.0.0",
@@ -36,12 +43,5 @@
36
43
  },
37
44
  "engines": {
38
45
  "node": ">=20"
39
- },
40
- "scripts": {
41
- "build": "tsc",
42
- "clean": "rm -rf dist",
43
- "dev": "tsc --watch",
44
- "lint": "tsc --noEmit",
45
- "test": "node --test dist/**/*.test.js"
46
46
  }
47
- }
47
+ }