Skip to content

feat: add Kilo CLI provider#202

Open
metapeka wants to merge 1 commit intogetagentseal:mainfrom
metapeka:kilo-cli-provider
Open

feat: add Kilo CLI provider#202
metapeka wants to merge 1 commit intogetagentseal:mainfrom
metapeka:kilo-cli-provider

Conversation

@metapeka
Copy link
Copy Markdown

@metapeka metapeka commented May 3, 2026

Summary

Adds a new provider for Kilo CLI — the command-line agent (kilo serve, kilo run, kilo TUI). This is separate from the existing kilo-code provider.

Kilo CLI vs KiloCode (existing provider)

CodeBurn already has a kilo-code provider, but it reads from the VS Code extension only:

kilo-code (existing) kilo-cli (this PR)
Product VS Code extension CLI tool (kilo)
Storage globalStorage/kilocode.kilo-code/tasks/ui_messages.json ~/.local/share/kilo/kilo*.db (SQLite)
Format JSON task files SQLite (same schema as OpenCode)
Data Cline-family task entries Session/message/part tables

They are completely different data sources with different formats — one does not cover the other.

Changes

  • New file: src/providers/kilo-cli.ts — reads sessions from ~/.local/share/kilo/kilo*.db
  • Updated: src/providers/index.ts — registered with lazy loading (needs better-sqlite3)

Details

  • Same SQLite schema as OpenCode (Kilo CLI is a fork of OpenCode)
  • Supports KILO_DATA_HOME env var for custom data directory
  • Usage: codeburn report --provider kilo-cli

Adds provider for Kilo CLI (kilo serve / kilo run) that reads sessions
from ~/.local/share/kilo/kilo*.db using the same SQLite schema as OpenCode.

- New provider: src/providers/kilo-cli.ts
- Registered in src/providers/index.ts with lazy loading
- Supports KILO_DATA_HOME env var for custom data directory
- Deduplication key: kilo-cli:{sessionId}:{messageId}
@Qodo-Free-For-OSS
Copy link
Copy Markdown

Hi, kilo-cli discovers DBs under ~/.local/share/kilo or KILO_DATA_HOME, but does not honor XDG_DATA_HOME like other sqlite providers do, so non-default XDG setups won’t be discovered unless users set KILO_DATA_HOME explicitly.

Severity: informational | Category: maintainability

How to fix: Check XDG_DATA_HOME too

Agent prompt to fix - you can give this to your LLM of choice:

Issue description

The new Kilo CLI provider does not consult XDG_DATA_HOME, which is the standard way to relocate ~/.local/share. This makes discovery inconsistent with other sqlite providers.

Fix Focus Areas

  • src/providers/kilo-cli.ts[71-77]
    • Update base dir resolution to include process.env['XDG_DATA_HOME'] (while keeping dataDir and KILO_DATA_HOME overrides).
    • Keep the existing default fallback to ~/.local/share for users without env overrides.

Found by Qodo code review. FYI, Qodo is free for open-source.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants