Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kilo Dependency Analyzer

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.

Project direction (measured, not assumed)

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.

Deliverables

  1. 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
  2. report.json — machine-readable version of the same data.
  3. adapter-skeleton.ts — auto-generated TypeScript adapter skeleton: every required API declared with a TODO and NotImplementedError, ordered by implementation priority. The analyzer is the source of truth for what kilo-adapter-core must implement.

Usage

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 interpretation

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.

CI

.github/workflows/build.yml:

  1. Builds a Windows 10 x64 release .exe (windows-2022 runner, MSVC).
  2. Sparse-checks out Kilo-Org/kilocode packages/kilo-vscode.
  3. Runs the analyzer on the official Kilo extension source.
  4. 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.

About

AST analyzer mapping Kilo extension VS Code API dependencies to decide Blueprint B feasibility; builds Windows x64 exe via GitHub Actions

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages