@cleocode/core 2026.3.45 → 2026.3.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/bootstrap.d.ts.map +1 -1
  2. package/dist/index.js +1475 -372
  3. package/dist/index.js.map +4 -4
  4. package/dist/init.d.ts.map +1 -1
  5. package/dist/injection.d.ts +1 -1
  6. package/dist/injection.d.ts.map +1 -1
  7. package/dist/routing/capability-matrix.d.ts +6 -4
  8. package/dist/routing/capability-matrix.d.ts.map +1 -1
  9. package/dist/scaffold.d.ts +16 -9
  10. package/dist/scaffold.d.ts.map +1 -1
  11. package/dist/skills/agents/install.d.ts.map +1 -1
  12. package/dist/skills/routing-table.d.ts +17 -16
  13. package/dist/skills/routing-table.d.ts.map +1 -1
  14. package/dist/skills/skill-paths.d.ts.map +1 -1
  15. package/dist/system/health.d.ts.map +1 -1
  16. package/dist/ui/index.d.ts +0 -1
  17. package/dist/ui/index.d.ts.map +1 -1
  18. package/package.json +9 -4
  19. package/schemas/adr-frontmatter.schema.json +72 -0
  20. package/schemas/agent-configs.schema.json +120 -0
  21. package/schemas/agent-registry.json +243 -0
  22. package/schemas/agent-registry.schema.json +132 -0
  23. package/schemas/archive/research-manifest.schema.json +257 -0
  24. package/schemas/archive.schema.json +450 -0
  25. package/schemas/brain-decision.schema.json +69 -0
  26. package/schemas/brain-learning.schema.json +57 -0
  27. package/schemas/brain-pattern.schema.json +72 -0
  28. package/schemas/config.schema.json +2606 -0
  29. package/schemas/context-state.schema.json +137 -0
  30. package/schemas/contribution.schema.json +722 -0
  31. package/schemas/critical-path.schema.json +246 -0
  32. package/schemas/deps-cache.schema.json +97 -0
  33. package/schemas/doctor-output.schema.json +283 -0
  34. package/schemas/error.schema.json +161 -0
  35. package/schemas/export-package.schema.json +375 -0
  36. package/schemas/global-config.schema.json +219 -0
  37. package/schemas/grade.schema.json +49 -0
  38. package/schemas/log.schema.json +250 -0
  39. package/schemas/metrics.schema.json +328 -0
  40. package/schemas/migrations.schema.json +150 -0
  41. package/schemas/nexus-registry.schema.json +90 -0
  42. package/schemas/operation-constitution.schema.json +438 -0
  43. package/schemas/output.schema.json +164 -0
  44. package/schemas/project-context.schema.json +164 -0
  45. package/schemas/project-info.schema.json +180 -0
  46. package/schemas/projects-registry.schema.json +107 -0
  47. package/schemas/protocol-frontmatter.schema.json +72 -0
  48. package/schemas/rcasd-consensus-report.schema.json +10 -0
  49. package/schemas/rcasd-evidence.schema.json +42 -0
  50. package/schemas/rcasd-gate-result.schema.json +46 -0
  51. package/schemas/rcasd-hitl-resolution.schema.json +10 -0
  52. package/schemas/rcasd-index.schema.json +10 -0
  53. package/schemas/rcasd-manifest.schema.json +10 -0
  54. package/schemas/rcasd-research-output.schema.json +10 -0
  55. package/schemas/rcasd-spec-frontmatter.schema.json +10 -0
  56. package/schemas/rcasd-stage-transition.schema.json +38 -0
  57. package/schemas/releases.schema.json +267 -0
  58. package/schemas/skills-manifest.schema.json +91 -0
  59. package/schemas/skillsmp.schema.json +208 -0
  60. package/schemas/spec-index.schema.json +196 -0
  61. package/schemas/system-flow-atlas.schema.json +125 -0
  62. package/src/__tests__/injection-chain.test.ts +11 -10
  63. package/src/__tests__/injection-mvi-tiers.test.ts +4 -2
  64. package/src/agents/__tests__/capacity.test.d.ts +7 -0
  65. package/src/agents/__tests__/capacity.test.d.ts.map +1 -0
  66. package/src/agents/__tests__/capacity.test.js +173 -0
  67. package/src/agents/__tests__/capacity.test.js.map +1 -0
  68. package/src/agents/__tests__/registry.test.d.ts +8 -0
  69. package/src/agents/__tests__/registry.test.d.ts.map +1 -0
  70. package/src/agents/__tests__/registry.test.js +348 -0
  71. package/src/agents/__tests__/registry.test.js.map +1 -0
  72. package/src/agents/__tests__/retry.test.d.ts +7 -0
  73. package/src/agents/__tests__/retry.test.d.ts.map +1 -0
  74. package/src/agents/__tests__/retry.test.js +225 -0
  75. package/src/agents/__tests__/retry.test.js.map +1 -0
  76. package/src/bootstrap.ts +3 -1
  77. package/src/init.ts +63 -18
  78. package/src/injection.ts +11 -5
  79. package/src/intelligence/__tests__/impact.test.d.ts +15 -0
  80. package/src/intelligence/__tests__/impact.test.d.ts.map +1 -0
  81. package/src/intelligence/__tests__/impact.test.js +384 -0
  82. package/src/intelligence/__tests__/impact.test.js.map +1 -0
  83. package/src/intelligence/__tests__/patterns.test.d.ts +8 -0
  84. package/src/intelligence/__tests__/patterns.test.d.ts.map +1 -0
  85. package/src/intelligence/__tests__/patterns.test.js +370 -0
  86. package/src/intelligence/__tests__/patterns.test.js.map +1 -0
  87. package/src/intelligence/__tests__/prediction.test.d.ts +8 -0
  88. package/src/intelligence/__tests__/prediction.test.d.ts.map +1 -0
  89. package/src/intelligence/__tests__/prediction.test.js +314 -0
  90. package/src/intelligence/__tests__/prediction.test.js.map +1 -0
  91. package/src/nexus/__tests__/nexus-e2e.test.d.ts +12 -0
  92. package/src/nexus/__tests__/nexus-e2e.test.d.ts.map +1 -0
  93. package/src/nexus/__tests__/nexus-e2e.test.js +1220 -0
  94. package/src/nexus/__tests__/nexus-e2e.test.js.map +1 -0
  95. package/src/nexus/__tests__/transfer.test.d.ts +8 -0
  96. package/src/nexus/__tests__/transfer.test.d.ts.map +1 -0
  97. package/src/nexus/__tests__/transfer.test.js +372 -0
  98. package/src/nexus/__tests__/transfer.test.js.map +1 -0
  99. package/src/nexus/__tests__/transfer.test.ts +1 -1
  100. package/src/routing/capability-matrix.ts +1435 -205
  101. package/src/scaffold.ts +18 -11
  102. package/src/skills/__tests__/routing-table.test.ts +53 -33
  103. package/src/skills/agents/install.ts +9 -1
  104. package/src/skills/routing-table.ts +39 -253
  105. package/src/skills/skill-paths.ts +3 -2
  106. package/src/store/__tests__/project-detect.test.ts +1 -1
  107. package/src/system/health.ts +18 -7
  108. package/src/ui/index.ts +0 -6
  109. package/src/validation/operation-gate-validators.ts +2 -2
  110. package/templates/CLEO-INJECTION.md +120 -0
  111. package/templates/README.md +29 -0
  112. package/templates/agent-registry.json +305 -0
  113. package/templates/cleo-gitignore +74 -0
  114. package/templates/config.template.json +187 -0
  115. package/templates/git-hooks/commit-msg +149 -0
  116. package/templates/git-hooks/pre-commit +40 -0
  117. package/templates/git-hooks/pre-push +79 -0
  118. package/templates/github/ISSUE_TEMPLATE/bug_report.yml +143 -0
  119. package/templates/github/ISSUE_TEMPLATE/config.yml +8 -0
  120. package/templates/github/ISSUE_TEMPLATE/feature_request.yml +125 -0
  121. package/templates/github/ISSUE_TEMPLATE/help_question.yml +99 -0
  122. package/templates/global-config.template.json +56 -0
  123. package/templates/hooks/precompact-safestop.sh +89 -0
  124. package/templates/issue-templates/bug_report.yml +143 -0
  125. package/templates/issue-templates/config.yml +8 -0
  126. package/templates/issue-templates/feature_request.yml +125 -0
  127. package/templates/issue-templates/help_question.yml +99 -0
  128. package/templates/skillsmp.json.example +28 -0
  129. package/templates/skillsmp.json.example.md +214 -0
  130. package/dist/ui/injection-legacy.d.ts +0 -26
  131. package/dist/ui/injection-legacy.d.ts.map +0 -1
  132. package/src/ui/__tests__/injection-registry.test.d.ts +0 -11
  133. package/src/ui/__tests__/injection-registry.test.d.ts.map +0 -1
  134. package/src/ui/__tests__/injection-registry.test.js +0 -46
  135. package/src/ui/__tests__/injection-registry.test.js.map +0 -1
  136. package/src/ui/__tests__/injection-registry.test.ts +0 -57
  137. package/src/ui/injection-legacy.ts +0 -44
