@radkode/neo 1.4.0 → 1.7.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 (121) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +15 -112
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/ai/index.d.ts +3 -0
  5. package/dist/commands/ai/index.d.ts.map +1 -0
  6. package/dist/commands/ai/index.js +21 -0
  7. package/dist/commands/ai/index.js.map +1 -0
  8. package/dist/commands/ai/pr/index.d.ts +19 -0
  9. package/dist/commands/ai/pr/index.d.ts.map +1 -0
  10. package/dist/commands/ai/pr/index.js +225 -0
  11. package/dist/commands/ai/pr/index.js.map +1 -0
  12. package/dist/commands/doctor/index.d.ts +16 -0
  13. package/dist/commands/doctor/index.d.ts.map +1 -0
  14. package/dist/commands/doctor/index.js +313 -0
  15. package/dist/commands/doctor/index.js.map +1 -0
  16. package/dist/commands/git/push/index.d.ts.map +1 -1
  17. package/dist/commands/git/push/index.js +3 -0
  18. package/dist/commands/git/push/index.js.map +1 -1
  19. package/dist/commands/index.d.ts +3 -0
  20. package/dist/commands/index.d.ts.map +1 -1
  21. package/dist/commands/index.js +9 -0
  22. package/dist/commands/index.js.map +1 -1
  23. package/dist/commands/init/index.d.ts.map +1 -1
  24. package/dist/commands/init/index.js +29 -0
  25. package/dist/commands/init/index.js.map +1 -1
  26. package/dist/commands/work/finish/index.d.ts +22 -0
  27. package/dist/commands/work/finish/index.d.ts.map +1 -0
  28. package/dist/commands/work/finish/index.js +306 -0
  29. package/dist/commands/work/finish/index.js.map +1 -0
  30. package/dist/commands/work/index.d.ts +3 -0
  31. package/dist/commands/work/index.d.ts.map +1 -0
  32. package/dist/commands/work/index.js +33 -0
  33. package/dist/commands/work/index.js.map +1 -0
  34. package/dist/commands/work/ship/index.d.ts +27 -0
  35. package/dist/commands/work/ship/index.d.ts.map +1 -0
  36. package/dist/commands/work/ship/index.js +361 -0
  37. package/dist/commands/work/ship/index.js.map +1 -0
  38. package/dist/commands/work/start/index.d.ts +17 -0
  39. package/dist/commands/work/start/index.d.ts.map +1 -0
  40. package/dist/commands/work/start/index.js +250 -0
  41. package/dist/commands/work/start/index.js.map +1 -0
  42. package/dist/core/errors/index.d.ts +7 -129
  43. package/dist/core/errors/index.d.ts.map +1 -1
  44. package/dist/core/errors/index.js +0 -233
  45. package/dist/core/errors/index.js.map +1 -1
  46. package/dist/services/ai/index.d.ts +9 -1
  47. package/dist/services/ai/index.d.ts.map +1 -1
  48. package/dist/services/ai/index.js +23 -3
  49. package/dist/services/ai/index.js.map +1 -1
  50. package/dist/services/ai/pr-prompts.d.ts +17 -0
  51. package/dist/services/ai/pr-prompts.d.ts.map +1 -0
  52. package/dist/services/ai/pr-prompts.js +68 -0
  53. package/dist/services/ai/pr-prompts.js.map +1 -0
  54. package/dist/services/ai/prompts.d.ts +3 -2
  55. package/dist/services/ai/prompts.d.ts.map +1 -1
  56. package/dist/services/ai/prompts.js.map +1 -1
  57. package/dist/storage/db.d.ts +5 -3
  58. package/dist/storage/db.d.ts.map +1 -1
  59. package/dist/storage/db.js +87 -120
  60. package/dist/storage/db.js.map +1 -1
  61. package/dist/types/agent.d.ts +0 -8
  62. package/dist/types/agent.d.ts.map +1 -1
  63. package/dist/types/schemas.d.ts +1 -0
  64. package/dist/types/schemas.d.ts.map +1 -1
  65. package/dist/types/schemas.js +1 -0
  66. package/dist/types/schemas.js.map +1 -1
  67. package/dist/utils/agent.js +1 -1
  68. package/dist/utils/agent.js.map +1 -1
  69. package/dist/utils/config.d.ts +0 -6
  70. package/dist/utils/config.d.ts.map +1 -1
  71. package/dist/utils/config.js +0 -8
  72. package/dist/utils/config.js.map +1 -1
  73. package/dist/utils/logger.d.ts +8 -2
  74. package/dist/utils/logger.d.ts.map +1 -1
  75. package/dist/utils/logger.js +8 -1
  76. package/dist/utils/logger.js.map +1 -1
  77. package/dist/utils/prompt.d.ts.map +1 -1
  78. package/dist/utils/prompt.js +15 -11
  79. package/dist/utils/prompt.js.map +1 -1
  80. package/dist/utils/skill-installer.d.ts +10 -0
  81. package/dist/utils/skill-installer.d.ts.map +1 -0
  82. package/dist/utils/skill-installer.js +56 -0
  83. package/dist/utils/skill-installer.js.map +1 -0
  84. package/package.json +6 -13
  85. package/templates/skills/neo/SKILL.md +66 -0
  86. package/dist/core/container/index.d.ts +0 -27
  87. package/dist/core/container/index.d.ts.map +0 -1
  88. package/dist/core/container/index.js +0 -90
  89. package/dist/core/container/index.js.map +0 -1
  90. package/dist/core/interfaces/index.d.ts +0 -324
  91. package/dist/core/interfaces/index.d.ts.map +0 -1
  92. package/dist/core/interfaces/index.js +0 -19
  93. package/dist/core/interfaces/index.js.map +0 -1
  94. package/dist/core/plugins/command-registry.d.ts +0 -16
  95. package/dist/core/plugins/command-registry.d.ts.map +0 -1
  96. package/dist/core/plugins/command-registry.js +0 -40
  97. package/dist/core/plugins/command-registry.js.map +0 -1
  98. package/dist/core/plugins/event-bus.d.ts +0 -12
  99. package/dist/core/plugins/event-bus.d.ts.map +0 -1
  100. package/dist/core/plugins/event-bus.js +0 -56
  101. package/dist/core/plugins/event-bus.js.map +0 -1
  102. package/dist/core/plugins/index.d.ts +0 -6
  103. package/dist/core/plugins/index.d.ts.map +0 -1
  104. package/dist/core/plugins/index.js +0 -6
  105. package/dist/core/plugins/index.js.map +0 -1
  106. package/dist/core/plugins/plugin-context.d.ts +0 -3
  107. package/dist/core/plugins/plugin-context.d.ts.map +0 -1
  108. package/dist/core/plugins/plugin-context.js +0 -116
  109. package/dist/core/plugins/plugin-context.js.map +0 -1
  110. package/dist/core/plugins/plugin-loader.d.ts +0 -30
  111. package/dist/core/plugins/plugin-loader.d.ts.map +0 -1
  112. package/dist/core/plugins/plugin-loader.js +0 -149
  113. package/dist/core/plugins/plugin-loader.js.map +0 -1
  114. package/dist/core/plugins/plugin-registry.d.ts +0 -21
  115. package/dist/core/plugins/plugin-registry.d.ts.map +0 -1
  116. package/dist/core/plugins/plugin-registry.js +0 -150
  117. package/dist/core/plugins/plugin-registry.js.map +0 -1
  118. package/dist/utils/ui-examples.d.ts +0 -3
  119. package/dist/utils/ui-examples.d.ts.map +0 -1
  120. package/dist/utils/ui-examples.js +0 -188
  121. package/dist/utils/ui-examples.js.map +0 -1
