@nirnex/cli 2.0.3 → 4.0.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.
- package/dist/commands/index.js +2 -2
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/query.js +2 -2
- package/dist/commands/query.js.map +1 -1
- package/dist/commands/runtime.d.ts +2 -0
- package/dist/commands/runtime.d.ts.map +1 -0
- package/dist/commands/runtime.js +60 -0
- package/dist/commands/runtime.js.map +1 -0
- package/dist/commands/setup.d.ts +6 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +395 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/status.d.ts +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +151 -20
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/trace.d.ts.map +1 -1
- package/dist/commands/trace.js +74 -1
- package/dist/commands/trace.js.map +1 -1
- package/dist/index.js +21 -10
- package/dist/index.js.map +1 -1
- package/dist/runtime/bootstrap.d.ts +2 -0
- package/dist/runtime/bootstrap.d.ts.map +1 -0
- package/dist/runtime/bootstrap.js +90 -0
- package/dist/runtime/bootstrap.js.map +1 -0
- package/dist/runtime/entry.d.ts +2 -0
- package/dist/runtime/entry.d.ts.map +1 -0
- package/dist/runtime/entry.js +86 -0
- package/dist/runtime/entry.js.map +1 -0
- package/dist/runtime/envelope.d.ts +4 -0
- package/dist/runtime/envelope.d.ts.map +1 -0
- package/dist/runtime/envelope.js +113 -0
- package/dist/runtime/envelope.js.map +1 -0
- package/dist/runtime/guard.d.ts +2 -0
- package/dist/runtime/guard.d.ts.map +1 -0
- package/dist/runtime/guard.js +114 -0
- package/dist/runtime/guard.js.map +1 -0
- package/dist/runtime/session.d.ts +13 -0
- package/dist/runtime/session.d.ts.map +1 -0
- package/dist/runtime/session.js +111 -0
- package/dist/runtime/session.js.map +1 -0
- package/dist/runtime/trace-hook.d.ts +2 -0
- package/dist/runtime/trace-hook.d.ts.map +1 -0
- package/dist/runtime/trace-hook.js +102 -0
- package/dist/runtime/trace-hook.js.map +1 -0
- package/dist/runtime/types.d.ts +108 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime/types.js +3 -0
- package/dist/runtime/types.js.map +1 -0
- package/dist/runtime/validate.d.ts +2 -0
- package/dist/runtime/validate.d.ts.map +1 -0
- package/dist/runtime/validate.js +91 -0
- package/dist/runtime/validate.js.map +1 -0
- package/package.json +1 -1
package/dist/commands/index.js
CHANGED
|
@@ -43,7 +43,7 @@ export function indexCommand(args) {
|
|
|
43
43
|
const isRebuild = args.includes('--rebuild');
|
|
44
44
|
const targetDir = process.cwd();
|
|
45
45
|
const dbPath = path.join(targetDir, '.aidos.db');
|
|
46
|
-
console.log('[
|
|
46
|
+
console.log('[nirnex index] Starting ' + (isRebuild ? 'full rebuild' : 'incremental update') + ' on ' + targetDir);
|
|
47
47
|
const t0 = performance.now();
|
|
48
48
|
const db = openDb(dbPath);
|
|
49
49
|
let filesToProcess = [];
|
|
@@ -97,6 +97,6 @@ export function indexCommand(args) {
|
|
|
97
97
|
// Ignore if not a git repo
|
|
98
98
|
}
|
|
99
99
|
const t1 = performance.now();
|
|
100
|
-
console.log('[
|
|
100
|
+
console.log('[nirnex index] Finished processing ' + filesToProcess.length + ' file(s) in ' + (t1 - t0).toFixed(2) + 'ms');
|
|
101
101
|
}
|
|
102
102
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/query.js
CHANGED
|
@@ -34,7 +34,7 @@ export async function queryCommand(args) {
|
|
|
34
34
|
rawQuery = args[args.indexOf('--impact') + 1] || '';
|
|
35
35
|
}
|
|
36
36
|
if (!rawQuery) {
|
|
37
|
-
console.error('Usage:
|
|
37
|
+
console.error('Usage: nirnex query "<question>" or nirnex query --impact <file>');
|
|
38
38
|
return;
|
|
39
39
|
}
|
|
40
40
|
const db = openDb(dbPath);
|
|
@@ -123,7 +123,7 @@ export async function queryCommand(args) {
|
|
|
123
123
|
const label = getConfidenceLabel(conf.score);
|
|
124
124
|
const tier = computeDegradationTier(penalties);
|
|
125
125
|
const suggested = getSuggestedNext(conf.score, rawQuery);
|
|
126
|
-
console.log('\\n[
|
|
126
|
+
console.log('\\n[nirnex query] Results for "' + rawQuery + '"');
|
|
127
127
|
console.log('Flags Fired: ' + flags);
|
|
128
128
|
console.log('Sources Used: ' + sourcesUsed.join(', '));
|
|
129
129
|
console.log('Duration: ' + (t1 - t0).toFixed(2) + 'ms');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/commands/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,IAAK,SAMJ;AAND,WAAK,SAAS;IACZ,+DAAwB,CAAA;IACxB,yDAAqB,CAAA;IACrB,yDAAqB,CAAA;IACrB,2DAAsB,CAAA;IACtB,0DAAqB,CAAA;AACvB,CAAC,EANI,SAAS,KAAT,SAAS,QAMb;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAEjC,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,KAAK,IAAI,SAAS,CAAC,eAAe,CAAC;IAC3E,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,KAAK,IAAI,SAAS,CAAC,YAAY,CAAC;IACtE,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,KAAK,IAAI,SAAS,CAAC,YAAY,CAAC;IACxI,IAAI,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,KAAK,IAAI,SAAS,CAAC,aAAa,CAAC;IAChF,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,KAAK,IAAI,SAAS,CAAC,YAAY,CAAC;IAE1E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAc;IAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAEjD,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,gBAAgB,GAAG,IAAI,CAAC;QACxB,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACtD,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/commands/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/commands/runtime.ts"],"names":[],"mappings":"AAwBA,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqClE"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
// Command: nirnex runtime <subcommand>
|
|
2
|
+
// Machine-facing runtime pipeline commands called by Claude hook scripts.
|
|
3
|
+
//
|
|
4
|
+
// Subcommands:
|
|
5
|
+
// bootstrap — SessionStart: hydrate env, create session state
|
|
6
|
+
// entry — UserPromptSubmit: build ECO, create envelope, inject context
|
|
7
|
+
// guard — PreToolUse: evaluate tool against lane policy
|
|
8
|
+
// trace — PostToolUse: append trace event, detect deviation
|
|
9
|
+
// validate — Stop: validate ACs, block or allow completion
|
|
10
|
+
const RUNTIME_USAGE = `
|
|
11
|
+
nirnex runtime <subcommand>
|
|
12
|
+
|
|
13
|
+
Subcommands (called by Claude hook scripts):
|
|
14
|
+
bootstrap SessionStart handler — hydrates session state and env vars
|
|
15
|
+
entry UserPromptSubmit handler — builds ECO and creates task envelope
|
|
16
|
+
guard PreToolUse handler — evaluates tool against lane policy
|
|
17
|
+
trace PostToolUse handler — appends trace event and detects deviation
|
|
18
|
+
validate Stop handler — validates acceptance criteria and completion
|
|
19
|
+
|
|
20
|
+
These commands read JSON from stdin and write JSON to stdout.
|
|
21
|
+
They are not intended for direct user invocation.
|
|
22
|
+
`.trimStart();
|
|
23
|
+
export async function runtimeCommand(args) {
|
|
24
|
+
const sub = args[0];
|
|
25
|
+
switch (sub) {
|
|
26
|
+
case 'bootstrap': {
|
|
27
|
+
const { runBootstrap } = await import('../runtime/bootstrap.js');
|
|
28
|
+
await runBootstrap();
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
case 'entry': {
|
|
32
|
+
const { runEntry } = await import('../runtime/entry.js');
|
|
33
|
+
await runEntry();
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
case 'guard': {
|
|
37
|
+
const { runGuard } = await import('../runtime/guard.js');
|
|
38
|
+
await runGuard();
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
case 'trace': {
|
|
42
|
+
const { runTraceHook } = await import('../runtime/trace-hook.js');
|
|
43
|
+
await runTraceHook();
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
case 'validate': {
|
|
47
|
+
const { runValidate } = await import('../runtime/validate.js');
|
|
48
|
+
await runValidate();
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
default:
|
|
52
|
+
console.log(RUNTIME_USAGE);
|
|
53
|
+
if (sub && sub !== '--help' && sub !== '-h') {
|
|
54
|
+
console.error(`Unknown runtime subcommand: "${sub}"`);
|
|
55
|
+
process.exit(1);
|
|
56
|
+
}
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/commands/runtime.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,0EAA0E;AAC1E,EAAE;AACF,eAAe;AACf,iEAAiE;AACjE,8EAA8E;AAC9E,+DAA+D;AAC/D,mEAAmE;AACnE,+DAA+D;AAE/D,MAAM,aAAa,GAAG;;;;;;;;;;;;CAYrB,CAAC,SAAS,EAAE,CAAC;AAEd,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAc;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAEpB,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;YACjE,MAAM,YAAY,EAAE,CAAC;YACrB,MAAM;QACR,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;YACzD,MAAM,QAAQ,EAAE,CAAC;YACjB,MAAM;QACR,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;YACzD,MAAM,QAAQ,EAAE,CAAC;YACjB,MAAM;QACR,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;YAClE,MAAM,YAAY,EAAE,CAAC;YACrB,MAAM;QACR,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YAC/D,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM;QACR,CAAC;QACD;YACE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC3B,IAAI,GAAG,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBAC5C,OAAO,CAAC,KAAK,CAAC,gCAAgC,GAAG,GAAG,CAAC,CAAC;gBACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM;IACV,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AA8OA,iBAAe,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAyL1E;AAID,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhE"}
|
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
// Command: nirnex setup
|
|
2
|
+
// Fully Nirnex-enables a repository: creates .ai/, nirnex.config.json,
|
|
3
|
+
// initializes the index, and optionally installs the git post-commit hook.
|
|
4
|
+
import fs from 'node:fs';
|
|
5
|
+
import path from 'node:path';
|
|
6
|
+
import readline from 'node:readline';
|
|
7
|
+
// ─── Default file templates ───────────────────────────────────────────────
|
|
8
|
+
const DEFAULT_ANALYST_MD = `# Analyst Persona
|
|
9
|
+
|
|
10
|
+
## Role
|
|
11
|
+
You are the Analyst agent in the Nirnex pipeline. Your job is to
|
|
12
|
+
**understand the codebase** and produce structured knowledge for the Implementer.
|
|
13
|
+
|
|
14
|
+
## Responsibilities
|
|
15
|
+
1. Parse the module graph and identify architectural patterns.
|
|
16
|
+
2. Detect hot-spots: high complexity, high coupling, circular dependencies.
|
|
17
|
+
3. Summarise each module in ≤ 120 tokens.
|
|
18
|
+
4. Identify critical paths from \`critical-paths.txt\` and flag changes that touch them.
|
|
19
|
+
5. Output gate results for the \`patterns\` and \`gate_results\` tables.
|
|
20
|
+
|
|
21
|
+
## Output Contract
|
|
22
|
+
- \`modules\` rows updated with \`content_hash\` and \`loc\`.
|
|
23
|
+
- \`patterns\` rows inserted for any detected smell.
|
|
24
|
+
- \`summaries\` rows upserted per module.
|
|
25
|
+
- Return a JSON status: \`{ ok: boolean, warnings: string[] }\`.
|
|
26
|
+
|
|
27
|
+
## Constraints
|
|
28
|
+
- Do not modify source files.
|
|
29
|
+
- Do not write to \`hub_summaries\` — that is the Implementer's job.
|
|
30
|
+
- Budget: ≤ 2 minutes wall-clock per invocation.
|
|
31
|
+
`;
|
|
32
|
+
const DEFAULT_IMPLEMENTER_MD = `# Implementer Persona
|
|
33
|
+
|
|
34
|
+
## Role
|
|
35
|
+
You are the Implementer agent in the Nirnex pipeline. Your job is to
|
|
36
|
+
**plan and execute changes** using the knowledge produced by the Analyst.
|
|
37
|
+
|
|
38
|
+
## Responsibilities
|
|
39
|
+
1. Read \`summaries\` and \`hub_summaries\` to understand the impact radius of a change.
|
|
40
|
+
2. Check \`gate_results\` before starting — do not proceed if any critical gate is failing.
|
|
41
|
+
3. Produce a delivery plan: ordered list of files to change, with rationale.
|
|
42
|
+
4. After changes, trigger re-analysis and confirm gates pass.
|
|
43
|
+
5. Write hub summaries for directories you have modified.
|
|
44
|
+
|
|
45
|
+
## Output Contract
|
|
46
|
+
- A markdown delivery plan committed to \`.ai/specs/plan-<date>.md\`.
|
|
47
|
+
- \`gate_results\` rows inserted for your run.
|
|
48
|
+
- \`hub_summaries\` rows upserted for touched directories.
|
|
49
|
+
|
|
50
|
+
## Constraints
|
|
51
|
+
- Follow the patterns established in \`calibration/\`.
|
|
52
|
+
- Prefer minimal diffs; do not refactor outside the task scope.
|
|
53
|
+
- Do not write directly to the database — use the \`@nirnex/core\` API.
|
|
54
|
+
`;
|
|
55
|
+
const DEFAULT_CRITICAL_PATHS = `# Critical Paths
|
|
56
|
+
# List architecturally critical files or directories here.
|
|
57
|
+
# Changes touching these paths are flagged and escalated to Lane C.
|
|
58
|
+
# One path per line. Wildcards supported.
|
|
59
|
+
#
|
|
60
|
+
# Examples:
|
|
61
|
+
# src/auth/
|
|
62
|
+
# packages/core/src/schema.sql
|
|
63
|
+
# src/state/paymentMachine.ts
|
|
64
|
+
`;
|
|
65
|
+
const DEFAULT_CALIBRATION_README = `# Calibration
|
|
66
|
+
|
|
67
|
+
Project-specific calibration files for Nirnex. Add markdown files here
|
|
68
|
+
to teach agents about your codebase conventions.
|
|
69
|
+
|
|
70
|
+
Suggested files:
|
|
71
|
+
- \`naming.md\` — naming conventions for modules, functions, types
|
|
72
|
+
- \`patterns.md\` — architectural patterns used in this project
|
|
73
|
+
- \`boundaries.md\` — module ownership and cross-boundary rules
|
|
74
|
+
- \`gates.md\` — gate check thresholds and escalation policies
|
|
75
|
+
`;
|
|
76
|
+
const POST_COMMIT_HOOK = `#!/bin/sh
|
|
77
|
+
nirnex index
|
|
78
|
+
`;
|
|
79
|
+
// ─── Claude hook launcher templates ──────────────────────────────────────
|
|
80
|
+
const HOOK_BOOTSTRAP = `#!/bin/sh
|
|
81
|
+
exec nirnex runtime bootstrap
|
|
82
|
+
`;
|
|
83
|
+
const HOOK_ENTRY = `#!/bin/sh
|
|
84
|
+
exec nirnex runtime entry
|
|
85
|
+
`;
|
|
86
|
+
const HOOK_GUARD = `#!/bin/sh
|
|
87
|
+
exec nirnex runtime guard
|
|
88
|
+
`;
|
|
89
|
+
const HOOK_TRACE = `#!/bin/sh
|
|
90
|
+
exec nirnex runtime trace
|
|
91
|
+
`;
|
|
92
|
+
const HOOK_VALIDATE = `#!/bin/sh
|
|
93
|
+
exec nirnex runtime validate
|
|
94
|
+
`;
|
|
95
|
+
const CLAUDE_SETTINGS_HOOKS = {
|
|
96
|
+
hooks: {
|
|
97
|
+
SessionStart: [
|
|
98
|
+
{
|
|
99
|
+
hooks: [{ type: 'command', command: '.claude/hooks/nirnex-bootstrap.sh', timeout: 30 }],
|
|
100
|
+
},
|
|
101
|
+
],
|
|
102
|
+
UserPromptSubmit: [
|
|
103
|
+
{
|
|
104
|
+
hooks: [{ type: 'command', command: '.claude/hooks/nirnex-entry.sh', timeout: 30 }],
|
|
105
|
+
},
|
|
106
|
+
],
|
|
107
|
+
PreToolUse: [
|
|
108
|
+
{
|
|
109
|
+
matcher: 'Bash|Edit|Write|MultiEdit',
|
|
110
|
+
hooks: [{ type: 'command', command: '.claude/hooks/nirnex-guard.sh', timeout: 10 }],
|
|
111
|
+
},
|
|
112
|
+
],
|
|
113
|
+
PostToolUse: [
|
|
114
|
+
{
|
|
115
|
+
hooks: [{ type: 'command', command: '.claude/hooks/nirnex-trace.sh', timeout: 10 }],
|
|
116
|
+
},
|
|
117
|
+
],
|
|
118
|
+
Stop: [
|
|
119
|
+
{
|
|
120
|
+
hooks: [{ type: 'command', command: '.claude/hooks/nirnex-validate.sh', timeout: 10 }],
|
|
121
|
+
},
|
|
122
|
+
],
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
// ─── Helpers ─────────────────────────────────────────────────────────────
|
|
126
|
+
function tick(msg) {
|
|
127
|
+
process.stdout.write(` \x1b[32m✔\x1b[0m ${msg}\n`);
|
|
128
|
+
}
|
|
129
|
+
function info(msg) {
|
|
130
|
+
process.stdout.write(` \x1b[90m·\x1b[0m ${msg}\n`);
|
|
131
|
+
}
|
|
132
|
+
function warn(msg) {
|
|
133
|
+
process.stdout.write(` \x1b[33m!\x1b[0m ${msg}\n`);
|
|
134
|
+
}
|
|
135
|
+
function mkdirSafe(p) {
|
|
136
|
+
if (!fs.existsSync(p)) {
|
|
137
|
+
fs.mkdirSync(p, { recursive: true });
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
function writeFileSafe(p, content, label) {
|
|
141
|
+
if (!fs.existsSync(p)) {
|
|
142
|
+
fs.writeFileSync(p, content, 'utf8');
|
|
143
|
+
tick(label);
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
info(`${label} (already exists, skipped)`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
function detectSourceRoots(cwd) {
|
|
150
|
+
const candidates = ['src', 'apps', 'packages', 'lib'];
|
|
151
|
+
return candidates.filter(d => fs.existsSync(path.join(cwd, d)));
|
|
152
|
+
}
|
|
153
|
+
function detectProjectName(cwd) {
|
|
154
|
+
const pkgPath = path.join(cwd, 'package.json');
|
|
155
|
+
if (fs.existsSync(pkgPath)) {
|
|
156
|
+
try {
|
|
157
|
+
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
|
|
158
|
+
if (pkg.name)
|
|
159
|
+
return pkg.name;
|
|
160
|
+
}
|
|
161
|
+
catch { }
|
|
162
|
+
}
|
|
163
|
+
return path.basename(cwd);
|
|
164
|
+
}
|
|
165
|
+
function isNodeProject(cwd) {
|
|
166
|
+
return fs.existsSync(path.join(cwd, 'package.json'));
|
|
167
|
+
}
|
|
168
|
+
function isMonorepo(cwd) {
|
|
169
|
+
const pkgPath = path.join(cwd, 'package.json');
|
|
170
|
+
if (!fs.existsSync(pkgPath))
|
|
171
|
+
return false;
|
|
172
|
+
try {
|
|
173
|
+
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
|
|
174
|
+
return Array.isArray(pkg.workspaces) && pkg.workspaces.length > 0;
|
|
175
|
+
}
|
|
176
|
+
catch { }
|
|
177
|
+
return false;
|
|
178
|
+
}
|
|
179
|
+
function getFileCount(cwd) {
|
|
180
|
+
let count = 0;
|
|
181
|
+
function walk(dir) {
|
|
182
|
+
try {
|
|
183
|
+
const entries = fs.readdirSync(dir);
|
|
184
|
+
for (const e of entries) {
|
|
185
|
+
if (e === 'node_modules' || e === 'dist' || e === '.git')
|
|
186
|
+
continue;
|
|
187
|
+
const full = path.join(dir, e);
|
|
188
|
+
try {
|
|
189
|
+
const stat = fs.statSync(full);
|
|
190
|
+
if (stat.isDirectory()) {
|
|
191
|
+
walk(full);
|
|
192
|
+
}
|
|
193
|
+
else if (full.endsWith('.ts') || full.endsWith('.tsx')) {
|
|
194
|
+
count++;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
catch { }
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
catch { }
|
|
201
|
+
}
|
|
202
|
+
walk(cwd);
|
|
203
|
+
return count;
|
|
204
|
+
}
|
|
205
|
+
// ─── Interactive prompt helper ────────────────────────────────────────────
|
|
206
|
+
function prompt(rl, question) {
|
|
207
|
+
return new Promise(resolve => rl.question(question, resolve));
|
|
208
|
+
}
|
|
209
|
+
async function askYesNo(rl, question, defaultYes = true) {
|
|
210
|
+
const hint = defaultYes ? '[Y/n]' : '[y/N]';
|
|
211
|
+
const answer = await prompt(rl, ` ${question} ${hint}: `);
|
|
212
|
+
const trimmed = answer.trim().toLowerCase();
|
|
213
|
+
if (!trimmed)
|
|
214
|
+
return defaultYes;
|
|
215
|
+
return trimmed === 'y' || trimmed === 'yes';
|
|
216
|
+
}
|
|
217
|
+
// ─── Main setup logic ─────────────────────────────────────────────────────
|
|
218
|
+
async function runSetup(cwd, opts) {
|
|
219
|
+
console.log('\n\x1b[1mNirnex Setup\x1b[0m\n');
|
|
220
|
+
// Detect environment
|
|
221
|
+
const projectName = detectProjectName(cwd);
|
|
222
|
+
const sourceRoots = detectSourceRoots(cwd);
|
|
223
|
+
const isNode = isNodeProject(cwd);
|
|
224
|
+
const mono = isMonorepo(cwd);
|
|
225
|
+
if (isNode) {
|
|
226
|
+
info(`Detected project: \x1b[1m${projectName}\x1b[0m${mono ? ' (monorepo)' : ''}`);
|
|
227
|
+
}
|
|
228
|
+
if (sourceRoots.length > 0) {
|
|
229
|
+
info(`Source roots found: ${sourceRoots.join(', ')}`);
|
|
230
|
+
}
|
|
231
|
+
console.log('');
|
|
232
|
+
// Check if already initialized
|
|
233
|
+
const configPath = path.join(cwd, 'nirnex.config.json');
|
|
234
|
+
if (fs.existsSync(configPath)) {
|
|
235
|
+
console.log('\x1b[33mThis project is already Nirnex-enabled.\x1b[0m');
|
|
236
|
+
console.log('Run \x1b[1mnirnex status\x1b[0m to check the current state.\n');
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
let installHook = true;
|
|
240
|
+
let runIndex = true;
|
|
241
|
+
if (!opts.yes) {
|
|
242
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
243
|
+
try {
|
|
244
|
+
installHook = await askYesNo(rl, 'Install git post-commit hook for automatic index refresh?', true);
|
|
245
|
+
runIndex = await askYesNo(rl, 'Initialize index now?', true);
|
|
246
|
+
}
|
|
247
|
+
finally {
|
|
248
|
+
rl.close();
|
|
249
|
+
}
|
|
250
|
+
console.log('');
|
|
251
|
+
}
|
|
252
|
+
// Create .ai/ structure
|
|
253
|
+
const aiDir = path.join(cwd, '.ai');
|
|
254
|
+
const promptsDir = path.join(aiDir, 'prompts');
|
|
255
|
+
const specsDir = path.join(aiDir, 'specs');
|
|
256
|
+
const calibrationDir = path.join(aiDir, 'calibration');
|
|
257
|
+
const aiIndexDir = path.join(cwd, '.ai-index');
|
|
258
|
+
const tracesDir = path.join(aiIndexDir, 'traces');
|
|
259
|
+
mkdirSafe(aiDir);
|
|
260
|
+
tick('Created .ai/');
|
|
261
|
+
mkdirSafe(promptsDir);
|
|
262
|
+
tick('Created .ai/prompts/');
|
|
263
|
+
mkdirSafe(specsDir);
|
|
264
|
+
tick('Created .ai/specs/');
|
|
265
|
+
mkdirSafe(calibrationDir);
|
|
266
|
+
writeFileSafe(path.join(calibrationDir, 'README.md'), DEFAULT_CALIBRATION_README, 'Created .ai/calibration/README.md');
|
|
267
|
+
writeFileSafe(path.join(aiDir, 'critical-paths.txt'), DEFAULT_CRITICAL_PATHS, 'Created .ai/critical-paths.txt');
|
|
268
|
+
writeFileSafe(path.join(promptsDir, 'analyst.md'), DEFAULT_ANALYST_MD, 'Created .ai/prompts/analyst.md');
|
|
269
|
+
writeFileSafe(path.join(promptsDir, 'implementer.md'), DEFAULT_IMPLEMENTER_MD, 'Created .ai/prompts/implementer.md');
|
|
270
|
+
mkdirSafe(aiIndexDir);
|
|
271
|
+
mkdirSafe(tracesDir);
|
|
272
|
+
tick('Created .ai-index/');
|
|
273
|
+
// Write nirnex.config.json
|
|
274
|
+
const config = {
|
|
275
|
+
projectName,
|
|
276
|
+
sourceRoots: sourceRoots.length > 0 ? sourceRoots : ['src'],
|
|
277
|
+
specDirectory: '.ai/specs',
|
|
278
|
+
criticalPathsFile: '.ai/critical-paths.txt',
|
|
279
|
+
prompts: {
|
|
280
|
+
analyst: '.ai/prompts/analyst.md',
|
|
281
|
+
implementer: '.ai/prompts/implementer.md',
|
|
282
|
+
},
|
|
283
|
+
index: {
|
|
284
|
+
path: '.ai-index',
|
|
285
|
+
db: '.aidos.db',
|
|
286
|
+
autoRefresh: installHook,
|
|
287
|
+
},
|
|
288
|
+
git: {
|
|
289
|
+
installPostCommitHook: installHook,
|
|
290
|
+
},
|
|
291
|
+
llm: {
|
|
292
|
+
provider: 'anthropic',
|
|
293
|
+
},
|
|
294
|
+
hooks: {
|
|
295
|
+
enabled: true,
|
|
296
|
+
policyMode: 'standard',
|
|
297
|
+
},
|
|
298
|
+
};
|
|
299
|
+
fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', 'utf8');
|
|
300
|
+
tick('Created nirnex.config.json');
|
|
301
|
+
// Install git hook
|
|
302
|
+
if (installHook) {
|
|
303
|
+
const hooksDir = path.join(cwd, '.git', 'hooks');
|
|
304
|
+
const hookPath = path.join(hooksDir, 'post-commit');
|
|
305
|
+
if (fs.existsSync(hooksDir)) {
|
|
306
|
+
if (!fs.existsSync(hookPath)) {
|
|
307
|
+
fs.writeFileSync(hookPath, POST_COMMIT_HOOK, { mode: 0o755 });
|
|
308
|
+
tick('Installed git post-commit hook');
|
|
309
|
+
}
|
|
310
|
+
else {
|
|
311
|
+
info('Git post-commit hook already exists, skipped');
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
warn('Not a git repo — skipping post-commit hook');
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
// Install Claude hooks
|
|
319
|
+
{
|
|
320
|
+
const claudeDir = path.join(cwd, '.claude');
|
|
321
|
+
const hooksDir = path.join(claudeDir, 'hooks');
|
|
322
|
+
const settingsPath = path.join(claudeDir, 'settings.json');
|
|
323
|
+
mkdirSafe(claudeDir);
|
|
324
|
+
mkdirSafe(hooksDir);
|
|
325
|
+
const hookFiles = [
|
|
326
|
+
['nirnex-bootstrap.sh', HOOK_BOOTSTRAP],
|
|
327
|
+
['nirnex-entry.sh', HOOK_ENTRY],
|
|
328
|
+
['nirnex-guard.sh', HOOK_GUARD],
|
|
329
|
+
['nirnex-trace.sh', HOOK_TRACE],
|
|
330
|
+
['nirnex-validate.sh', HOOK_VALIDATE],
|
|
331
|
+
];
|
|
332
|
+
for (const [name, content] of hookFiles) {
|
|
333
|
+
const p = path.join(hooksDir, name);
|
|
334
|
+
if (!fs.existsSync(p)) {
|
|
335
|
+
fs.writeFileSync(p, content, { mode: 0o755 });
|
|
336
|
+
tick(`Created .claude/hooks/${name}`);
|
|
337
|
+
}
|
|
338
|
+
else {
|
|
339
|
+
info(`.claude/hooks/${name} (already exists, skipped)`);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
// Merge hook config into .claude/settings.json
|
|
343
|
+
let existing = {};
|
|
344
|
+
if (fs.existsSync(settingsPath)) {
|
|
345
|
+
try {
|
|
346
|
+
existing = JSON.parse(fs.readFileSync(settingsPath, 'utf8'));
|
|
347
|
+
}
|
|
348
|
+
catch { }
|
|
349
|
+
}
|
|
350
|
+
// Only write if hooks section is not already present
|
|
351
|
+
if (!existing.hooks) {
|
|
352
|
+
const merged = { ...existing, ...CLAUDE_SETTINGS_HOOKS };
|
|
353
|
+
fs.writeFileSync(settingsPath, JSON.stringify(merged, null, 2) + '\n', 'utf8');
|
|
354
|
+
tick('Wrote Claude hook bindings to .claude/settings.json');
|
|
355
|
+
}
|
|
356
|
+
else {
|
|
357
|
+
info('.claude/settings.json hooks already configured, skipped');
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
// Run initial index
|
|
361
|
+
if (runIndex) {
|
|
362
|
+
process.stdout.write(` \x1b[90m·\x1b[0m Indexing project...\n`);
|
|
363
|
+
try {
|
|
364
|
+
const { indexCommand } = await import('./index.js');
|
|
365
|
+
indexCommand(['--rebuild']);
|
|
366
|
+
const fileCount = getFileCount(cwd);
|
|
367
|
+
tick(`Indexed ${fileCount} TypeScript file(s)`);
|
|
368
|
+
}
|
|
369
|
+
catch (e) {
|
|
370
|
+
warn(`Indexing failed: ${e instanceof Error ? e.message : String(e)}`);
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
// Success summary
|
|
374
|
+
console.log('\n\x1b[32m\x1b[1mSetup complete.\x1b[0m\n');
|
|
375
|
+
console.log('Next steps:');
|
|
376
|
+
console.log(' \x1b[1mnirnex status\x1b[0m — verify project is ready');
|
|
377
|
+
console.log(' \x1b[1mnirnex plan "your task"\x1b[0m — generate your first plan');
|
|
378
|
+
console.log(' \x1b[1mnirnex plan .ai/specs/foo.md\x1b[0m — plan from a spec file');
|
|
379
|
+
console.log('');
|
|
380
|
+
console.log('Claude hooks installed:');
|
|
381
|
+
console.log(' SessionStart → .claude/hooks/nirnex-bootstrap.sh');
|
|
382
|
+
console.log(' UserPromptSubmit → .claude/hooks/nirnex-entry.sh');
|
|
383
|
+
console.log(' PreToolUse → .claude/hooks/nirnex-guard.sh');
|
|
384
|
+
console.log(' PostToolUse → .claude/hooks/nirnex-trace.sh');
|
|
385
|
+
console.log(' Stop → .claude/hooks/nirnex-validate.sh');
|
|
386
|
+
console.log('');
|
|
387
|
+
}
|
|
388
|
+
// ─── Exported command ─────────────────────────────────────────────────────
|
|
389
|
+
export { runSetup };
|
|
390
|
+
export async function setupCommand(args) {
|
|
391
|
+
const yes = args.includes('--yes') || args.includes('-y');
|
|
392
|
+
const cwd = process.cwd();
|
|
393
|
+
await runSetup(cwd, { yes });
|
|
394
|
+
}
|
|
395
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function statusCommand(
|
|
1
|
+
export declare function statusCommand(_args: string[]): void;
|
|
2
2
|
//# sourceMappingURL=status.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAoBA,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAiJnD"}
|