@zoisythe/codex-codeintel 0.10.0 → 0.10.1
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/.codex-plugin/plugin.json +3 -3
- package/CHANGELOG.md +17 -0
- package/README.md +19 -9
- package/dist/cli.js +1116 -253
- package/docs/testing/hooks-host.md +9 -9
- package/docs/testing/local-lsp.md +81 -0
- package/docs/usage.md +145 -99
- package/package.json +15 -10
- package/skills/code-intelligence/SKILL.md +14 -3
- package/skills/setup-lsp/references/configuration.md +5 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codex-codeintel",
|
|
3
|
-
"version": "0.10.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.10.1",
|
|
4
|
+
"description": "Ten compact MCP tools for checks, navigation, context and previewed edits; apply is the only source writer.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "zoisythe",
|
|
7
7
|
"url": "https://github.com/zoisythe"
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"interface": {
|
|
23
23
|
"displayName": "Codex CodeIntel",
|
|
24
24
|
"shortDescription": "Code intelligence and previewed lint/LSP fixes",
|
|
25
|
-
"longDescription": "Codex CodeIntel shares local LSP and CLI checks across MCP and optional nonblocking Hooks.
|
|
25
|
+
"longDescription": "Codex CodeIntel shares local LSP and CLI checks across MCP and optional nonblocking Hooks. Ten tools provide diagnostics, navigation, context and edit previews. Only apply writes source files; plans are single-use. Use setupLSP to configure project tools.",
|
|
26
26
|
"developerName": "zoisythe",
|
|
27
27
|
"category": "Developer Tools",
|
|
28
28
|
"capabilities": [
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.10.1 (2026-11-03)
|
|
4
|
+
|
|
5
|
+
- Persist completed pre-edit Hook baselines before reporting completion so diagnostic attribution survives service restarts. Guard late baseline writes after session cancellation and configuration changes.
|
|
6
|
+
- Stabilize Hook acceptance with a pinned, isolated TypeScript fixture, retained fixture services and bounded cleanup retries; run automatic feedback regression without spawning npm inside the test on Windows. Clarify navigate and inspect arguments.
|
|
7
|
+
- Standardize Skills and their usage, configuration and acceptance references in English. Update plugin metadata to describe all ten tools.
|
|
8
|
+
|
|
9
|
+
- Support custom LSP settings, language IDs and workspace-folder requests for MATLAB, preserving the default Objective-C mapping for `.m` files.
|
|
10
|
+
- Add delivered-bundle MATLAB acceptance and portable Rust fixtures, including both suites in `npm test` behind `REAL_TOOLS=1`. Add individual/local suite commands, configurable MATLAB paths and optional MCP traces; locate rustfmt in the selected toolchain and keep Rust references independent of standard-library macro expansion.
|
|
11
|
+
- Rename the real-tool switch to `REAL_TOOLS` across tests, scripts and CI; enable it in Rust CI. Add `npm run ci` for local type checking, lint, build and tests with the same switch.
|
|
12
|
+
- Breaking: require Node 24.20+ on 24.x or 26.13+ on 26.x; develop and deliver with Node 26 and npm 12.2.1. Rename the npm CLI to codeintel without a legacy alias.
|
|
13
|
+
- Add warmup as the tenth MCP tool and CLI command. Initialize installed local servers independently of automatic feedback, with no diagnostics baseline or temporary downloads.
|
|
14
|
+
- Give memory plans a fixed 30-minute lifetime and bounded service keepalive, expose expiry metadata and precise planFailure reasons, retaining single-use and conflict checks.
|
|
15
|
+
- Validate plans with local ty/Ruff, native/traditional TypeScript and checked JavaScript, Biome/ESLint, gopls and clangd. Add explicit validationPaths for unchanged callers, per-provider checks and unknown aggregate counts when incomplete. Keep source and Hook baselines isolated without adding an apply gate.
|
|
16
|
+
- Use bounded disposable project snapshots for Biome reports and clangd header dependencies, preserving local compilation paths and generated headers; limit validation to 20 changed + 20 additional files / 2 MiB, 30 seconds total and four concurrent groups.
|
|
17
|
+
- Type-check all JavaScript test harnesses under strict checkJs, retaining both runners and the real ESLint integration dependency.
|
|
18
|
+
- Add pinned Linux/Windows real-tool CI, fail skipped acceptance, and retain versions/reports/fixture traces.
|
|
19
|
+
|
|
3
20
|
## 0.10.0
|
|
4
21
|
|
|
5
22
|
- Breaking: expose exactly check, diagnostics, status, navigate, rename, format, inspect, actions and apply. Old names return migration guidance without executing.
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Codex CodeIntel
|
|
2
2
|
|
|
3
|
-
Standalone Codex plugin for local code intelligence. **Node.js
|
|
3
|
+
Standalone Codex plugin for local code intelligence. **Node.js 24.20+ (24.x) or 26.13+ (26.x)**, ten MCP tools, optional Hooks, and a self-contained bundle with no runtime dependency installation.
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
@@ -20,6 +20,7 @@ Start a new session and review Hook definitions through `/hooks`. Use **setupLSP
|
|
|
20
20
|
| `check` | Start/read project CLI checks; follow `next` until finished. |
|
|
21
21
|
| `diagnostics` | LSP/lint for explicit paths or turn/session scope; optional rule/severity filters and cached reads. |
|
|
22
22
|
| `status` | Configuration, local tools, capabilities and failures without starting servers or downloading tools. |
|
|
23
|
+
| `warmup` | Initialize local servers for explicit files or two representative languages; no diagnostics or downloads. |
|
|
23
24
|
| `navigate` | Symbols, definitions, references, hover, signatures, declarations, call/type relationships and completion. |
|
|
24
25
|
| `rename` | Preview a cross-file rename and return a plan. |
|
|
25
26
|
| `format` | Preview explicitly scoped formatting and return a plan. |
|
|
@@ -35,7 +36,13 @@ Use the absolute project as `workspace`. Positions use 1-based UTF-16 columns. C
|
|
|
35
36
|
|
|
36
37
|
Call `rename` with those arguments, inspect the returned plan/diff, then call `apply` with `{"workspace":"/project","plan":"returned-id"}`. An already-authorized edit needs no additional manual approval.
|
|
37
38
|
|
|
38
|
-
Plans bind source snapshots, configurations, tools and request environments. Conflicts reject before writes; concurrent changes or cancellation can still interrupt multi-file application. Inspect every `modifiedPaths` result. Plans are consumed when application begins and cannot be replayed. Follow-up diagnostic failure does not undo completed writes.
|
|
39
|
+
Plans have a fixed 30-minute lifetime, retain at most 16 entries / 32 MiB, and bind source snapshots, configurations, tools and request environments. Nonempty pending plans keep the service alive beyond its normal idle timeout; restart and capacity eviction can invalidate them earlier. Preview responses include `createdAt`, `expiresAt` and `storage="memory"`. Conflicts reject before writes; concurrent changes or cancellation can still interrupt multi-file application. Inspect every `modifiedPaths` result. Plans are consumed when application begins and cannot be replayed. Follow-up diagnostic failure does not undo completed writes.
|
|
40
|
+
|
|
41
|
+
Plans validate by default with the configured local tools: Python ty/Ruff, native or traditional TypeScript (including checked JavaScript), Biome/ESLint, Go gopls and C/C++ clangd. Use `validationPaths` to include up to 20 additional existing files, such as unchanged callers. The scope is bounded to 20 changed files and 2 MiB of before/after content including additional files. Per-provider `checks` preserve coverage, introduced/resolved findings and completeness; incomplete aggregate counts are unknown. Counts describe provider observations and can overlap. Zero net errors is not a safety guarantee. Validation does not block applying the text plan; `validate=false` skips it.
|
|
42
|
+
|
|
43
|
+
Type services use separate processes. Biome and clangd use temporary local project snapshots so lint rules and header dependencies see all proposed contents; snapshots are bounded to 2,000 discovered files / 32 MiB of copies, reuse installed dependencies and are removed on completion, cancellation or failure. Validation has a 30-second total budget, a 10-second budget per LSP group and at most four concurrent groups. Builds, runtime behavior and unselected dependents remain outside its scope.
|
|
44
|
+
|
|
45
|
+
The npm CLI is `codeintel`, with no legacy bin alias: `codeintel check /project` and `codeintel warmup /project --path src/main.py`. Development uses Node 26 LTS and npm 12.2.1.
|
|
39
46
|
|
|
40
47
|
Responses use compact summaries and bounded pages. Follow the returned `next` arguments. Large nested values use field-path fragments and ordered text parts; no GCF or raw LSP payload dump is required.
|
|
41
48
|
|
|
@@ -69,25 +76,28 @@ See the [usage guide](docs/usage.md), [configuration examples](docs/examples/),
|
|
|
69
76
|
|
|
70
77
|
```sh
|
|
71
78
|
npm ci --ignore-scripts
|
|
72
|
-
npm run
|
|
73
|
-
npm test
|
|
74
|
-
CODEX_LSP_REAL_TOOLS=1 npm run test:features
|
|
79
|
+
npm run ci
|
|
80
|
+
REAL_TOOLS=1 npm run test:features
|
|
75
81
|
git diff --check
|
|
76
82
|
```
|
|
77
83
|
|
|
78
84
|
The feature script prepares a separately pinned TypeScript 5 fixture under test/fixtures so its executable cannot replace the native TypeScript 7 compiler. This preparation is test-only.
|
|
79
85
|
|
|
80
|
-
|
|
86
|
+
`npm run ci` runs strict type checks, Biome, the build and `npm test` on the current host and Node version. Set `REAL_TOOLS=1` to include the real-tool cases, including Rust and MATLAB; they are skipped by default. Use `npm ci` to install locked dependencies and `npm run ci` to run validation.
|
|
87
|
+
|
|
88
|
+
Default tests include delivered MCP behavior, native TypeScript, traditional TypeScript, Biome and ESLint. Real-tool cases require `REAL_TOOLS=1`; Ruff, ty, clangd, Go/gopls, Rust and MATLAB acceptance are skipped by default.
|
|
89
|
+
|
|
90
|
+
`npm test` includes the gated Rust and MATLAB suites through `test:local`, running them sequentially. Use `REAL_TOOLS=1 npm run test:local` to run only these two suites, or select `test:rust` / `test:matlab` with the same environment variable. MATLAB acceptance discovers the MathWorks VS Code extension and MATLAB on PATH, or accepts explicit server and installation paths. It starts a local MATLAB analysis process and requires a working license. Missing prerequisites fail an enabled suite. See [local LSP acceptance](docs/testing/local-lsp.md) for configuration, coverage and trace capture.
|
|
81
91
|
|
|
82
|
-
The independent [Rust workflow](.github/workflows/rust.yml) runs on Linux and Windows with Rust 1.99.1 and matching rust-analyzer, rust-src and rustfmt. It tests the committed bundle without npm dependencies, using an offline Cargo workspace with local path dependencies.
|
|
92
|
+
The independent [Rust workflow](.github/workflows/rust.yml) runs on Linux and Windows with Rust 1.99.1 and matching rust-analyzer, rust-src and rustfmt. It sets `REAL_TOOLS=1` and tests the committed bundle without npm dependencies, using an offline Cargo workspace with local path dependencies. Default local runs skip the suite and require no Rust installation. CI saves tool versions, test logs and fixture/MCP traces as `rust-<os>` artifacts for 14 days. Legacy mixed-language tests retain the additional `CODEX_LSP_TEST_RUST=1` opt-in.
|
|
83
93
|
|
|
84
|
-
CI
|
|
94
|
+
Core CI targets Linux/macOS/Windows with Node 24.20.0 and 26.13.0; dependency-free delivery uses Node 26.13.0. The [real-tools workflow](.github/workflows/real-tools.yml) adds Linux/Windows acceptance with pinned Go/gopls, Ruff 0.17.3, ty 0.0.95 and LLVM/clangd 23.1.4, checks for skipped acceptance cases, and retains versions, reports and fixture/MCP traces for 14 days. Local engineering evidence is kept under ignored `docs/history/`.
|
|
85
95
|
|
|
86
96
|
<a id="privacy"></a>
|
|
87
97
|
<a id="license"></a>
|
|
88
98
|
## Privacy and license
|
|
89
99
|
|
|
90
|
-
No telemetry. Source, diagnostic baselines and unresolved findings stay in private local caches. Plans and
|
|
100
|
+
No telemetry. Source, diagnostic baselines and unresolved findings stay in private local caches. Plans stay in bounded service memory for at most 30 minutes and can expire earlier on service restart/capacity eviction. Biome/clangd validation temporarily copies scoped source and project context to the system temporary directory and removes its private snapshot in cleanup; an abrupt process/system failure can interrupt cleanup. Action payloads also stay in bounded service memory and are cleared on service restart or configuration invalidation. Request environments use authenticated local IPC. Logs use fixed categories, not source or credentials.
|
|
91
101
|
|
|
92
102
|
MIT. See [LICENSE](LICENSE) and [NOTICE](NOTICE).
|
|
93
103
|
|