@@ -1,7 +1,14 @@
1
1
  import chalk from 'chalk';
2
2
  import { Colors } from './ui-types.js';
3
- import { LogLevel } from '../core/interfaces/index.js';
4
3
  import { getRuntimeContext } from './runtime-context.js';
4
+ export var LogLevel;
5
+ (function (LogLevel) {
6
+ LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
7
+ LogLevel[LogLevel["INFO"] = 1] = "INFO";
8
+ LogLevel[LogLevel["WARN"] = 2] = "WARN";
9
+ LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
10
+ LogLevel[LogLevel["NONE"] = 4] = "NONE";
11
+ })(LogLevel || (LogLevel = {}));
5
12
  class Logger {
6
13
  level = LogLevel.INFO;
7
14
  setLevel(level) {
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/utils/prompt.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;CACV;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,MAAM;IACnD,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAKhB,IAAI,CAAC,EAAE,MAAM,CAAC;IAKd,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC;AAMD,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,yBAAyB;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAS1C;AAOD,wBAAsB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,EACnD,OAAO,EACP,YAAY,EACZ,OAAO,EACP,IAAI,EACJ,4BAA4B,GAC7B,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CA8ErC;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAEhB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD,wBAAsB,cAAc,CAAC,EACnC,OAAO,EACP,MAAM,GACP,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqEzC;AAYD,wBAAgB,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAO3E;AAMD,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,UAAU,IAAI,UAAU,CAKvC"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/utils/prompt.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;CACV;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,MAAM;IACnD,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAKhB,IAAI,CAAC,EAAE,MAAM,CAAC;IAKd,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC;AAMD,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,yBAAyB;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAS1C;AAOD,wBAAsB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,EACnD,OAAO,EACP,YAAY,EACZ,OAAO,EACP,IAAI,EACJ,4BAA4B,GAC7B,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAkFrC;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAEhB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD,wBAAsB,cAAc,CAAC,EACnC,OAAO,EACP,MAAM,GACP,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqEzC;AAYD,wBAAgB,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAO3E;AAMD,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,UAAU,IAAI,UAAU,CAKvC"}
@@ -1,4 +1,4 @@
1
- import select from '@inquirer/select';
1
+ import inquirer from 'inquirer';
2
2
  import readline from 'node:readline/promises';
3
3
  import { stdin as input, stdout as output } from 'node:process';
4
4
  import { getRuntimeContext } from './runtime-context.js';
@@ -34,16 +34,20 @@ export async function promptSelect({ choices, defaultValue, message, flag, safeD
34
34
  throw new NonInteractiveError(message, flag);
35
35
  }
36
36
  if (input.isTTY && output.isTTY) {
37
- const interactiveResult = await select({
38
- choices: choices.map(({ label, value }) => ({
39
- name: label,
40
- value,
41
- })),
42
- default: defaultValue ?? fallbackValue,
43
- loop: false,
44
- message,
45
- pageSize: Math.max(choices.length, 4),
46
- }).catch(() => undefined);
37
+ const interactiveResult = await inquirer
38
+ .prompt([
39
+ {
40
+ type: 'list',
41
+ name: 'selected',
42
+ message,
43
+ choices: choices.map(({ label, value }) => ({ name: label, value })),
44
+ default: defaultValue ?? fallbackValue,
45
+ loop: false,
46
+ pageSize: Math.max(choices.length, 4),
47
+ },
48
+ ])
49
+ .then((answers) => answers.selected)
50
+ .catch(() => undefined);
47
51
  if (interactiveResult !== undefined) {
48
52
  return interactiveResult;
49
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/utils/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/utils/prompt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export type SkillInstallStatus = 'installed' | 'updated' | 'unchanged' | 'skipped-divergent';
2
+ export interface SkillInstallResult {
3
+ status: SkillInstallStatus;
4
+ source: string;
5
+ destination: string;
6
+ }
7
+ export declare function installClaudeSkill(options?: {
8
+ force?: boolean;
9
+ }): Promise<SkillInstallResult | null>;
10
+ //# sourceMappingURL=skill-installer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-installer.d.ts","sourceRoot":"","sources":["../../src/utils/skill-installer.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,mBAAmB,CAAC;AAE7F,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAwCD,wBAAsB,kBAAkB,CACtC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAChC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CA+BpC"}
@@ -0,0 +1,56 @@
1
+ import { fileURLToPath } from 'url';
2
+ import { dirname, join, resolve } from 'path';
3
+ import { homedir } from 'os';
4
+ import { mkdir, copyFile, readFile, access } from 'fs/promises';
5
+ import { constants } from 'fs';
6
+ import { logger } from './logger.js';
7
+ const SKILL_NAME = 'neo';
8
+ const SKILL_REL_PATH = join('skills', SKILL_NAME, 'SKILL.md');
9
+ function resolveTemplatesDir() {
10
+ const here = dirname(fileURLToPath(import.meta.url));
11
+ return resolve(here, '..', '..', 'templates');
12
+ }
13
+ function getClaudeSkillsDir() {
14
+ return join(homedir(), '.claude', 'skills');
15
+ }
16
+ async function fileExists(path) {
17
+ try {
18
+ await access(path, constants.F_OK);
19
+ return true;
20
+ }
21
+ catch {
22
+ return false;
23
+ }
24
+ }
25
+ async function filesIdentical(a, b) {
26
+ const [ba, bb] = await Promise.all([readFile(a), readFile(b)]);
27
+ return ba.equals(bb);
28
+ }
29
+ export async function installClaudeSkill(options = {}) {
30
+ const claudeDir = join(homedir(), '.claude');
31
+ if (!(await fileExists(claudeDir))) {
32
+ logger.debug(`Skipping skill install: ${claudeDir} does not exist`);
33
+ return null;
34
+ }
35
+ const source = join(resolveTemplatesDir(), SKILL_REL_PATH);
36
+ if (!(await fileExists(source))) {
37
+ logger.debug(`Skipping skill install: bundled template missing at ${source}`);
38
+ return null;
39
+ }
40
+ const destDir = join(getClaudeSkillsDir(), SKILL_NAME);
41
+ const destination = join(destDir, 'SKILL.md');
42
+ await mkdir(destDir, { recursive: true });
43
+ if (await fileExists(destination)) {
44
+ if (await filesIdentical(source, destination)) {
45
+ return { status: 'unchanged', source, destination };
46
+ }
47
+ if (!options.force) {
48
+ return { status: 'skipped-divergent', source, destination };
49
+ }
50
+ await copyFile(source, destination);
51
+ return { status: 'updated', source, destination };
52
+ }
53
+ await copyFile(source, destination);
54
+ return { status: 'installed', source, destination };
55
+ }
56
+ //# sourceMappingURL=skill-installer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-installer.js","sourceRoot":"","sources":["../../src/utils/skill-installer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@radkode/neo",
3
- "version": "1.4.0",
3
+ "version": "1.7.0",
4
4
  "description": "Modern CLI toolkit with intelligent git workflows and configuration management",
5
5
  "author": "Jacek Radko",
6
6
  "license": "MIT",
@@ -12,7 +12,8 @@
12
12
  },
13
13
  "files": [
14
14
  "dist",
15
- "bin"
15
+ "bin",
16
+ "templates"
16
17
  ],
17
18
  "keywords": [
18
19
  "cli",
@@ -54,19 +55,12 @@
54
55
  "version-packages": "changeset version && pnpm install --lockfile-only"
55
56
  },
56
57
  "engines": {
57
- "node": ">=20.0.0",
58
- "pnpm": ">=8.0.0"
59
- },
60
- "packageManager": "pnpm@10.24.0",
61
- "pnpm": {
62
- "onlyBuiltDependencies": [
63
- "better-sqlite3"
64
- ]
58
+ "node": ">=22.13.0",
59
+ "pnpm": ">=11.0.0"
65
60
  },
61
+ "packageManager": "pnpm@11.3.0",
66
62
  "dependencies": {
67
63
  "@commander-js/extra-typings": "^14.0.0",
68
- "@inquirer/select": "^5.0.2",
69
- "better-sqlite3": "^12.5.0",
70
64
  "chalk": "^5.6.2",
71
65
  "commander": "^14.0.2",
72
66
  "execa": "^9.6.1",
@@ -81,7 +75,6 @@
81
75
  "@changesets/changelog-github": "^0.5.2",
82
76
  "@changesets/cli": "^2.29.8",
83
77
  "@eslint/js": "^9.39.1",
84
- "@types/better-sqlite3": "^7.6.13",
85
78
  "@types/inquirer": "^9.0.9",
86
79
  "@types/node": "^24.10.1",
87
80
  "@types/which": "^3.0.4",
@@ -0,0 +1,66 @@
1
+ ---
2
+ name: neo
3
+ description: Use when working in a repository where the `neo` CLI is installed (verify with `neo --version`). Neo wraps git, GitHub, and release workflows with safety rails — prefer `neo git push/pull/commit`, `neo work start/ship/finish`, `neo ai pr`, and `neo gh pr create` over raw `git`/`gh` for the operations it covers. Do NOT use for operations neo doesn't wrap (e.g. `git log`, `git rebase`, `git bisect`).
4
+ ---
5
+
6
+ # Neo CLI
7
+
8
+ Neo is an opinionated CLI that wraps common git/GitHub workflows with guardrails (auto-stash on pull, pull-before-push, main-branch confirmation, conventional commits, changeset enforcement, etc.). When it's installed, prefer it over raw `git`/`gh` for the operations below — you get the safety net for free.
9
+
10
+ ## Before you start
11
+
12
+ 1. Confirm neo is available: `neo --version`. If absent, fall back to raw git/gh.
13
+ 2. Neo auto-detects Claude Code via `CLAUDECODE=1` and switches to non-interactive defaults (no banner, no prompts, JSON-friendly). You usually don't need `--yes` / `--non-interactive` explicitly, but pass `--json` whenever you need to parse output.
14
+ 3. Don't trust your training data for the command tree — query it: `neo schema --json | jq '.commands[].path'`. Use `neo <cmd> --help` for flags.
15
+
16
+ ## The work lifecycle
17
+
18
+ The canonical flow is `start → ship → finish`. Use it for any non-trivial change.
19
+
20
+ ```bash
21
+ neo work start <name> # creates a prefixed branch (add --worktree for an isolated worktree)
22
+ # ... edit, commit ...
23
+ neo work ship # verify + ensure changeset + push + open PR
24
+ # ... after merge ...
25
+ neo work finish # checkout base, pull, delete local branch + worktree
26
+ ```
27
+
28
+ For one-off commits outside this flow, use `neo git commit` (interactive conventional) or `neo git commit --ai` (drafts a message from the staged diff via the Anthropic API).
29
+
30
+ ## Command map
31
+
32
+ | Want to... | Use | Instead of |
33
+ |---|---|---|
34
+ | Push safely | `neo git push` | `git push` |
35
+ | Pull without losing WIP | `neo git pull` | `git stash && git pull && git stash pop` |
36
+ | Commit with conventional format | `neo git commit` (or `--ai`) | `git commit -m` |
37
+ | Open a PR | `neo gh pr create --title ... --body ...` | `gh pr create` |
38
+ | Generate a PR description | `neo ai pr --json --no-create` | hand-writing one |
39
+ | Start a new branch | `neo work start <name>` | `git checkout -b` |
40
+ | Ship a finished branch | `neo work ship` | push + `gh pr create` manually |
41
+ | Clean up after merge | `neo work finish` | `git checkout main && git pull && git branch -D` |
42
+ | Verify the repo is healthy | `neo verify` / `neo doctor` | ad-hoc checks |
43
+
44
+ ## Agent patterns
45
+
46
+ Always pair `--json` with `jq` for parsing. Errors come back as `{"error": {...}}` on stdout; check exit codes.
47
+
48
+ ```bash
49
+ # Open a PR programmatically
50
+ neo work ship --json | jq -r '.pr.url'
51
+
52
+ # Draft a PR body without opening
53
+ neo ai pr --json --no-create | jq -r '.body'
54
+
55
+ # Discover what flags a command takes
56
+ neo schema --json | jq '.commands[] | select(.path == "git push")'
57
+ ```
58
+
59
+ Exit codes: `0` success, `1` failure, `2` non-interactive prompt required (the JSON error carries `.error.flag` — supply it and retry).
60
+
61
+ ## Anti-patterns
62
+
63
+ - Don't `git push` to bypass neo's main-branch confirmation. If you need to push to main, use explicit flags (`--force`, etc.) — neo will tell you what's missing.
64
+ - Don't open PRs with `gh pr create` when `neo work ship` is the right call. Ship handles verify + changeset + push + PR in one step.
65
+ - Don't skip changesets. `neo work ship` enforces them; if a change doesn't affect a published package, create an empty changeset (`---\n---`).
66
+ - Don't re-derive the command tree from memory. `neo schema --json` is authoritative and version-correct.
@@ -1,27 +0,0 @@
1
- import type { IContainer, InjectionToken, Provider } from '../interfaces/index.js';
2
- export type Lifetime = 'singleton' | 'transient';
3
- export declare class Container implements IContainer {
4
- private registrations;
5
- private instances;
6
- private parent;
7
- constructor(parent?: Container);
8
- register<T>(token: InjectionToken<T>, provider: Provider<T>, lifetime?: Lifetime): void;
9
- registerValue<T>(token: InjectionToken<T>, value: T): void;
10
- registerClass<T>(token: InjectionToken<T>, cls: new (...args: unknown[]) => T, lifetime?: Lifetime): void;
11
- registerFactory<T>(token: InjectionToken<T>, factory: () => T, lifetime?: Lifetime): void;
12
- resolve<T>(token: InjectionToken<T>): T;
13
- has<T>(token: InjectionToken<T>): boolean;
14
- createScope(): IContainer;
15
- clear(): void;
16
- get size(): number;
17
- private createInstance;
18
- }
19
- export declare const container: Container;
20
- export declare const Tokens: {
21
- readonly Logger: symbol;
22
- readonly Config: symbol;
23
- readonly EventBus: symbol;
24
- readonly HttpClient: symbol;
25
- readonly FileSystem: symbol;
26
- };
27
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/container/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAKvF,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;AAmCjD,qBAAa,SAAU,YAAW,UAAU;IAC1C,OAAO,CAAC,aAAa,CAA4C;IACjE,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,MAAM,CAAwB;gBAE1B,MAAM,CAAC,EAAE,SAAS;IAW9B,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAE,QAAsB,GAAG,IAAI;IAUpG,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAO1D,aAAa,CAAC,CAAC,EACb,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EACxB,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAClC,QAAQ,GAAE,QAAsB,GAC/B,IAAI;IAOP,eAAe,CAAC,CAAC,EACf,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EACxB,OAAO,EAAE,MAAM,CAAC,EAChB,QAAQ,GAAE,QAAsB,GAC/B,IAAI;IAWP,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;IA+BvC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO;IAczC,WAAW,IAAI,UAAU;IAOzB,KAAK,IAAI,IAAI;IAQb,IAAI,IAAI,IAAI,MAAM,CAEjB;IAKD,OAAO,CAAC,cAAc;CAmBvB;AAKD,eAAO,MAAM,SAAS,WAAkB,CAAC;AAKzC,eAAO,MAAM,MAAM;;;;;;CAMT,CAAC"}
@@ -1,90 +0,0 @@
1
- function tokenToKey(token) {
2
- if (typeof token === 'symbol') {
3
- return token.toString();
4
- }
5
- if (typeof token === 'string') {
6
- return token;
7
- }
8
- return token.name || token.toString();
9
- }
10
- export class Container {
11
- registrations = new Map();
12
- instances = new Map();
13
- parent;
14
- constructor(parent) {
15
- this.parent = parent;
16
- }
17
- register(token, provider, lifetime = 'singleton') {
18
- const key = tokenToKey(token);
19
- this.registrations.set(key, { provider, lifetime });
20
- this.instances.delete(key);
21
- }
22
- registerValue(token, value) {
23
- this.register(token, { useValue: value }, 'singleton');
24
- }
25
- registerClass(token, cls, lifetime = 'singleton') {
26
- this.register(token, { useClass: cls }, lifetime);
27
- }
28
- registerFactory(token, factory, lifetime = 'singleton') {
29
- this.register(token, { useFactory: factory }, lifetime);
30
- }
31
- resolve(token) {
32
- const key = tokenToKey(token);
33
- const registration = this.registrations.get(key);
34
- if (!registration) {
35
- if (this.parent) {
36
- return this.parent.resolve(token);
37
- }
38
- throw new Error(`No provider registered for token: ${key}`);
39
- }
40
- if (registration.lifetime === 'singleton' && this.instances.has(key)) {
41
- return this.instances.get(key);
42
- }
43
- const instance = this.createInstance(registration.provider);
44
- if (registration.lifetime === 'singleton') {
45
- this.instances.set(key, instance);
46
- }
47
- return instance;
48
- }
49
- has(token) {
50
- const key = tokenToKey(token);
51
- if (this.registrations.has(key)) {
52
- return true;
53
- }
54
- return this.parent?.has(token) ?? false;
55
- }
56
- createScope() {
57
- return new Container(this);
58
- }
59
- clear() {
60
- this.registrations.clear();
61
- this.instances.clear();
62
- }
63
- get size() {
64
- return this.registrations.size;
65
- }
66
- createInstance(provider) {
67
- if ('useValue' in provider) {
68
- return provider.useValue;
69
- }
70
- if ('useClass' in provider) {
71
- return new provider.useClass();
72
- }
73
- if ('useFactory' in provider) {
74
- return provider.useFactory();
75
- }
76
- if ('useExisting' in provider) {
77
- return this.resolve(provider.useExisting);
78
- }
79
- throw new Error('Invalid provider configuration');
80
- }
81
- }
82
- export const container = new Container();
83
- export const Tokens = {
84
- Logger: Symbol('Logger'),
85
- Config: Symbol('Config'),
86
- EventBus: Symbol('EventBus'),
87
- HttpClient: Symbol('HttpClient'),
88
- FileSystem: Symbol('FileSystem'),
89
- };
90
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/container/index.ts"],"names":[],"mappings":"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"}