@@ -0,0 +1,120 @@
1
+ # CLEO Protocol
2
+
3
+ Version: 2.1.0
4
+ Status: ACTIVE
5
+
6
+ ## CLEO Identity
7
+
8
+ You are a CLEO protocol agent. Use MCP-first operations:
9
+ - `query` for reads
10
+ - `mutate` for writes
11
+
12
+ ## Mandatory Efficiency Sequence
13
+
14
+ Run cheapest-first at session start:
15
+ 1. `query session status` — resume existing? (~200 tokens)
16
+ 2. `query admin dash` — project overview (~500 tokens)
17
+ 3. `query tasks current` — active task? (~100 tokens)
18
+ 4. `query tasks next` — what to work on (~300 tokens)
19
+ 5. `query tasks show` — full details for chosen task (~400 tokens)
20
+
21
+ ## Agent Work Loop
22
+
23
+ Repeat until session ends:
24
+ 1. `tasks current` or `tasks next` → pick task
25
+ 2. `tasks show {id}` → read requirements
26
+ 3. Do the work (code, test, document)
27
+ 4. `tasks complete {id}` → mark done
28
+ 5. `tasks next` → continue or end session
29
+
30
+ ## Context Ethics
31
+
32
+ Every MCP call costs tokens. Budget wisely:
33
+
34
+ | Operation | ~Tokens | When to Use |
35
+ |-----------|---------|-------------|
36
+ | `tasks find` | 200-400 | Discovery (NOT `tasks list`) |
37
+ | `tasks show` | 300-600 | After choosing a specific task |
38
+ | `tasks list` | 1000-5000 | ONLY for direct children of a known parent |
39
+ | `admin help` | 500-2000 | ONCE per session, at tier 0 first |
40
+
41
+ **Anti-patterns:**
42
+ - Calling `tasks list` without filters (returns ALL tasks with notes)
43
+ - Calling `admin help --tier 2` before trying tier 0
44
+ - Reading full task details for tasks you won't work on
45
+
46
+ ## Error Handling
47
+
48
+ Always check `success` and exit code values. Treat non-zero exit code as failure.
49
+
50
+ ## Task Discovery
51
+
52
+ **ALWAYS use `tasks find` for discovery. NEVER use `tasks list` for browsing.**
53
+
54
+ - `tasks find` → minimal fields, fast, low context cost ✓
55
+ - `tasks list` → full notes arrays, huge, use only for direct children ✗
56
+ - `tasks show` → full details for a specific known task ID ✓
57
+
58
+ ## Time Estimates Prohibited
59
+
60
+ Agents MUST NOT provide hours/days/week estimates. Use `small`, `medium`, `large` sizing.
61
+
62
+ ## Session Quick Reference
63
+
64
+ | Goal | Operation | Gateway |
65
+ |------|-----------|---------|
66
+ | Check active session | `session status` | query |
67
+ | Resume context from last session | `session handoff.show` | query |
68
+ | Start working | `session start` (scope required) | mutate |
69
+ | Stop working | `session end` | mutate |
70
+
71
+ For advanced session ops (find, suspend, resume, debrief, decisions): see `.cleo/agent-outputs/T5124-session-decision-tree.md`
72
+
73
+ **Budget note**: `session list` defaults to 10 results (~500-2000 tokens). Prefer `session find` for discovery (~200-400 tokens).
74
+
75
+ ## Memory Protocol
76
+
77
+ CLEO includes a native BRAIN memory system. Use the 3-layer retrieval pattern for token-efficient access:
78
+
79
+ | Step | Operation | Gateway | ~Tokens | Purpose |
80
+ |------|-----------|---------|---------|---------|
81
+ | 1 | `memory brain.search` | query | 50/hit | Search index (IDs + titles) |
82
+ | 2 | `memory brain.timeline` | query | 200-500 | Context around an anchor ID |
83
+ | 3 | `memory brain.fetch` | query | 500/entry | Full details for filtered IDs |
84
+ | Save | `memory brain.observe` | mutate | — | Save observation to brain.db |
85
+
86
+ **Workflow**: Search first (cheap) → filter interesting IDs → fetch only what you need.
87
+
88
+ **Example**:
89
+ ```
90
+ query memory brain.search {query: "authentication"}
91
+ query memory brain.fetch {ids: ["O-abc123"]}
92
+ mutate memory brain.observe {text: "Found auth uses JWT", title: "Auth discovery"}
93
+ ```
94
+
95
+ **Anti-patterns:**
96
+ - Fetching all entries without searching first (expensive)
97
+ - Skipping brain.search and going straight to brain.fetch
98
+
99
+ ## Memory Bridge
100
+
101
+ CLEO auto-generates `.cleo/memory-bridge.md` from brain.db content. This file is `@`-referenced
102
+ in AGENTS.md so providers automatically load project memory context at session start.
103
+
104
+ **Contents**: Last session handoff, key learnings, active patterns, recent decisions, recent observations.
105
+
106
+ **Refreshes on**: `session.end`, `tasks.complete`, `memory.observe` (decisions), `cleo refresh-memory`.
107
+
108
+ If the file is missing, run `cleo init` or `cleo refresh-memory` to regenerate it.
109
+
110
+ ## Escalation
111
+
112
+ For deeper guidance beyond this minimal protocol:
113
+ - **Session & lifecycle**: `query admin help` or load `ct-cleo` skill
114
+ - **Orchestration**: `query admin help --tier 2` or load `ct-orchestrator` skill
115
+ - **Operations reference**: `docs/specs/CLEO-OPERATIONS-REFERENCE.md`
116
+
117
+ ## References
118
+
119
+ - `docs/specs/CLEO-OPERATIONS-REFERENCE.md`
120
+ - `docs/specs/VERB-STANDARDS.md`
@@ -0,0 +1,29 @@
1
+ # Templates
2
+
3
+ Bundled templates shipped with `@cleocode/core`. Used by `cleo init`, `cleo upgrade`, and the global bootstrap flow.
4
+
5
+ ## Directory Structure
6
+
7
+ | Path | Purpose | Used By |
8
+ |------|---------|---------|
9
+ | `CLEO-INJECTION.md` | Global injection protocol (thin bootstrap) | `~/.cleo/templates/` → `~/.agents/AGENTS.md` |
10
+ | `config.template.json` | Project config defaults | `cleo init` → `.cleo/config.json` |
11
+ | `global-config.template.json` | Global config defaults | Bootstrap → `~/.cleo/config.json` |
12
+ | `cleo-gitignore` | Default `.cleo/.gitignore` content | `cleo init` |
13
+ | `agent-registry.json` | Agent registry template | `cleo init` |
14
+ | `github/ISSUE_TEMPLATE/` | GitHub issue templates (user-facing) | `cleo issue` command |
15
+ | `git-hooks/` | Git hook templates | `cleo init` (optional) |
16
+
17
+ ## Template Resolution
18
+
19
+ All templates are resolved at runtime via `getPackageRoot() + '/templates/'`. They are bundled in the published npm package — never copied to `~/.cleo/` except for `CLEO-INJECTION.md` which is symlinked for provider `@`-reference resolution.
20
+
21
+ ## Injection Chain
22
+
23
+ ```
24
+ ~/.agents/AGENTS.md
25
+ └── @~/.cleo/templates/CLEO-INJECTION.md (symlink → npm package)
26
+
27
+ {project}/AGENTS.md
28
+ └── @~/.agents/AGENTS.md + @.cleo/project-context.json + @.cleo/memory-bridge.md
29
+ ```
@@ -0,0 +1,305 @@
1
+ {
2
+ "$schema": "https://cleo-dev.com/schemas/v1/agent-registry.schema.json",
3
+ "schemaVersion": "1.0.0",
4
+ "lastUpdated": "2026-01-27",
5
+ "agents": {
6
+ "claude-code": {
7
+ "id": "claude-code",
8
+ "displayName": "Claude Code",
9
+ "vendor": "Anthropic",
10
+ "globalDir": "$HOME/.claude",
11
+ "projectDir": ".claude",
12
+ "instructionFile": "CLAUDE.md",
13
+ "skillsDir": "skills",
14
+ "projectSkillsDir": ".claude/skills",
15
+ "priority": "high",
16
+ "status": "active",
17
+ "cliDetection": {
18
+ "method": "directory",
19
+ "check": "$HOME/.claude"
20
+ },
21
+ "agentSkillsCompatible": true,
22
+ "notes": "Primary CLEO target. Anthropic's official CLI."
23
+ },
24
+ "cursor": {
25
+ "id": "cursor",
26
+ "displayName": "Cursor",
27
+ "vendor": "Anysphere",
28
+ "globalDir": "$HOME/.cursor",
29
+ "projectDir": ".cursor",
30
+ "instructionFile": "AGENTS.md",
31
+ "skillsDir": "skills",
32
+ "projectSkillsDir": ".cursor/skills",
33
+ "priority": "high",
34
+ "status": "active",
35
+ "cliDetection": {
36
+ "method": "directory",
37
+ "check": "$HOME/.cursor"
38
+ },
39
+ "agentSkillsCompatible": true,
40
+ "notes": "Popular VS Code fork with AI integration"
41
+ },
42
+ "windsurf": {
43
+ "id": "windsurf",
44
+ "displayName": "Windsurf",
45
+ "vendor": "Codeium",
46
+ "globalDir": "$HOME/.codeium/windsurf",
47
+ "projectDir": ".windsurf",
48
+ "instructionFile": "AGENTS.md",
49
+ "skillsDir": "skills",
50
+ "projectSkillsDir": ".windsurf/skills",
51
+ "priority": "high",
52
+ "status": "active",
53
+ "cliDetection": {
54
+ "method": "directory",
55
+ "check": "$HOME/.codeium/windsurf"
56
+ },
57
+ "agentSkillsCompatible": true,
58
+ "notes": "Codeium's AI IDE"
59
+ },
60
+ "codex": {
61
+ "id": "codex",
62
+ "displayName": "OpenAI Codex",
63
+ "vendor": "OpenAI",
64
+ "globalDir": "$HOME/.codex",
65
+ "projectDir": ".codex",
66
+ "instructionFile": "AGENTS.md",
67
+ "skillsDir": "skills",
68
+ "projectSkillsDir": ".codex/skills",
69
+ "priority": "medium",
70
+ "status": "active",
71
+ "cliDetection": {
72
+ "method": "directory",
73
+ "check": "$HOME/.codex"
74
+ },
75
+ "agentSkillsCompatible": true,
76
+ "notes": "OpenAI's coding assistant"
77
+ },
78
+ "gemini-cli": {
79
+ "id": "gemini-cli",
80
+ "displayName": "Google Gemini",
81
+ "vendor": "Google",
82
+ "globalDir": "$HOME/.gemini",
83
+ "projectDir": ".gemini",
84
+ "instructionFile": "GEMINI.md",
85
+ "skillsDir": "skills",
86
+ "projectSkillsDir": ".gemini/skills",
87
+ "priority": "medium",
88
+ "status": "active",
89
+ "cliDetection": {
90
+ "method": "directory",
91
+ "check": "$HOME/.gemini"
92
+ },
93
+ "agentSkillsCompatible": true,
94
+ "notes": "Google's Gemini CLI assistant"
95
+ },
96
+ "github-copilot": {
97
+ "id": "github-copilot",
98
+ "displayName": "GitHub Copilot",
99
+ "vendor": "GitHub/Microsoft",
100
+ "globalDir": "$HOME/.copilot",
101
+ "projectDir": ".github",
102
+ "instructionFile": "AGENTS.md",
103
+ "skillsDir": "skills",
104
+ "projectSkillsDir": ".github/skills",
105
+ "priority": "medium",
106
+ "status": "active",
107
+ "cliDetection": {
108
+ "method": "directory",
109
+ "check": "$HOME/.copilot"
110
+ },
111
+ "agentSkillsCompatible": true,
112
+ "notes": "GitHub's AI pair programmer"
113
+ },
114
+ "opencode": {
115
+ "id": "opencode",
116
+ "displayName": "OpenCode",
117
+ "vendor": "OpenCode",
118
+ "globalDir": "$HOME/.config/opencode",
119
+ "projectDir": ".opencode",
120
+ "instructionFile": "AGENTS.md",
121
+ "skillsDir": "skills",
122
+ "projectSkillsDir": ".opencode/skills",
123
+ "priority": "medium",
124
+ "status": "active",
125
+ "cliDetection": {
126
+ "method": "directory",
127
+ "check": "$HOME/.config/opencode"
128
+ },
129
+ "agentSkillsCompatible": true,
130
+ "notes": "Open-source coding assistant"
131
+ },
132
+ "cline": {
133
+ "id": "cline",
134
+ "displayName": "Cline",
135
+ "vendor": "Cline",
136
+ "globalDir": "$HOME/.cline",
137
+ "projectDir": ".cline",
138
+ "instructionFile": "AGENTS.md",
139
+ "skillsDir": "skills",
140
+ "projectSkillsDir": ".cline/skills",
141
+ "priority": "medium",
142
+ "status": "active",
143
+ "cliDetection": {
144
+ "method": "directory",
145
+ "check": "$HOME/.cline"
146
+ },
147
+ "agentSkillsCompatible": true,
148
+ "notes": "VS Code extension for AI coding"
149
+ },
150
+ "kimi": {
151
+ "id": "kimi",
152
+ "displayName": "Kimi Coding",
153
+ "vendor": "Moonshot AI",
154
+ "globalDir": "$HOME/.kimi",
155
+ "projectDir": ".kimi",
156
+ "instructionFile": "AGENTS.md",
157
+ "skillsDir": "skills",
158
+ "projectSkillsDir": ".kimi/skills",
159
+ "priority": "medium",
160
+ "status": "active",
161
+ "cliDetection": {
162
+ "method": "directory",
163
+ "check": "$HOME/.kimi"
164
+ },
165
+ "agentSkillsCompatible": false,
166
+ "notes": "Moonshot AI's coding assistant"
167
+ },
168
+ "roo": {
169
+ "id": "roo",
170
+ "displayName": "Roo Code",
171
+ "vendor": "Roo",
172
+ "globalDir": "$HOME/.roo",
173
+ "projectDir": ".roo",
174
+ "instructionFile": "AGENTS.md",
175
+ "skillsDir": "skills",
176
+ "projectSkillsDir": ".roo/skills",
177
+ "priority": "low",
178
+ "status": "active",
179
+ "cliDetection": {
180
+ "method": "directory",
181
+ "check": "$HOME/.roo"
182
+ },
183
+ "agentSkillsCompatible": true,
184
+ "notes": "Roo coding assistant"
185
+ },
186
+ "continue": {
187
+ "id": "continue",
188
+ "displayName": "Continue",
189
+ "vendor": "Continue",
190
+ "globalDir": "$HOME/.continue",
191
+ "projectDir": ".continue",
192
+ "instructionFile": "AGENTS.md",
193
+ "skillsDir": "skills",
194
+ "projectSkillsDir": ".continue/skills",
195
+ "priority": "low",
196
+ "status": "active",
197
+ "cliDetection": {
198
+ "method": "directory",
199
+ "check": "$HOME/.continue"
200
+ },
201
+ "agentSkillsCompatible": false,
202
+ "notes": "Open-source AI coding assistant"
203
+ },
204
+ "antigravity": {
205
+ "id": "antigravity",
206
+ "displayName": "Antigravity",
207
+ "vendor": "Google",
208
+ "globalDir": "$HOME/.gemini/antigravity",
209
+ "projectDir": ".antigravity",
210
+ "instructionFile": "AGENTS.md",
211
+ "skillsDir": "global_skills",
212
+ "projectSkillsDir": ".antigravity/skills",
213
+ "priority": "low",
214
+ "status": "beta",
215
+ "cliDetection": {
216
+ "method": "directory",
217
+ "check": "$HOME/.gemini/antigravity"
218
+ },
219
+ "agentSkillsCompatible": true,
220
+ "notes": "Google's experimental coding assistant"
221
+ },
222
+ "goose": {
223
+ "id": "goose",
224
+ "displayName": "Goose",
225
+ "vendor": "Block",
226
+ "globalDir": "$HOME/.goose",
227
+ "projectDir": ".goose",
228
+ "instructionFile": "AGENTS.md",
229
+ "skillsDir": "skills",
230
+ "projectSkillsDir": ".goose/skills",
231
+ "priority": "low",
232
+ "status": "active",
233
+ "cliDetection": {
234
+ "method": "directory",
235
+ "check": "$HOME/.goose"
236
+ },
237
+ "agentSkillsCompatible": true,
238
+ "notes": "Block's open-source AI agent"
239
+ },
240
+ "kiro-cli": {
241
+ "id": "kiro-cli",
242
+ "displayName": "Kiro CLI",
243
+ "vendor": "Kiro",
244
+ "globalDir": "$HOME/.kiro",
245
+ "projectDir": ".kiro",
246
+ "instructionFile": "AGENTS.md",
247
+ "skillsDir": "skills",
248
+ "projectSkillsDir": ".kiro/skills",
249
+ "priority": "low",
250
+ "status": "beta",
251
+ "cliDetection": {
252
+ "method": "directory",
253
+ "check": "$HOME/.kiro"
254
+ },
255
+ "agentSkillsCompatible": true,
256
+ "notes": "Kiro command-line coding assistant"
257
+ },
258
+ "amp": {
259
+ "id": "amp",
260
+ "displayName": "Amp",
261
+ "vendor": "Sourcegraph",
262
+ "globalDir": "$HOME/.amp",
263
+ "projectDir": ".amp",
264
+ "instructionFile": "AGENTS.md",
265
+ "skillsDir": "skills",
266
+ "projectSkillsDir": ".amp/skills",
267
+ "priority": "low",
268
+ "status": "beta",
269
+ "cliDetection": {
270
+ "method": "directory",
271
+ "check": "$HOME/.amp"
272
+ },
273
+ "agentSkillsCompatible": true,
274
+ "notes": "Sourcegraph's AI coding assistant"
275
+ },
276
+ "trae": {
277
+ "id": "trae",
278
+ "displayName": "Trae",
279
+ "vendor": "ByteDance",
280
+ "globalDir": "$HOME/.trae",
281
+ "projectDir": ".trae",
282
+ "instructionFile": "AGENTS.md",
283
+ "skillsDir": "skills",
284
+ "projectSkillsDir": ".trae/skills",
285
+ "priority": "low",
286
+ "status": "beta",
287
+ "cliDetection": {
288
+ "method": "directory",
289
+ "check": "$HOME/.trae"
290
+ },
291
+ "agentSkillsCompatible": true,
292
+ "notes": "ByteDance's AI IDE"
293
+ }
294
+ },
295
+ "instructionFileMap": {
296
+ "CLAUDE.md": ["claude-code"],
297
+ "GEMINI.md": ["gemini-cli"],
298
+ "AGENTS.md": ["cursor", "windsurf", "codex", "github-copilot", "opencode", "cline", "kimi", "roo", "continue", "antigravity", "goose", "kiro-cli", "amp", "trae"]
299
+ },
300
+ "priorityTiers": {
301
+ "tier1": ["claude-code", "cursor", "windsurf"],
302
+ "tier2": ["codex", "gemini-cli", "github-copilot", "opencode", "cline", "kimi"],
303
+ "tier3": ["roo", "continue", "antigravity", "goose", "kiro-cli", "amp", "trae"]
304
+ }
305
+ }
@@ -0,0 +1,74 @@
1
+ # =============================================================================
2
+ # .cleo/.gitignore — Deny-by-default for CLEO project data
3
+ # =============================================================================
4
+ # STRATEGY: Ignore everything, then explicitly allow only tracked files.
5
+ # This prevents runtime data (databases, logs, caches, metrics) from ever
6
+ # being accidentally committed.
7
+ #
8
+ # Canonical audit: .cleo/agent-outputs/T5159-cleo-file-audit.md
9
+ # ADR: ADR-013-data-integrity-checkpoint-architecture.md
10
+ # =============================================================================
11
+
12
+ # Step 1: Ignore everything in .cleo/
13
+ *
14
+
15
+ # =============================================================================
16
+ # ALLOW LIST — files and directories that SHOULD be tracked
17
+ # =============================================================================
18
+
19
+ # Step 2: Allow this .gitignore itself
20
+ !.gitignore
21
+
22
+ # Step 3: Allow project configuration files
23
+ !config.json
24
+ !project-context.json
25
+ !project-info.json
26
+ !setup-otel.sh
27
+ !DATA-SAFETY-IMPLEMENTATION-SUMMARY.md
28
+
29
+ # Step 4: Allow ADRs directory (architecture decisions — project-level, not CLEO-specific)
30
+ !adrs/
31
+ !adrs/**
32
+
33
+ # Step 5: Allow RCASD lifecycle provenance directory
34
+ # Structure: rcasd/{epic#}/research/, consensus/, architecture/, specs/, contributions/
35
+ !rcasd/
36
+ !rcasd/**
37
+
38
+ # Step 6: Allow agent-outputs directory
39
+ !agent-outputs/
40
+ !agent-outputs/**
41
+
42
+ # =============================================================================
43
+ # EXPLICIT DENY — safety net that overrides allow rules above
44
+ # =============================================================================
45
+
46
+ # SQLite databases — NEVER track (data loss root cause, ADR-013)
47
+ *.db
48
+ *.db-shm
49
+ *.db-wal
50
+ *.db-journal
51
+
52
+ # Logs — NEVER track (append-only runtime data)
53
+ log.json
54
+ tasks-log.jsonl
55
+ todo-log.jsonl
56
+ bypass-log.json
57
+ qa-log.json
58
+
59
+ # Caches and transient state
60
+ .deps-cache/
61
+ .context-alert-state.json
62
+ .context-state*.json
63
+ context-states/
64
+ .git-checkpoint-state
65
+ .migration-state.json
66
+
67
+ # Instance-specific runtime data
68
+ migrations.json
69
+ sync/
70
+ metrics/
71
+
72
+ # Backups — NEVER track
73
+ .backups/
74
+ backups/