AST-based tool that maps every vscode.* API dependency inside the official
Kilo VS Code extension. It is the
specification engine for the KiloHost project.
We are NOT building an IDE. We are building the smallest possible native runtime host capable of running the official, unmodified Kilo extension.
- Kilo is the application. The host exists only to support Kilo.
- The analyzer is the project's source of truth.
- The adapter is the product. The GUI is the last step.
- SUCCESS = "the official Kilo extension activates inside our minimal runtime using only the APIs proven necessary by the analyzer."
Measured surface of the official extension (448 files):
| Metric | Value |
|---|---|
| files scanned | 448 |
files using vscode |
92 |
| total refs | 747 |
| distinct namespaces | 42 |
| distinct API paths | 138 |
| required namespaces | 19 |
| optional namespaces | 2 |
| never-used namespaces | 126 |
Top namespaces: workspace, window, commands, Uri, env.
Heavy areas: languages (completion providers), webview panels, small notebook usage.
report.html— self-contained interactive report:- Blueprint B verdict banner
- Summary cards
- API heat map by namespace (with risk color)
- Adapter Implementation Order (priority 1..=5 build order)
- Namespace × file matrix
- Per-file dependency graph
- Filterable API usage table (path, namespace, class, refs, calls, reads, risk, importance, priority)
- Never-used namespaces
- Full reference log
report.json— machine-readable version of the same data.adapter-skeleton.ts— auto-generated TypeScript adapter skeleton: every required API declared with a TODO andNotImplementedError, ordered by implementation priority. The analyzer is the source of truth for whatkilo-adapter-coremust implement.
kilo-dependency-analyzer [OPTIONS]
--root <DIR> Directory to scan (default: src)
--out <FILE> Output HTML report (default: report.html)
--json <FILE> Output JSON report (default: report.json)
--skeleton <FILE> Output TS adapter skeleton (default: adapter-skeleton.ts)
--verbose Print per-file progress to stderr
-h, --help Show this help
Example against the official Kilo extension source:
kilo-dependency-analyzer.exe --root kilocode/packages/kilo-vscode/src
| Verdict | Meaning |
|---|---|
FEASIBLE |
Small core-only surface. A minimal adapter (Blueprint B, host ~50 MB) is realistic. |
FEASIBLE_WITH_EFFORT |
Moderate surface, no heavy subsystems. Possible, bigger adapter. |
CHALLENGING |
Heavy subsystems (webview/languages/debug/terminal...) present. Possible but Blueprint A is safer. |
NOT_RECOMMENDED |
Broad API surface. Optimize Blueprint A instead. |
.github/workflows/build.yml:
- Builds a Windows 10 x64 release
.exe(windows-2022runner, MSVC). - Sparse-checks out
Kilo-Org/kilocodepackages/kilo-vscode. - Runs the analyzer on the official Kilo extension source.
- Uploads the exe + report as artifacts, and commits the report back to
report/.
See DESIGN.md for the full methodology and the Blueprint A/B roadmap.