@radkode/neo 1.2.0 → 1.4.0

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 (93) hide show
  1. package/README.md +81 -9
  2. package/dist/commands/agent/context/index.js +12 -57
  3. package/dist/commands/agent/context/index.js.map +1 -1
  4. package/dist/commands/agent/init/index.d.ts.map +1 -1
  5. package/dist/commands/agent/init/index.js +36 -33
  6. package/dist/commands/agent/init/index.js.map +1 -1
  7. package/dist/commands/alias/setup/index.d.ts.map +1 -1
  8. package/dist/commands/alias/setup/index.js +2 -11
  9. package/dist/commands/alias/setup/index.js.map +1 -1
  10. package/dist/commands/changeset/index.d.ts +17 -0
  11. package/dist/commands/changeset/index.d.ts.map +1 -0
  12. package/dist/commands/changeset/index.js +251 -0
  13. package/dist/commands/changeset/index.js.map +1 -0
  14. package/dist/commands/completions/index.d.ts.map +1 -1
  15. package/dist/commands/completions/index.js +20 -12
  16. package/dist/commands/completions/index.js.map +1 -1
  17. package/dist/commands/config/index.d.ts.map +1 -1
  18. package/dist/commands/config/index.js +173 -158
  19. package/dist/commands/config/index.js.map +1 -1
  20. package/dist/commands/config/profile/index.d.ts.map +1 -1
  21. package/dist/commands/config/profile/index.js +169 -232
  22. package/dist/commands/config/profile/index.js.map +1 -1
  23. package/dist/commands/gh/pr/create/index.d.ts.map +1 -1
  24. package/dist/commands/gh/pr/create/index.js +4 -14
  25. package/dist/commands/gh/pr/create/index.js.map +1 -1
  26. package/dist/commands/git/branch/index.d.ts.map +1 -1
  27. package/dist/commands/git/branch/index.js +3 -14
  28. package/dist/commands/git/branch/index.js.map +1 -1
  29. package/dist/commands/git/commit/index.d.ts.map +1 -1
  30. package/dist/commands/git/commit/index.js +4 -14
  31. package/dist/commands/git/commit/index.js.map +1 -1
  32. package/dist/commands/git/pull/index.d.ts.map +1 -1
  33. package/dist/commands/git/pull/index.js +4 -14
  34. package/dist/commands/git/pull/index.js.map +1 -1
  35. package/dist/commands/git/push/index.d.ts.map +1 -1
  36. package/dist/commands/git/push/index.js +2 -3
  37. package/dist/commands/git/push/index.js.map +1 -1
  38. package/dist/commands/git/stash/index.d.ts.map +1 -1
  39. package/dist/commands/git/stash/index.js +2 -3
  40. package/dist/commands/git/stash/index.js.map +1 -1
  41. package/dist/commands/git/worktree/add.d.ts.map +1 -1
  42. package/dist/commands/git/worktree/add.js +18 -13
  43. package/dist/commands/git/worktree/add.js.map +1 -1
  44. package/dist/commands/git/worktree/list.d.ts.map +1 -1
  45. package/dist/commands/git/worktree/list.js +32 -20
  46. package/dist/commands/git/worktree/list.js.map +1 -1
  47. package/dist/commands/git/worktree/remove.d.ts.map +1 -1
  48. package/dist/commands/git/worktree/remove.js +2 -3
  49. package/dist/commands/git/worktree/remove.js.map +1 -1
  50. package/dist/commands/git/worktree/switch.d.ts.map +1 -1
  51. package/dist/commands/git/worktree/switch.js +2 -3
  52. package/dist/commands/git/worktree/switch.js.map +1 -1
  53. package/dist/commands/index.d.ts +3 -0
  54. package/dist/commands/index.d.ts.map +1 -1
  55. package/dist/commands/index.js +9 -0
  56. package/dist/commands/index.js.map +1 -1
  57. package/dist/commands/init/index.d.ts.map +1 -1
  58. package/dist/commands/init/index.js +3 -12
  59. package/dist/commands/init/index.js.map +1 -1
  60. package/dist/commands/pr/index.d.ts.map +1 -1
  61. package/dist/commands/pr/index.js +6 -20
  62. package/dist/commands/pr/index.js.map +1 -1
  63. package/dist/commands/schema/index.d.ts.map +1 -1
  64. package/dist/commands/schema/index.js +96 -2
  65. package/dist/commands/schema/index.js.map +1 -1
  66. package/dist/commands/sync/index.d.ts +18 -0
  67. package/dist/commands/sync/index.d.ts.map +1 -0
  68. package/dist/commands/sync/index.js +193 -0
  69. package/dist/commands/sync/index.js.map +1 -0
  70. package/dist/commands/update/index.d.ts.map +1 -1
  71. package/dist/commands/update/index.js +6 -20
  72. package/dist/commands/update/index.js.map +1 -1
  73. package/dist/commands/verify/index.d.ts +23 -0
  74. package/dist/commands/verify/index.d.ts.map +1 -0
  75. package/dist/commands/verify/index.js +155 -0
  76. package/dist/commands/verify/index.js.map +1 -0
  77. package/dist/services/ai/index.d.ts.map +1 -1
  78. package/dist/services/ai/index.js +9 -2
  79. package/dist/services/ai/index.js.map +1 -1
  80. package/dist/services/ai/prompts.d.ts +6 -1
  81. package/dist/services/ai/prompts.d.ts.map +1 -1
  82. package/dist/services/ai/prompts.js +10 -4
  83. package/dist/services/ai/prompts.js.map +1 -1
  84. package/dist/types/schemas.d.ts +1 -5
  85. package/dist/types/schemas.d.ts.map +1 -1
  86. package/dist/types/schemas.js +3 -3
  87. package/dist/types/schemas.js.map +1 -1
  88. package/dist/utils/agent.d.ts.map +1 -1
  89. package/dist/utils/agent.js +5 -11
  90. package/dist/utils/agent.js.map +1 -1
  91. package/dist/utils/config.js +1 -1
  92. package/dist/utils/config.js.map +1 -1
  93. package/package.json +1 -1
