@mirnoorata/codexa 0.2.2 → 0.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 (67) hide show
  1. package/README.md +110 -31
  2. package/dist/cli/hooks.js +11 -6
  3. package/dist/cli/hooks.js.map +1 -1
  4. package/dist/cli.js +13 -4
  5. package/dist/cli.js.map +1 -1
  6. package/dist/eval/scoring.js +17 -0
  7. package/dist/eval/scoring.js.map +1 -1
  8. package/dist/implicit-baseline.d.ts +8 -0
  9. package/dist/implicit-baseline.js +94 -0
  10. package/dist/implicit-baseline.js.map +1 -0
  11. package/dist/init.d.ts +3 -0
  12. package/dist/init.js +129 -15
  13. package/dist/init.js.map +1 -1
  14. package/dist/mcp/compaction.d.ts +1 -0
  15. package/dist/mcp/compaction.js +24 -0
  16. package/dist/mcp/compaction.js.map +1 -1
  17. package/dist/mcp/envelope.d.ts +4 -1
  18. package/dist/mcp/envelope.js +45 -5
  19. package/dist/mcp/envelope.js.map +1 -1
  20. package/dist/mcp/prompts.d.ts +1 -1
  21. package/dist/mcp/prompts.js +5 -2
  22. package/dist/mcp/prompts.js.map +1 -1
  23. package/dist/mcp/tool-registry.d.ts +20 -19
  24. package/dist/mcp/tool-registry.js +24 -19
  25. package/dist/mcp/tool-registry.js.map +1 -1
  26. package/dist/mcp/tools.d.ts +1 -0
  27. package/dist/mcp/tools.js +11 -2
  28. package/dist/mcp/tools.js.map +1 -1
  29. package/dist/mcp-tool-catalog.d.ts +1 -1
  30. package/dist/mcp-tool-catalog.js +1 -1
  31. package/dist/mcp-tool-catalog.js.map +1 -1
  32. package/dist/mcp.js +10 -5
  33. package/dist/mcp.js.map +1 -1
  34. package/dist/query/post-edit/decision.d.ts +1 -0
  35. package/dist/query/post-edit/decision.js +13 -4
  36. package/dist/query/post-edit/decision.js.map +1 -1
  37. package/dist/query/post-edit.js +46 -16
  38. package/dist/query/post-edit.js.map +1 -1
  39. package/dist/task-snapshots.js +29 -0
  40. package/dist/task-snapshots.js.map +1 -1
  41. package/dist/types.d.ts +2 -0
  42. package/dist/types.js.map +1 -1
  43. package/integrations/.claude-plugin/marketplace.json +23 -0
  44. package/integrations/claude-code/.claude-plugin/plugin.json +16 -0
  45. package/integrations/claude-code/.mcp.json +8 -0
  46. package/integrations/claude-code/README.md +177 -0
  47. package/integrations/claude-code/commands/codexa-brief.md +14 -0
  48. package/integrations/claude-code/commands/codexa-impact.md +14 -0
  49. package/integrations/claude-code/commands/codexa-plan.md +20 -0
  50. package/integrations/claude-code/commands/codexa-review.md +23 -0
  51. package/integrations/claude-code/commands/codexa-status.md +10 -0
  52. package/integrations/claude-code/hooks/hooks.json +39 -0
  53. package/integrations/claude-code/scripts/cmd/brief.sh +18 -0
  54. package/integrations/claude-code/scripts/cmd/impact.sh +35 -0
  55. package/integrations/claude-code/scripts/cmd/lib.sh +136 -0
  56. package/integrations/claude-code/scripts/cmd/plan.sh +52 -0
  57. package/integrations/claude-code/scripts/cmd/review.sh +66 -0
  58. package/integrations/claude-code/scripts/cmd/status.sh +52 -0
  59. package/integrations/claude-code/scripts/codexa-mcp.js +111 -0
  60. package/integrations/claude-code/scripts/lib/codexa-repo.sh +773 -0
  61. package/integrations/claude-code/scripts/pre-edit.sh +116 -0
  62. package/integrations/claude-code/scripts/session-start.sh +201 -0
  63. package/integrations/claude-code/scripts/stop.sh +443 -0
  64. package/integrations/claude-code/tests/cmd-smoke.sh +310 -0
  65. package/integrations/claude-code/tests/hook-smoke.sh +1412 -0
  66. package/package.json +6 -3
  67. package/plugins/codexa/.codex-plugin/plugin.json +1 -1
@@ -68,8 +68,15 @@ export function scoreScenario(scenario, result, baseline, failOnRefresh, redactS
68
68
  if (precisionAtK !== null && precisionAtK < minPrecision) {
69
69
  failures.push(`precision@${precisionK} ${precisionAtK.toFixed(2)} < ${minPrecision.toFixed(2)}`);
70
70
  }
71
+ // The compactness ratio is meaningless against a tiny baseline: a 1-2
72
+ // line `git status` makes ANY useful packet look bloated (ratio 5.00 for
73
+ // ten context files against two dirty ones). Enforce only when the
74
+ // baseline is substantial enough for the comparison to mean something.
75
+ const MIN_BASELINE_LINES_FOR_RATIO = 5;
71
76
  if (scenario.oracle.maxSelectedToBaselineRatio !== undefined &&
72
77
  selectedToBaselineRatio !== null &&
78
+ baselineLines !== null &&
79
+ baselineLines >= MIN_BASELINE_LINES_FOR_RATIO &&
73
80
  selectedToBaselineRatio > scenario.oracle.maxSelectedToBaselineRatio) {
74
81
  failures.push(`selected/baseline ratio ${selectedToBaselineRatio.toFixed(2)} > ${scenario.oracle.maxSelectedToBaselineRatio.toFixed(2)}`);
75
82
  }
@@ -100,6 +107,16 @@ export function scoreScenario(scenario, result, baseline, failOnRefresh, redactS
100
107
  if (failOnRefresh && refreshed) {
101
108
  failures.push(`query auto-refreshed from ${result.refresh?.reason ?? "unknown"}`);
102
109
  }
110
+ // The headline gate conditions, enforced — not just recorded as
111
+ // calibration data. Without these, a ranking regression could sit at the
112
+ // per-scenario minimum thresholds while raw grep strictly wins, and the
113
+ // build would stay green under a step named "fails if raw grep wins".
114
+ if (rawRgBetter) {
115
+ failures.push(`raw baseline beat Codexa: ${rawRgBetterReason ?? "baseline metrics higher"}`);
116
+ }
117
+ if (heuristicHeavy) {
118
+ failures.push("heuristic-heavy packet: heuristic evidence outweighs authoritative+derived");
119
+ }
103
120
  const measured = [fileRecall, changedFileRecall, testRecall, precisionAtK].filter((value) => value !== null);
104
121
  const baseScore = measured.length > 0 ? measured.reduce((sum, value) => sum + value, 0) / measured.length : failures.length === 0 ? 1 : 0;
105
122
  const score = scored ? Math.max(0, baseScore - Math.min(0.5, failures.length * 0.1)) : 0;
@@ -1 +1 @@
1
- {"version":3,"file":"scoring.js","sourceRoot":"","sources":["../../src/eval/scoring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scoring.js","sourceRoot":"","sources":["../../src/eval/scoring.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare const IMPLICIT_BASELINE_TASK = "Implicit pre-edit baseline";
2
+ export interface ImplicitBaselineResult {
3
+ status: "saved" | "existing-snapshot" | "skipped";
4
+ taskId?: string;
5
+ latestTaskId?: string;
6
+ reason?: string;
7
+ }
8
+ export declare function saveImplicitBaselineSnapshot(repoRoot: string): Promise<ImplicitBaselineResult>;
@@ -0,0 +1,94 @@
1
+ import { acquireCacheLock } from "./cache-lock.js";
2
+ import { runCommand } from "./command.js";
3
+ import { getFreshness } from "./indexer.js";
4
+ import { getChangedFileEntries } from "./query/worktree.js";
5
+ import { loadTaskSnapshot, saveTaskSnapshot } from "./task-snapshots.js";
6
+ export const IMPLICIT_BASELINE_TASK = "Implicit pre-edit baseline";
7
+ // Saves a plan-less dirty-tree baseline so post_edit_review always has a
8
+ // pre-edit reference, even when the agent never called change_plan. The
9
+ // snapshot deliberately declares no planned scope: post-edit review only
10
+ // computes unplanned-edit drift against a non-empty planned scope, and the
11
+ // decision layer treats head drift on an implicit baseline as informational,
12
+ // so an implicit baseline contributes changed-since-baseline, symbol, and
13
+ // verification accounting without manufacturing drift verdicts. An explicit
14
+ // change_plan(saveSnapshot=true) later replaces it as latest.
15
+ export async function saveImplicitBaselineSnapshot(repoRoot) {
16
+ const release = await tryAcquireBaselineLock(repoRoot);
17
+ if (!release) {
18
+ return { status: "skipped", reason: "another Codexa snapshot writer is active" };
19
+ }
20
+ try {
21
+ const loaded = await loadTaskSnapshot(repoRoot);
22
+ if (loaded.snapshot) {
23
+ return { status: "existing-snapshot", taskId: loaded.snapshot.taskId };
24
+ }
25
+ if (loaded.missingReason === "blocked-plan" || loaded.missingReason === "invalid-json") {
26
+ return {
27
+ status: "skipped",
28
+ latestTaskId: loaded.latestTaskId,
29
+ reason: `latest snapshot state is ${loaded.missingReason}; not replacing it with an implicit baseline`
30
+ };
31
+ }
32
+ const changed = await getChangedFileEntries(repoRoot);
33
+ if (changed.degradedReason) {
34
+ return { status: "skipped", reason: `worktree state degraded (${changed.degradedReason}); an implicit baseline would be unreliable` };
35
+ }
36
+ const freshness = await getFreshness(repoRoot, undefined, { recover: false });
37
+ const { snapshot } = await saveTaskSnapshot({
38
+ repoRoot,
39
+ input: { task: IMPLICIT_BASELINE_TASK, changeType: "unknown", saveSnapshot: true },
40
+ snapshot: {
41
+ task: IMPLICIT_BASELINE_TASK,
42
+ changeType: "unknown",
43
+ origin: "hook-implicit",
44
+ snapshotFreshness: freshness,
45
+ plannedEditTargets: [],
46
+ plannedFiles: [],
47
+ focusFiles: [],
48
+ plannedTests: [],
49
+ requiredWorkflowChecks: [],
50
+ requiredDependencyChecks: [],
51
+ recipes: [],
52
+ dirtyBaseline: {
53
+ changedEntries: changed.entries,
54
+ dirtyFiles: changed.entries.map((entry) => entry.path),
55
+ dirtyFileHashes: freshness.dirtyFileHashes,
56
+ // freshnessFromStored carries the INDEXED head commit when a stored
57
+ // bundle exists; the baseline must record the head at save time or
58
+ // every later review reports phantom head drift.
59
+ headCommit: await currentHeadCommit(repoRoot),
60
+ indexedAt: freshness.indexedAt
61
+ },
62
+ gaps: ["implicit pre-edit baseline saved by the pre-edit hook; no planned scope or tests are declared"],
63
+ warnings: []
64
+ }
65
+ });
66
+ return { status: "saved", taskId: snapshot.taskId };
67
+ }
68
+ finally {
69
+ await release();
70
+ }
71
+ }
72
+ async function currentHeadCommit(repoRoot) {
73
+ const result = await runCommand("git", ["-C", repoRoot, "rev-parse", "HEAD"], { timeoutMs: 2_000, maxBufferBytes: 4_096 });
74
+ if (!result.ok) {
75
+ return null;
76
+ }
77
+ const head = result.stdout.trim();
78
+ return /^[0-9a-f]{7,40}$/u.test(head) ? head : null;
79
+ }
80
+ async function tryAcquireBaselineLock(repoRoot) {
81
+ try {
82
+ return await acquireCacheLock({
83
+ repoRoot,
84
+ lockDir: ".codex/cache/codexa-implicit-baseline.lock",
85
+ staleMs: 60_000,
86
+ timeoutMs: 5_000,
87
+ label: "Codexa implicit baseline"
88
+ });
89
+ }
90
+ catch {
91
+ return null;
92
+ }
93
+ }
94
+ //# sourceMappingURL=implicit-baseline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"implicit-baseline.js","sourceRoot":"","sources":["../src/implicit-baseline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,MAAM,CAAC,MAAM,sBAAsB,GAAG,4BAA4B,CAAC;AASnE,yEAAyE;AACzE,wEAAwE;AACxE,yEAAyE;AACzE,2EAA2E;AAC3E,6EAA6E;AAC7E,0EAA0E;AAC1E,4EAA4E;AAC5E,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,QAAgB;IACjE,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,0CAA0C,EAAE,CAAC;IACnF,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACzE,CAAC;QACD,IAAI,MAAM,CAAC,aAAa,KAAK,cAAc,IAAI,MAAM,CAAC,aAAa,KAAK,cAAc,EAAE,CAAC;YACvF,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,MAAM,EAAE,4BAA4B,MAAM,CAAC,aAAa,8CAA8C;aACvG,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,4BAA4B,OAAO,CAAC,cAAc,6CAA6C,EAAE,CAAC;QACxI,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9E,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,gBAAgB,CAAC;YAC1C,QAAQ;YACR,KAAK,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE;YAClF,QAAQ,EAAE;gBACR,IAAI,EAAE,sBAAsB;gBAC5B,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,eAAe;gBACvB,iBAAiB,EAAE,SAAS;gBAC5B,kBAAkB,EAAE,EAAE;gBACtB,YAAY,EAAE,EAAE;gBAChB,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,EAAE;gBAChB,sBAAsB,EAAE,EAAE;gBAC1B,wBAAwB,EAAE,EAAE;gBAC5B,OAAO,EAAE,EAAE;gBACX,aAAa,EAAE;oBACb,cAAc,EAAE,OAAO,CAAC,OAAO;oBAC/B,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;oBACtD,eAAe,EAAE,SAAS,CAAC,eAAe;oBAC1C,oEAAoE;oBACpE,mEAAmE;oBACnE,iDAAiD;oBACjD,UAAU,EAAE,MAAM,iBAAiB,CAAC,QAAQ,CAAC;oBAC7C,SAAS,EAAE,SAAS,CAAC,SAAS;iBAC/B;gBACD,IAAI,EAAE,CAAC,+FAA+F,CAAC;gBACvG,QAAQ,EAAE,EAAE;aACb;SACF,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACtD,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IAC/C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3H,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAClC,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,QAAgB;IACpD,IAAI,CAAC;QACH,OAAO,MAAM,gBAAgB,CAAC;YAC5B,QAAQ;YACR,OAAO,EAAE,4CAA4C;YACrD,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,0BAA0B;SAClC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
package/dist/init.d.ts CHANGED
@@ -8,6 +8,7 @@ export interface InitOptions {
8
8
  toolProfile?: InitToolProfile;
9
9
  agentsMd?: boolean;
10
10
  claudeMd?: boolean;
11
+ claude?: boolean;
11
12
  }
12
13
  export interface InitResult {
13
14
  repoRoot: string;
@@ -15,7 +16,9 @@ export interface InitResult {
15
16
  hooksPath: string | null;
16
17
  agentsMdPath: string | null;
17
18
  claudeMdPath: string | null;
19
+ claudeMcpPath: string | null;
18
20
  serverName: string;
21
+ launchNote: string | null;
19
22
  indexed: {
20
23
  files: number;
21
24
  symbols: number;
package/dist/init.js CHANGED
@@ -3,19 +3,66 @@ import path from "node:path";
3
3
  import { mkdir, readFile, rm, writeFile } from "node:fs/promises";
4
4
  import { renderCodexUseContract } from "./codex-contract.js";
5
5
  import { buildIndexLocked } from "./indexer.js";
6
- import { PRIMARY_CODEX_LOOP, PRIMARY_MCP_TOOL_NAMES } from "./mcp-tool-catalog.js";
6
+ import { CORE_PROFILE_TOOL_NAMES, PRIMARY_CODEX_LOOP } from "./mcp-tool-catalog.js";
7
7
  import { resolveMcpRepoRoot } from "./mcp-repo-root.js";
8
8
  import { statusQuery } from "./queries.js";
9
+ import { CODEXA_VERSION } from "./version.js";
9
10
  const EDIT_HOOK_MATCHER = "Edit|MultiEdit|Write|NotebookEdit|apply_patch";
10
- const CORE_PROFILE_TOOL_NAMES = [...PRIMARY_MCP_TOOL_NAMES, "impact", "freshness"];
11
+ // An ephemeral runner cache path (npm's ~/.npm/_npx/<hash>/…, pnpm's
12
+ // …/pnpm/dlx/<hash>/…, yarn's $TMP/xfs-<hash>/dlx-<pid>/…) is evicted on
13
+ // cache prune or reboot; baking it into MCP config breaks server startup
14
+ // weeks later with no visible cause. Pin the published package version
15
+ // instead so the config stays launchable.
16
+ function resolveLaunchSpec(cliPath) {
17
+ // The yarn shape requires BOTH segments (xfs-<hex>/dlx-<id>): matching
18
+ // a bare "dlx-" directory would mis-pin ordinary local installs that
19
+ // happen to live under a dlx-named folder.
20
+ const ephemeral = /[\\/]_npx[\\/]/u.test(cliPath) || /[\\/]pnpm[\\/]dlx[\\/]/u.test(cliPath) || /[\\/]xfs-[0-9a-f]+[\\/]dlx-[^\\/]+[\\/]/u.test(cliPath);
21
+ if (ephemeral) {
22
+ return { command: "npx", args: ["-y", `@mirnoorata/codexa@${CODEXA_VERSION}`], pinnedNpx: true };
23
+ }
24
+ return { command: "node", args: [cliPath], pinnedNpx: false };
25
+ }
26
+ // Re-running plain `codexa init` must not silently change an existing
27
+ // install's tool exposure (the rendered managed block historically told
28
+ // full-profile users to refresh with exactly `codexa init`). When --tools is
29
+ // not passed, the previously rendered profile wins; "core" only applies to
30
+ // fresh installs.
31
+ function detectExistingToolProfile(existingConfig) {
32
+ if (!existingConfig.includes("# >>> codexa managed")) {
33
+ return undefined;
34
+ }
35
+ const lines = existingConfig.split(/\r?\n/);
36
+ let inManaged = false;
37
+ let sawManaged = false;
38
+ for (const line of lines) {
39
+ const trimmed = line.trim();
40
+ if (trimmed === "# >>> codexa managed") {
41
+ inManaged = true;
42
+ sawManaged = true;
43
+ continue;
44
+ }
45
+ if (trimmed === "# <<< codexa managed") {
46
+ inManaged = false;
47
+ continue;
48
+ }
49
+ if (inManaged && /^enabled_tools\s*=/u.test(trimmed)) {
50
+ return "core";
51
+ }
52
+ }
53
+ return sawManaged ? "full" : undefined;
54
+ }
11
55
  export async function initializeProject(repoInput, options) {
12
56
  const repoRoot = resolveInitRepo(repoInput);
13
57
  const codexDir = path.join(repoRoot, ".codex");
14
58
  const serverName = validateServerName(options.serverName ?? `codexa-${slugify(path.basename(repoRoot))}`);
15
59
  const cliPath = path.resolve(options.cliPath);
60
+ const launch = resolveLaunchSpec(cliPath);
16
61
  const configPath = path.join(codexDir, "config.toml");
17
62
  const hooksPath = path.join(codexDir, "hooks.json");
18
63
  const writeHooks = options.hooks ?? true;
64
+ const toolProfile = options.toolProfile ?? detectExistingToolProfile(await readTextIfExists(configPath)) ?? "core";
65
+ const autoRefresh = options.autoRefresh ?? true;
19
66
  await mkdir(codexDir, { recursive: true });
20
67
  const keepHooksFeature = writeHooks
21
68
  ? true
@@ -24,21 +71,27 @@ export async function initializeProject(repoInput, options) {
24
71
  repoRoot
25
72
  });
26
73
  await upsertCodexConfig(configPath, {
27
- autoRefresh: options.autoRefresh ?? true,
74
+ autoRefresh,
28
75
  cliPath,
76
+ launch,
29
77
  repoRoot,
30
78
  serverName,
31
79
  hooks: keepHooksFeature,
32
- toolProfile: options.toolProfile ?? "full"
80
+ toolProfile
33
81
  });
34
82
  if (writeHooks) {
35
83
  await upsertHooksConfig(hooksPath, {
36
84
  cliPath,
85
+ launch,
37
86
  repoRoot
38
87
  });
39
88
  }
40
89
  const agentsMdPath = options.agentsMd ? await upsertManagedDoc(repoRoot, "AGENTS.md", serverName) : null;
41
90
  const claudeMdPath = options.claudeMd ? await upsertManagedDoc(repoRoot, "CLAUDE.md", serverName) : null;
91
+ const claudeMcpPath = options.claude ? path.join(repoRoot, ".mcp.json") : null;
92
+ if (claudeMcpPath) {
93
+ await upsertClaudeMcpConfig(claudeMcpPath, { autoRefresh, launch, repoRoot, serverName, toolProfile });
94
+ }
42
95
  const indexed = options.index === false
43
96
  ? null
44
97
  : summarizeIndex(await buildIndexLocked({ repoRoot, writeArtifacts: true }));
@@ -48,7 +101,11 @@ export async function initializeProject(repoInput, options) {
48
101
  hooksPath: writeHooks ? hooksPath : null,
49
102
  agentsMdPath,
50
103
  claudeMdPath,
104
+ claudeMcpPath,
51
105
  serverName,
106
+ launchNote: launch.pinnedNpx
107
+ ? `Codexa CLI resolved inside the evictable npx cache; generated configs pin "npx -y @mirnoorata/codexa@${CODEXA_VERSION}" instead of the cache path.`
108
+ : null,
52
109
  indexed
53
110
  };
54
111
  }
@@ -125,7 +182,9 @@ function runGit(cwd, args) {
125
182
  async function upsertCodexConfig(configPath, options) {
126
183
  const existing = await readTextIfExists(configPath);
127
184
  let next = stripManagedBlocks(existing);
128
- next = removeCodexaMcpServerBlocks(next, options);
185
+ // Legacy detection keys on the real CLI path, never on launch args like
186
+ // "-y", which would also match unrelated npx-launched server blocks.
187
+ next = removeCodexaMcpServerBlocks(next, { cliPath: options.cliPath, repoRoot: options.repoRoot });
129
188
  next = removeMcpServerBlock(next, options.serverName);
130
189
  if (options.hooks) {
131
190
  next = ensureHooksFeature(next);
@@ -141,21 +200,21 @@ async function upsertCodexConfig(configPath, options) {
141
200
  await writeFile(configPath, `${next}\n`, "utf8");
142
201
  }
143
202
  function renderMcpServerBlock(options) {
144
- const args = [options.cliPath, "serve", options.repoRoot];
203
+ const args = [...options.launch.args, "serve", options.repoRoot];
145
204
  args.push(options.autoRefresh ? "--auto-refresh" : "--no-auto-refresh");
146
205
  const toolProfileLines = options.toolProfile === "core"
147
206
  ? [
148
- "# Core profile: fewer exposed tools means less per-turn schema cost and better routing.",
207
+ "# Core profile (default): fewer exposed tools means less per-turn schema cost and better routing.",
149
208
  `# Re-run \`codexa init --tools full\` to expose every tool.`,
150
209
  `enabled_tools = [${CORE_PROFILE_TOOL_NAMES.map(tomlString).join(", ")}]`
151
210
  ]
152
- : [`# Tip: \`codexa init --tools core\` exposes only the primary loop tools (${CORE_PROFILE_TOOL_NAMES.join(", ")}) to cut per-turn token cost.`];
153
- const refreshCommand = options.toolProfile === "core" ? "codexa init --tools core" : "codexa init";
211
+ : [`# Full profile: every tool is exposed. \`codexa init\` (core default) exposes only ${CORE_PROFILE_TOOL_NAMES.join(", ")} to cut per-turn token cost.`];
212
+ const refreshCommand = options.toolProfile === "core" ? "codexa init" : "codexa init --tools full";
154
213
  return [
155
214
  "# >>> codexa managed",
156
215
  `# Re-run \`${refreshCommand}\` from this repository to refresh this block.`,
157
216
  `[mcp_servers.${options.serverName}]`,
158
- `command = "node"`,
217
+ `command = ${tomlString(options.launch.command)}`,
159
218
  `args = [${args.map(tomlString).join(", ")}]`,
160
219
  "startup_timeout_sec = 20",
161
220
  "tool_timeout_sec = 60",
@@ -163,6 +222,56 @@ function renderMcpServerBlock(options) {
163
222
  "# <<< codexa managed"
164
223
  ].join("\n");
165
224
  }
225
+ // Repo-root .mcp.json is Claude Code's project-scope MCP config and is a
226
+ // shared, often-committed file: only the codexa entry is managed; every
227
+ // other server entry and unknown top-level key is preserved verbatim.
228
+ // Malformed JSON aborts instead of being silently replaced.
229
+ async function upsertClaudeMcpConfig(mcpPath, options) {
230
+ const existing = await readTextIfExists(mcpPath);
231
+ const parsed = existing.trim() ? parseHooksJson(existing, mcpPath) : {};
232
+ const servers = isPlainObject(parsed.mcpServers) ? { ...parsed.mcpServers } : {};
233
+ for (const [name, entry] of Object.entries(servers)) {
234
+ if (name === options.serverName || isCodexaMcpJsonEntry(entry)) {
235
+ delete servers[name];
236
+ }
237
+ }
238
+ const args = [...options.launch.args, "serve", options.repoRoot];
239
+ args.push(options.autoRefresh ? "--auto-refresh" : "--no-auto-refresh");
240
+ if (options.toolProfile === "core") {
241
+ args.push("--tools", "core");
242
+ }
243
+ servers[options.serverName] = {
244
+ command: options.launch.command,
245
+ args
246
+ };
247
+ await writeFile(mcpPath, `${JSON.stringify({ ...parsed, mcpServers: servers }, null, 2)}\n`, "utf8");
248
+ }
249
+ // Only delete entries that are recognizably a codexa launch: the token
250
+ // immediately before the standalone "serve" arg must be the codexa binary,
251
+ // package, or CLI bundle. A loose substring match would also delete user
252
+ // servers that merely mention "codexa" somewhere in a path plus a serve.js.
253
+ function isCodexaMcpJsonEntry(entry) {
254
+ if (!isPlainObject(entry)) {
255
+ return false;
256
+ }
257
+ const command = typeof entry.command === "string" ? entry.command : "";
258
+ const args = Array.isArray(entry.args) ? entry.args.filter((value) => typeof value === "string") : [];
259
+ const serveIndex = args.indexOf("serve");
260
+ if (serveIndex === -1) {
261
+ return false;
262
+ }
263
+ const launcherToken = serveIndex === 0 ? command : args[serveIndex - 1];
264
+ return isCodexaLauncherToken(launcherToken);
265
+ }
266
+ function isCodexaLauncherToken(token) {
267
+ if (!token) {
268
+ return false;
269
+ }
270
+ return (token === "codexa" ||
271
+ /^@mirnoorata\/codexa(?:@[^\s]*)?$/u.test(token) ||
272
+ /[\\/]codexa[\\/]dist[\\/]cli\.js$/u.test(token) ||
273
+ /[\\/]@mirnoorata[\\/]codexa[\\/]dist[\\/]cli\.js$/u.test(token));
274
+ }
166
275
  const MANAGED_DOC_START = "<!-- >>> codexa managed -->";
167
276
  const MANAGED_DOC_END = "<!-- <<< codexa managed -->";
168
277
  // AGENTS.md (Codex) and CLAUDE.md (Claude Code) are different agent-instruction
@@ -239,6 +348,7 @@ async function upsertHooksConfig(hooksPath, options) {
239
348
  const cleanedSessionStart = cleanHookList(hooks.SessionStart, options);
240
349
  const cleanedPreToolUse = cleanHookList(hooks.PreToolUse, options);
241
350
  const cleanedPostToolUse = cleanHookList(hooks.PostToolUse, options);
351
+ const launchShell = [options.launch.command, ...options.launch.args.map(shellQuote)].join(" ");
242
352
  cleanedSessionStart.push({
243
353
  codexaManaged: true,
244
354
  matcher: "startup|resume",
@@ -246,7 +356,7 @@ async function upsertHooksConfig(hooksPath, options) {
246
356
  {
247
357
  codexaManaged: true,
248
358
  type: "command",
249
- command: `node ${shellQuote(options.cliPath)} session-start ${shellQuote(options.repoRoot)}`,
359
+ command: `${launchShell} session-start ${shellQuote(options.repoRoot)}`,
250
360
  statusMessage: "Loading Codexa context",
251
361
  timeout: 5
252
362
  }
@@ -259,9 +369,9 @@ async function upsertHooksConfig(hooksPath, options) {
259
369
  {
260
370
  codexaManaged: true,
261
371
  type: "command",
262
- command: `node ${shellQuote(options.cliPath)} hook-pre-edit ${shellQuote(options.repoRoot)}`,
263
- statusMessage: "Checking Codexa change-plan snapshot",
264
- timeout: 5
372
+ command: `${launchShell} hook-pre-edit ${shellQuote(options.repoRoot)}`,
373
+ statusMessage: "Saving Codexa pre-edit baseline",
374
+ timeout: 10
265
375
  }
266
376
  ]
267
377
  });
@@ -272,7 +382,7 @@ async function upsertHooksConfig(hooksPath, options) {
272
382
  {
273
383
  codexaManaged: true,
274
384
  type: "command",
275
- command: `node ${shellQuote(options.cliPath)} hook-post-edit ${shellQuote(options.repoRoot)}`,
385
+ command: `${launchShell} hook-post-edit ${shellQuote(options.repoRoot)}`,
276
386
  statusMessage: "Running Codexa post-edit review",
277
387
  timeout: 90
278
388
  }
@@ -352,6 +462,10 @@ function isCodexaHookCommand(command, options) {
352
462
  if (/^codexa-sessionstart(?:\s|$)/u.test(trimmed) || /(?:^|\/)codexa-sessionstart-[^/\s]+\.sh(?:\s|$)/u.test(trimmed)) {
353
463
  return true;
354
464
  }
465
+ // Pinned-npx form written when init ran from an evictable npx cache.
466
+ if (/^npx\s+(?:'-y'|-y)\s+'?@mirnoorata\/codexa(?:@[^\s']*)?'?\s+(?:session-start|hook-pre-edit|hook-post-edit)(?:\s|$)/u.test(trimmed)) {
467
+ return true;
468
+ }
355
469
  for (const action of ["session-start", "hook-pre-edit", "hook-post-edit"]) {
356
470
  const generated = `node ${shellQuote(options.cliPath)} ${action} ${shellQuote(options.repoRoot)}`;
357
471
  const generatedUnquoted = `node ${options.cliPath} ${action} ${options.repoRoot}`;