Commit Graph

9 Commits

Author SHA1 Message Date
Suresh Kumar Sivasankaran b7785ca296 Merge pull request #30 from Kilo-Org/kilocode-ignore-migration
feat(kilocode): add .kilocodeignore migration to permission rules
2026-01-27 15:02:45 +01:00
Marius Wichtner 67f6ae59fc feat(kilocode): add .kilocodeignore migration to permission rules 2026-01-27 13:54:16 +01:00
Suresh Sivasankaran 2c344678bc add skills discovery for the cli 2026-01-27 12:19:22 +01:00
Marius Wichtner 1835e45a57 Merge branch 'dev' into schaltwerk/kilocode-mcp-migration
Merged dev branch which includes:
- Workflows migration (Phase 3)
- Rules migration (Phase 2)

Combined with MCP migration (Phase 4) from this branch.

Resolved merge conflicts in:
- packages/opencode/src/config/config.ts - Combined all four migrators
- packages/opencode/src/kilocode/index.ts - Export all migrators
2026-01-26 18:44:39 +01:00
Marius Wichtner 8089920e51 Merge branch 'dev' into schaltwerk/kilocode-rules-migration-jx
Resolved conflicts:
- packages/opencode/src/config/config.ts: Added RulesMigrator alongside WorkflowsMigrator
- packages/opencode/src/kilocode/config-injector.ts: Added rules migration alongside workflows
- packages/opencode/src/kilocode/index.ts: Export all three migrators
- packages/opencode/test/kilocode/config-injector.test.ts: Combined all tests
2026-01-26 18:24:55 +01:00
Marius Wichtner 7471fcfe73 feat(kilocode): add rules migration (Phase 2)
Migrate Kilocode rules from .kilocoderules and .kilocode/rules/ to
Opencode's instructions config array.

Features:
- Discover rules from .kilocoderules, .kilocode/rules/*.md, and
  mode-specific variants
- Support global rules from ~/.kilocode/rules/
- Read-only migration (never modifies project files)
- Combines with existing opencode config (never overwrites)
- Kilocode-only (no .roorules or .clinerules migration)

Files:
- rules-migrator.ts: Core migration logic
- config.ts: Integration point for direct CLI usage
- config-injector.ts: Integration for VSCode extension path
- rules-migrator.test.ts: 13 unit tests
- config-injector.test.ts: 4 new integration tests
- rules-migration.md: Documentation
2026-01-26 17:50:58 +01:00
Marius Wichtner a7295b4511 feat(kilocode): add MCP server migration from VSCode extension
Migrate Kilocode MCP server configurations from the VSCode extension's
mcp_settings.json to Opencode's native MCP config format.

Features:
- Read MCP settings from VSCode extension global storage
- Convert Kilocode format (command + args) to Opencode format (command array)
- Handle disabled servers (skip them)
- Warn about alwaysAllow permissions that cannot be migrated
- Support project-level .kilocode/mcp_settings.json

Config precedence (lowest to highest):
1. Kilocode MCP settings (new)
2. Remote/well-known config
3. Global user config
4. Project config (opencode.json)
5. OPENCODE_CONFIG_CONTENT

This allows users to configure MCP servers in the Kilocode VSCode extension
and have them automatically available in kilo-cli without any manual setup.
Native opencode config takes precedence over legacy Kilocode settings.
2026-01-26 17:18:15 +01:00
Marius Wichtner ab4d1a6879 core: migrate Kilocode workflows to Opencode commands
- Add WorkflowsMigrator to discover and convert Kilocode workflows
- Load workflows from VSCode global storage, ~/.kilocode/workflows/, and .kilocode/workflows/
- Convert workflows to Opencode Command format with template and description
- Load Kilocode configs first (lowest precedence) so Opencode configs always win
- Update config-injector for VSCode extension env var injection
- Add 16 unit tests for workflows-migrator
- Add 2 integration tests for config-injector

Workflows are discovered from:
1. VSCode extension storage (platform-specific)
2. ~/.kilocode/workflows/ (global)
3. .kilocode/workflows/ (project)

Config loading order (lowest to highest precedence):
1. Kilocode legacy configs (modes + workflows)
2. Remote/well-known config
3. Global user config
4. Custom config path
5. Project config (opencode.json)
6. OPENCODE_CONFIG_CONTENT env var
2026-01-26 17:17:13 +01:00
Marius Wichtner 8a9510603c feat(kilocode): add modes migration from Kilocode to Opencode agents
Phase 1 of Kilocode config migration:

- Add ModesMigrator to read custom modes from:
  - VSCode extension global storage (platform-specific paths)
  - Project .kilocodemodes files
  - Home directory .kilocodemodes

- Convert Kilocode mode groups to Opencode permissions:
  - read → read: allow
  - edit → edit: allow (with fileRegex support)
  - command/browser → bash: allow
  - mcp → mcp: allow
  - Missing groups are explicitly denied (not ask)

- Skip default modes (code, architect, ask, debug, orchestrator)
  as they map to native Opencode agents

- Add KilocodeConfigInjector for building OPENCODE_CONFIG_CONTENT

- Integration in config.ts to auto-load Kilocode modes

- 27 unit tests with 100% function coverage

- Documentation in kilocode/docs/modes-migration.md
2026-01-26 16:26:49 +01:00