feat(cli): add Kilo Code support

Aperta
#744 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
45/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
typescript

Direzione di ricerca

Start by reading the OpenCode profile at cli/src/contexts/tools/domain/profiles/opencode/profile.ts#L38-L69, the generated lifecycle bridge referenced in the issue, and plugins/aidd-context/hooks/update_memory.js; compare the implementation from #795. Trace the translate --to kilo --as flat path and define coverage across unit, integration, golden, and real Kilo runtime smoke tests. Done means native flat output, resolved project-local configuration, one validated memory sync, non-blocking diagnostics, and documented installation.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Problem

AIDD provides a native flat distribution for OpenCode, but not for Kilo Code. Kilo uses its own project layout and configuration surfaces, so the OpenCode archive is not discovered as a native Kilo setup.

Scope

  • Add Kilo Code as a supported AI tool and flat framework-build target.
  • Materialize native .kilo/agents, .kilo/skills, and MCP output.
  • Generate the Kilo-native project lifecycle plugin under .kilo/plugin/ from the relevant AIDD declarative lifecycle definitions.
  • Reuse the existing AIDD project-memory synchronization behavior for Kilo's independently verified session.created equivalent.
  • Use the project-local Kilo configuration shape, preferring .kilo/kilo.jsonc, while preserving existing user configuration and instructions.
  • Resolve existing kilo.json/kilo.jsonc configuration without creating both variants, overwriting user content, or duplicating instructions.
  • Register Kilo in the relevant tool, asset, translation, release, and documentation surfaces.
  • Add unit, integration, golden, and real Kilo runtime smoke coverage.

Rules and flat plugin-command distribution are not part of this issue. Direct artifact generation is tracked separately in #788, flat Kilo Rules in #868, and flat Kilo command distribution requires a separate follow-up after this foundation.

Acceptance criteria

  • translate --to kilo --as flat produces native .kilo/agents, .kilo/skills, and MCP output.
  • AIDD agents, skills, and MCP configuration are discoverable by a real Kilo project session.
  • The lifecycle definitions are materialized as a Kilo-native project plugin under .kilo/plugin/.
  • A real Kilo CLI or extension smoke test independently verifies the supported lifecycle event and invokes project-memory synchronization exactly once for a newly created Kilo session.
  • The adapter reuses the existing AIDD memory-sync behavior; it does not maintain a Kilo-only duplicate.
  • The adapter loads from the project-local Kilo plugin location without requiring a global installation.
  • Project-local configuration uses the resolved kilo.json[c] shape, prefers .kilo/kilo.jsonc, preserves existing user configuration and instructions, and does not create both variants or duplicate instructions.
  • Missing memory banks, missing managed blocks, and malformed markers do not create or overwrite user files.
  • Plugin failures are non-blocking for the Kilo session and expose a useful diagnostic.
  • Unit, integration, golden, and real Kilo runtime smoke tests cover the generated output, lifecycle event, configuration resolution, and failure behavior.
  • Installation instructions document the flat-only Kilo layout, project-local configuration, and plugin location.

Prior art in this repo

  • OpenCode's tool profile and telemetry declaration: link to cli/src/contexts/tools/domain/profiles/opencode/profile.ts#L38-L69.
  • OpenCode's generated lifecycle bridge: link to .../opencode-hooks-bridge.ts#L1-L20.
  • Existing AIDD project-memory hook: plugins/aidd-context/hooks/update_memory.js.
  • OpenCode implementation introduced by #795.

Out of scope

  • Rules and their direct artifact generation; see #868 and #788.
  • Flat distribution of plugin command/workflow artifacts; the Kilo profile retains its documented command surface.
  • Kilo marketplace distribution; Kilo is flat-only for this target.
  • Kilo telemetry ingestion or cost reporting; Kilo's experimental OpenTelemetry surface is not yet supported by AIDD.
  • Lifecycle events beyond the independently validated session-created/session-start mapping.
Lingua principale
TypeScript
Stelle
481
Fork
45
Merge medio
14h 36m
PR unite (30g)
110

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ai-driven-dev/framework

Tutte le issue di ai-driven-dev/framework

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.