chore: generate

This commit is contained in:
GitHub Action
2026-01-27 19:37:03 +00:00
parent 4d20f2fb46
commit 5a0902c8ba
3 changed files with 270 additions and 20 deletions
@@ -143,11 +143,7 @@ export function DialogModel(props: { providerID?: string }) {
}
// kilocode_change start - Show "Recommended" category for recommended Kilo models
const isKiloRecommended = provider.id === "kilo" && KILO_RECOMMENDED_MODELS.includes(model)
const category = connected()
? isKiloRecommended
? "Recommended"
: provider.name
: undefined
const category = connected() ? (isKiloRecommended ? "Recommended" : provider.name) : undefined
// kilocode_change end
return {
value,
@@ -9,12 +9,15 @@ Kilocode stores rules in various file locations. When Opencode starts, it reads
## Key Guarantees
### 1. Read-Only Migration
The migration **never modifies project files**. We only:
- Read existing rule files from disk
- Inject file paths into the config's `instructions` array
- Never write to the project or modify any files
### 2. Combines with Existing Config (Never Overwrites)
If you have existing opencode config with `instructions`, the Kilocode rules are **combined**, not replaced:
```typescript
@@ -29,6 +32,7 @@ If you have existing opencode config with `instructions`, the Kilocode rules are
```
### 3. Restart to Pick Up Changes
If you change your Kilocode configuration (e.g., edit `.kilocoderules`), simply restart kilo-cli to pick up the new config. No manual migration or conversion needed.
## Source Locations
@@ -37,32 +41,33 @@ The migrator reads rules from these locations:
### Project Rules
| Location | Description |
|----------|-------------|
| `.kilocoderules` | Legacy single-file rules in project root |
| `.kilocode/rules/*.md` | Directory-based rules (multiple markdown files) |
| `.kilocoderules-{mode}` | Mode-specific legacy rules (e.g., `.kilocoderules-code`) |
| `.kilocode/rules-{mode}/*.md` | Mode-specific rule directories |
| Location | Description |
| ----------------------------- | -------------------------------------------------------- |
| `.kilocoderules` | Legacy single-file rules in project root |
| `.kilocode/rules/*.md` | Directory-based rules (multiple markdown files) |
| `.kilocoderules-{mode}` | Mode-specific legacy rules (e.g., `.kilocoderules-code`) |
| `.kilocode/rules-{mode}/*.md` | Mode-specific rule directories |
### Global Rules
| Location | Description |
|----------|-------------|
| Location | Description |
| ------------------------ | ---------------------- |
| `~/.kilocode/rules/*.md` | Global rules directory |
## File Mapping
| Kilocode Location | Opencode Equivalent |
|-------------------|---------------------|
| `.kilocoderules` | `instructions: [".kilocoderules"]` |
| `.kilocoderules-{mode}` | `instructions: [".kilocoderules-{mode}"]` |
| `.kilocode/rules/*.md` | `instructions: [".kilocode/rules/file.md", ...]` |
| Kilocode Location | Opencode Equivalent |
| ----------------------------- | ------------------------------------------------------- |
| `.kilocoderules` | `instructions: [".kilocoderules"]` |
| `.kilocoderules-{mode}` | `instructions: [".kilocoderules-{mode}"]` |
| `.kilocode/rules/*.md` | `instructions: [".kilocode/rules/file.md", ...]` |
| `.kilocode/rules-{mode}/*.md` | `instructions: [".kilocode/rules-{mode}/file.md", ...]` |
| `~/.kilocode/rules/*.md` | `instructions: ["~/.kilocode/rules/file.md", ...]` |
| `~/.kilocode/rules/*.md` | `instructions: ["~/.kilocode/rules/file.md", ...]` |
## AGENTS.md Compatibility
`AGENTS.md` is loaded **natively** by Opencode - no migration needed. Opencode automatically loads:
- `AGENTS.md` in project root
- `CLAUDE.md` in project root
- `~/.opencode/AGENTS.md` (global)
@@ -70,6 +75,7 @@ The migrator reads rules from these locations:
## Not Migrated
The following are **not** migrated:
- `.roorules` - Roo-specific rules
- `.clinerules` - Cline-specific rules
@@ -82,6 +88,7 @@ Mode-specific rules (e.g., `.kilocoderules-code`, `.kilocode/rules-architect/`)
## Warnings
The migrator generates warnings for:
- **Legacy files**: When `.kilocoderules` is found, a warning suggests migrating to `.kilocode/rules/` directory structure
## Example
+248 -1
View File
@@ -3876,6 +3876,252 @@
]
}
},
"/kilo/profile": {
"get": {
"operationId": "kilo.profile",
"parameters": [
{
"in": "query",
"name": "directory",
"schema": {
"type": "string"
}
}
],
"summary": "Get Kilo Gateway profile",
"description": "Fetch user profile and organizations from Kilo Gateway",
"responses": {
"200": {
"description": "Profile data",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"profile": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"name": {
"type": "string"
},
"organizations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"role": {
"type": "string"
}
},
"required": ["id", "name", "role"]
}
}
},
"required": ["email"]
},
"balance": {
"anyOf": [
{
"type": "object",
"properties": {
"balance": {
"type": "number"
}
},
"required": ["balance"]
},
{
"type": "null"
}
]
},
"currentOrgId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": ["profile", "balance", "currentOrgId"]
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestError"
}
}
}
}
},
"x-codeSamples": [
{
"lang": "js",
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.kilo.profile({\n ...\n})"
}
]
}
},
"/kilo/organization": {
"post": {
"operationId": "kilo.organization.set",
"parameters": [
{
"in": "query",
"name": "directory",
"schema": {
"type": "string"
}
}
],
"summary": "Update Kilo Gateway organization",
"description": "Switch to a different Kilo Gateway organization",
"responses": {
"200": {
"description": "Organization updated successfully",
"content": {
"application/json": {
"schema": {
"type": "boolean"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestError"
}
}
}
}
},
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"organizationId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": ["organizationId"]
}
}
}
},
"x-codeSamples": [
{
"lang": "js",
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.kilo.organization.set({\n ...\n})"
}
]
}
},
"/kilo/notifications": {
"get": {
"operationId": "kilo.notifications",
"parameters": [
{
"in": "query",
"name": "directory",
"schema": {
"type": "string"
}
}
],
"summary": "Get Kilo notifications",
"description": "Fetch notifications from Kilo Gateway for CLI display",
"responses": {
"200": {
"description": "Notifications list",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"message": {
"type": "string"
},
"action": {
"type": "object",
"properties": {
"actionText": {
"type": "string"
},
"actionURL": {
"type": "string"
}
},
"required": ["actionText", "actionURL"]
},
"showIn": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": ["id", "title", "message"]
}
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestError"
}
}
}
}
},
"x-codeSamples": [
{
"lang": "js",
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.kilo.notifications({\n ...\n})"
}
]
}
},
"/find": {
"get": {
"operationId": "find.text",
@@ -9823,7 +10069,8 @@
"type": "boolean"
},
"openTelemetry": {
"description": "Enable OpenTelemetry spans for AI SDK calls (using the 'experimental_telemetry' flag)",
"description": "Enable telemetry. Set to false to opt-out.",
"default": true,
"type": "boolean"
},
"primary_tools": {