- Add kilo.jsonc (official Kilo Code config) - Add kilo-meta.json (source of truth for sync) - Add evolutionary-sync.md rule for documentation - Add scripts/sync-agents.cjs for validation - Fix agent mode mismatches (8 agents had wrong mode) - Update KILO_SPEC.md and AGENTS.md The sync system ensures: - kilo-meta.json is the single source of truth - Agent .md files frontmatter matches meta - KILO_SPEC.md tables stay synchronized - AGENTS.md category tables stay synchronized Run: node scripts/sync-agents.cjs --check Fix: node scripts/sync-agents.cjs --fix
115 lines
2.7 KiB
Markdown
115 lines
2.7 KiB
Markdown
# Evolutionary Mode Rules
|
|
|
|
When agents are modified, created, or updated during evolutionary improvement, this rule ensures all related files stay synchronized.
|
|
|
|
## Source of Truth
|
|
|
|
**`kilo.json`** is the single source of truth for:
|
|
- Agent definitions (models, modes, descriptions)
|
|
- Command definitions (models, descriptions)
|
|
- Categories and groupings
|
|
|
|
## Files to Synchronize
|
|
|
|
When agents change, update ALL of these files:
|
|
|
|
| File | What to Update |
|
|
|------|----------------|
|
|
| `kilo.json` | Models, modes, descriptions (source of truth) |
|
|
| `.kilo/agents/*.md` | Model in YAML frontmatter |
|
|
| `.kilo/KILO_SPEC.md` | Pipeline Agents table, Workflow Commands table |
|
|
| `AGENTS.md` | Pipeline Agents tables by category |
|
|
| `.kilo/agents/orchestrator.md` | Task Tool Invocation table |
|
|
|
|
## Sync Checklist
|
|
|
|
When modifying agents:
|
|
|
|
```
|
|
□ Update kilo.json with new model/description
|
|
□ Update agent .md file frontmatter
|
|
□ Update KILO_SPEC.md Pipeline Agents table
|
|
□ Update AGENTS.md category tables
|
|
□ Update orchestrator.md subagent_type mappings (if new agent)
|
|
□ Run scripts/sync-agents.js --check to verify
|
|
```
|
|
|
|
## Adding New Agent
|
|
|
|
1. Create `.kilo/agents/agent-name.md` with frontmatter:
|
|
```yaml
|
|
---
|
|
description: Agent description
|
|
mode: subagent|primary|all
|
|
model: provider/model-id
|
|
color: #HEX
|
|
permission:
|
|
read: allow
|
|
edit: allow
|
|
...
|
|
---
|
|
```
|
|
|
|
2. Add to `kilo.json` under `agents`:
|
|
```json
|
|
"agent-name": {
|
|
"file": ".kilo/agents/agent-name.md",
|
|
"description": "Full description",
|
|
"model": "provider/model-id",
|
|
"mode": "subagent",
|
|
"category": "core|quality|meta|cognitive|testing"
|
|
}
|
|
```
|
|
|
|
3. If subagent, add to `orchestrator.md`:
|
|
- Add to permission list
|
|
- Add to Task Tool Invocation table
|
|
|
|
4. Run sync script:
|
|
```bash
|
|
node scripts/sync-agents.js --fix
|
|
```
|
|
|
|
## Model Changes
|
|
|
|
When changing a model:
|
|
|
|
1. Update agent file frontmatter
|
|
2. Update `kilo.json`
|
|
3. Update `KILO_SPEC.md`
|
|
4. Document reason in commit message
|
|
|
|
Example:
|
|
```
|
|
fix: update LeadDeveloper model from qwen3-coder:free to qwen3-coder:480b
|
|
|
|
Reason: Better code generation quality, supports larger context
|
|
```
|
|
|
|
## Verification
|
|
|
|
Run sync verification before commits:
|
|
|
|
```bash
|
|
# Check only (CI mode)
|
|
node scripts/sync-agents.js --check
|
|
|
|
# Fix discrepancies
|
|
node scripts/sync-agents.js --fix
|
|
```
|
|
|
|
## CI Integration
|
|
|
|
Add to `.github/workflows/ci.yml`:
|
|
|
|
```yaml
|
|
- name: Verify Agent Sync
|
|
run: node scripts/sync-agents.js --check
|
|
```
|
|
|
|
## Prohibited Actions
|
|
|
|
- DO NOT update KILO_SPEC.md without updating kilo.json
|
|
- DO NOT update agent model without updating all sync targets
|
|
- DO NOT add new agent without updating orchestrator permissions
|
|
- DO NOT skip running sync script after changes |