@@ -0,0 +1,251 @@
1
+ import { Command } from '@commander-js/extra-typings';
2
+ import inquirer from 'inquirer';
3
+ import { access, readFile, readdir, writeFile } from 'node:fs/promises';
4
+ import { join } from 'node:path';
5
+ import { ui } from '../../utils/ui.js';
6
+ import { emitJson } from '../../utils/output.js';
7
+ import { runAction } from '../../utils/run-action.js';
8
+ import { NonInteractiveError, promptSelect } from '../../utils/prompt.js';
9
+ import { getRuntimeContext } from '../../utils/runtime-context.js';
10
+ const BUMP_VALUES = ['major', 'minor', 'patch', 'empty'];
11
+ async function pathExists(p) {
12
+ try {
13
+ await access(p);
14
+ return true;
15
+ }
16
+ catch {
17
+ return false;
18
+ }
19
+ }
20
+ async function readJson(path) {
21
+ const raw = await readFile(path, 'utf-8');
22
+ return JSON.parse(raw);
23
+ }
24
+ async function discoverPackages(cwd) {
25
+ const rootPkg = await readJson(join(cwd, 'package.json'));
26
+ const workspacePatterns = [];
27
+ if (Array.isArray(rootPkg.workspaces)) {
28
+ workspacePatterns.push(...rootPkg.workspaces);
29
+ }
30
+ else if (rootPkg.workspaces?.packages) {
31
+ workspacePatterns.push(...rootPkg.workspaces.packages);
32
+ }
33
+ const pnpmWorkspacePath = join(cwd, 'pnpm-workspace.yaml');
34
+ if (await pathExists(pnpmWorkspacePath)) {
35
+ const yaml = await readFile(pnpmWorkspacePath, 'utf-8');
36
+ const lines = yaml.split('\n');
37
+ let inPackages = false;
38
+ for (const line of lines) {
39
+ if (/^packages\s*:/.test(line)) {
40
+ inPackages = true;
41
+ continue;
42
+ }
43
+ if (inPackages) {
44
+ const match = line.match(/^\s*-\s*['"]?([^'"]+?)['"]?\s*$/);
45
+ if (match?.[1])
46
+ workspacePatterns.push(match[1]);
47
+ else if (line.trim() && !line.startsWith(' ') && !line.startsWith('\t'))
48
+ break;
49
+ }
50
+ }
51
+ }
52
+ if (workspacePatterns.length === 0) {
53
+ if (rootPkg.name && !rootPkg.private)
54
+ return [rootPkg.name];
55
+ if (rootPkg.name)
56
+ return [rootPkg.name];
57
+ throw new Error('Root package.json is missing a "name" field.');
58
+ }
59
+ const names = new Set();
60
+ for (const pattern of workspacePatterns) {
61
+ const trimmed = pattern.replace(/\/\*$/, '');
62
+ const base = join(cwd, trimmed);
63
+ if (!(await pathExists(base)))
64
+ continue;
65
+ const isGlob = pattern.endsWith('/*');
66
+ const candidates = isGlob
67
+ ? (await readdir(base, { withFileTypes: true }))
68
+ .filter((d) => d.isDirectory())
69
+ .map((d) => join(base, d.name))
70
+ : [base];
71
+ for (const dir of candidates) {
72
+ const pkgPath = join(dir, 'package.json');
73
+ if (!(await pathExists(pkgPath)))
74
+ continue;
75
+ try {
76
+ const pkg = await readJson(pkgPath);
77
+ if (pkg.name && !pkg.private)
78
+ names.add(pkg.name);
79
+ }
80
+ catch {
81
+ continue;
82
+ }
83
+ }
84
+ }
85
+ if (names.size === 0) {
86
+ throw new Error('No publishable packages found in workspaces.');
87
+ }
88
+ return [...names];
89
+ }
90
+ const ADJECTIVES = [
91
+ 'brisk', 'bright', 'bold', 'busy', 'calm', 'clever', 'curious', 'eager',
92
+ 'fierce', 'gentle', 'happy', 'jolly', 'keen', 'lucky', 'mellow', 'nimble',
93
+ 'quiet', 'quick', 'rapid', 'silent', 'snappy', 'spry', 'swift', 'tidy',
94
+ 'vivid', 'warm', 'witty', 'zesty',
95
+ ];
96
+ const ANIMALS = [
97
+ 'ants', 'bees', 'cats', 'crows', 'deer', 'dogs', 'eels', 'foxes',
98
+ 'frogs', 'geckos', 'goats', 'hares', 'hawks', 'jays', 'lions', 'lynx',
99
+ 'moles', 'moths', 'newts', 'owls', 'pandas', 'pigs', 'quails', 'rabbits',
100
+ 'seals', 'tigers', 'wolves', 'yaks',
101
+ ];
102
+ const VERBS = [
103
+ 'bake', 'bounce', 'cheer', 'dance', 'dream', 'glow', 'hike', 'jump',
104
+ 'laugh', 'march', 'paint', 'race', 'sing', 'skate', 'smile', 'sparkle',
105
+ 'swim', 'think', 'wander', 'wave',
106
+ ];
107
+ function pick(list) {
108
+ return list[Math.floor(Math.random() * list.length)];
109
+ }
110
+ function generateChangesetName() {
111
+ return `${pick(ADJECTIVES)}-${pick(ANIMALS)}-${pick(VERBS)}`;
112
+ }
113
+ function parseBump(raw) {
114
+ if (!raw)
115
+ return undefined;
116
+ const normalized = raw.trim().toLowerCase();
117
+ if (BUMP_VALUES.includes(normalized)) {
118
+ return normalized;
119
+ }
120
+ throw new Error(`Invalid --bump "${raw}". Expected one of: ${BUMP_VALUES.join(', ')}.`);
121
+ }
122
+ async function ensureUniquePath(cwd) {
123
+ for (let attempt = 0; attempt < 8; attempt++) {
124
+ const name = generateChangesetName();
125
+ const path = join(cwd, '.changeset', `${name}.md`);
126
+ if (!(await pathExists(path)))
127
+ return path;
128
+ }
129
+ return join(cwd, '.changeset', `neo-${Date.now()}.md`);
130
+ }
131
+ function formatChangesetBody(bump, packages, summary) {
132
+ if (bump === 'empty') {
133
+ return '---\n---\n';
134
+ }
135
+ const lines = packages.map((name) => `'${name}': ${bump}`);
136
+ return `---\n${lines.join('\n')}\n---\n\n${summary.trim()}\n`;
137
+ }
138
+ export async function executeChangeset(cwd, options) {
139
+ const configPath = join(cwd, '.changeset', 'config.json');
140
+ if (!(await pathExists(configPath))) {
141
+ throw new Error('No .changeset/config.json found. Run `pnpm dlx @changesets/cli init` first.');
142
+ }
143
+ const ctx = getRuntimeContext();
144
+ const bumpArg = parseBump(options.bump);
145
+ const bump = bumpArg ??
146
+ (await promptSelect({
147
+ message: 'What kind of change is this?',
148
+ flag: '--bump',
149
+ choices: [
150
+ { label: 'patch — bugfix, no behavior change for consumers', value: 'patch' },
151
+ { label: 'minor — backwards-compatible feature', value: 'minor' },
152
+ { label: 'major — breaking change', value: 'major' },
153
+ { label: 'empty — no package version bump (tooling/docs only)', value: 'empty' },
154
+ ],
155
+ defaultValue: 'patch',
156
+ }));
157
+ let packages = [];
158
+ if (bump !== 'empty') {
159
+ const discovered = await discoverPackages(cwd);
160
+ if (options.package) {
161
+ const requested = options.package.split(',').map((s) => s.trim()).filter(Boolean);
162
+ const unknown = requested.filter((name) => !discovered.includes(name));
163
+ if (unknown.length > 0) {
164
+ throw new Error(`Unknown package(s): ${unknown.join(', ')}. Known: ${discovered.join(', ')}.`);
165
+ }
166
+ packages = requested;
167
+ }
168
+ else if (discovered.length === 1) {
169
+ packages = discovered;
170
+ }
171
+ else {
172
+ if (ctx.yes || ctx.nonInteractive) {
173
+ throw new NonInteractiveError('Select package(s) to bump', '--package <name>[,<name>...]');
174
+ }
175
+ const { selected } = await inquirer.prompt([
176
+ {
177
+ type: 'checkbox',
178
+ name: 'selected',
179
+ message: 'Which packages are affected?',
180
+ choices: discovered.map((name) => ({ name, value: name })),
181
+ validate: (choices) => choices.length > 0 ? true : 'Pick at least one package.',
182
+ },
183
+ ]);
184
+ packages = selected;
185
+ }
186
+ }
187
+ let summary = options.summary?.trim() ?? '';
188
+ if (bump !== 'empty' && !summary) {
189
+ if (ctx.yes || ctx.nonInteractive) {
190
+ throw new NonInteractiveError('Changeset summary', '--summary "<text>"');
191
+ }
192
+ const answer = await inquirer.prompt([
193
+ {
194
+ type: 'input',
195
+ name: 'summary',
196
+ message: 'One-line summary (shown in the changelog):',
197
+ validate: (input) => (input.trim() ? true : 'Summary cannot be empty.'),
198
+ },
199
+ ]);
200
+ summary = answer.summary.trim();
201
+ }
202
+ const path = await ensureUniquePath(cwd);
203
+ const body = formatChangesetBody(bump, packages, summary);
204
+ await writeFile(path, body, 'utf-8');
205
+ return { path, bump, packages, summary };
206
+ }
207
+ export function createChangesetCommand() {
208
+ const command = new Command('changeset');
209
+ command
210
+ .description('Create a changeset file (bump type + summary) under .changeset/')
211
+ .option('--bump <level>', 'bump level: major, minor, patch, or empty')
212
+ .option('--summary <text>', 'one-line summary for the changelog')
213
+ .option('--package <names>', 'comma-separated package names (monorepos)')
214
+ .addHelpText('after', `
215
+ Examples:
216
+ Interactive (prompts for bump + summary):
217
+ $ neo changeset
218
+
219
+ Non-interactive minor bump with summary:
220
+ $ neo changeset --yes --bump minor --summary "Add neo sync command"
221
+
222
+ Empty changeset (CLAUDE.md rule for tooling/docs-only changes):
223
+ $ neo changeset --yes --bump empty
224
+
225
+ Agent-friendly:
226
+ $ neo changeset --yes --json --bump patch --summary "Fix parse edge case"
227
+ `)
228
+ .action(runAction(async (options) => {
229
+ const result = await executeChangeset(process.cwd(), options);
230
+ emitJson({
231
+ ok: true,
232
+ command: 'changeset',
233
+ path: result.path,
234
+ bump: result.bump,
235
+ packages: result.packages,
236
+ summary: result.summary,
237
+ }, {
238
+ text: () => {
239
+ ui.success(`Wrote ${result.path}`);
240
+ if (result.bump === 'empty') {
241
+ ui.muted('Empty changeset — no package version bump.');
242
+ }
243
+ else {
244
+ ui.muted(`${result.bump} bump for ${result.packages.join(', ')}`);
245
+ }
246
+ },
247
+ });
248
+ }));
249
+ return command;
250
+ }
251
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/changeset/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/completions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AA2BtD,wBAAgB,wBAAwB,IAAI,OAAO,CAmElD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/completions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AA4BtD,wBAAgB,wBAAwB,IAAI,OAAO,CA+ElD"}
@@ -1,9 +1,10 @@
1
1
  import { Command } from '@commander-js/extra-typings';
2
- import { logger } from '../../utils/logger.js';
3
2
  import { ui } from '../../utils/ui.js';
4
3
  import { CompletionGenerator } from '../../utils/completions.js';
5
4
  import { configManager } from '../../utils/config.js';
6
5
  import { ZshIntegration, BashIntegration, FishIntegration } from '../../utils/shell.js';
6
+ import { emitJson } from '../../utils/output.js';
7
+ import { runAction } from '../../utils/run-action.js';
7
8
  import { join } from 'path';
8
9
  const SUPPORTED_SHELLS = ['zsh', 'bash', 'fish'];
9
10
  function detectShell() {
@@ -28,20 +29,19 @@ export function createCompletionsCommand() {
28
29
  command
29
30
  .description('Generate or install shell completions')
30
31
  .argument('[shell]', 'shell type (zsh, bash, fish)')
31
- .action(async (shell) => {
32
+ .action(runAction(async (shell) => {
32
33
  const shellType = (shell ?? detectShell());
33
34
  if (!SUPPORTED_SHELLS.includes(shellType)) {
34
- ui.error(`Unsupported shell: ${shellType}. Supported: ${SUPPORTED_SHELLS.join(', ')}`);
35
- process.exit(1);
35
+ throw new Error(`Unsupported shell: ${shellType}. Supported: ${SUPPORTED_SHELLS.join(', ')}`);
36
36
  }
37
37
  const rootProgram = getRootProgram(command);
38
38
  const output = CompletionGenerator.generateCompletions(rootProgram, shellType);
39
39
  process.stdout.write(output);
40
- });
40
+ }));
41
41
  command
42
42
  .command('install')
43
43
  .description('Install completions for the current shell')
44
- .action(async () => {
44
+ .action(runAction(async () => {
45
45
  const shellType = detectShell();
46
46
  const rootProgram = getRootProgram(command);
47
47
  const completionsPath = join(configManager.getConfigDir(), 'completions');
@@ -49,36 +49,44 @@ export function createCompletionsCommand() {
49
49
  spinner.start();
50
50
  try {
51
51
  await CompletionGenerator.createCompletionFiles(completionsPath, rootProgram);
52
+ let reload;
52
53
  switch (shellType) {
53
54
  case 'zsh': {
54
55
  const zsh = new ZshIntegration();
55
56
  await zsh.addCompletions(completionsPath);
56
57
  spinner.succeed('ZSH completions installed');
57
- ui.info('Restart your terminal or run: source ~/.zshrc');
58
+ reload = 'source ~/.zshrc';
58
59
  break;
59
60
  }
60
61
  case 'bash': {
61
62
  const bash = new BashIntegration();
62
63
  await bash.addCompletions(join(completionsPath, 'neo.bash'));
63
64
  spinner.succeed('Bash completions installed');
64
- ui.info('Restart your terminal or run: source ~/.bashrc');
65
+ reload = 'source ~/.bashrc';
65
66
  break;
66
67
  }
67
68
  case 'fish': {
68
69
  const fish = new FishIntegration();
69
70
  await fish.addCompletions(join(completionsPath, 'neo.fish'));
70
71
  spinner.succeed('Fish completions installed');
71
- ui.info('Completions are available immediately in new Fish sessions');
72
+ reload = '(auto-loaded in new Fish sessions)';
72
73
  break;
73
74
  }
74
75
  }
76
+ emitJson({
77
+ ok: true,
78
+ command: 'completions.install',
79
+ shell: shellType,
80
+ completionsPath,
81
+ }, {
82
+ text: () => ui.info(`Restart your terminal or run: ${reload}`),
83
+ });
75
84
  }
76
85
  catch (error) {
77
86
  spinner.fail('Failed to install completions');
78
- logger.error(`${error}`);
79
- process.exit(1);
87
+ throw error instanceof Error ? error : new Error(String(error));
80
88
  }
81
- });
89
+ }));
82
90
  return command;
83
91
  }
84
92
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/completions/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/completions/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAetD,wBAAgB,mBAAmB,IAAI,OAAO,CAW7C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAiBtD,wBAAgB,mBAAmB,IAAI,OAAO,CAW7C"}