Skip to content

Commit 6df61f1

Browse files
committed
addressing code rabbit issue
1 parent c61e905 commit 6df61f1

1 file changed

Lines changed: 8 additions & 29 deletions

File tree

platform-integrations/INSTALL_SPEC.md

Lines changed: 8 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
## Overview
44

55
`install.sh` is a single-file bash/Python hybrid installer that sets up Evolve integrations
6-
into a user's project directory for one or more supported platforms: **Bob**, **Roo**, **Claude**, and **Codex**.
6+
into a user's project directory for one or more supported platforms: **Bob**, **Claude**, and **Codex**.
77

88
It is designed to be run:
99
- Locally from within the evolve repo: `./install.sh install`
@@ -48,13 +48,13 @@ Commands:
4848
status Show what is currently installed
4949
5050
install options:
51-
--platform {bob,roo,claude,codex,all} Platform to install (default: auto-detect + prompt)
51+
--platform {bob,claude,codex,all} Platform to install (default: auto-detect + prompt)
5252
--mode {lite,full} Installation mode for bob (default: lite)
5353
--dir DIR Target project directory (default: current working dir)
5454
--dry-run Preview changes without modifying files
5555
5656
uninstall options:
57-
--platform {bob,roo,claude,codex,all} Platform to uninstall (default: prompt)
57+
--platform {bob,claude,codex,all} Platform to uninstall (default: prompt)
5858
--dir DIR Target project directory (default: current working dir)
5959
--dry-run Preview changes without modifying files
6060
```
@@ -68,7 +68,6 @@ Detection checks in order (any match = platform considered available):
6868
| Platform | Detection signals |
6969
|----------|-------------------|
7070
| bob | `.bob/` dir exists in target dir, OR `bob` on PATH |
71-
| roo | `.roomodes` file exists in target dir, OR `roo` or `roo-code` on PATH |
7271
| claude | `.claude/` dir exists in target dir, OR `claude` on PATH |
7372
| codex | `.codex/` dir exists in target dir, OR `.agents/plugins/marketplace.json` exists, OR `codex` on PATH |
7473

@@ -96,18 +95,6 @@ All of lite mode, plus:
9695
5. Read `platform-integrations/bob/evolve-full/mcp.json`
9796
6. Upsert key `mcpServers.evolve` into `.bob/mcp.json` (JSON key upsert, see JSON Strategy)
9897

99-
### Roo — Lite Mode
100-
101-
Source: `platform-integrations/roo/evolve-lite/`
102-
Target: project directory
103-
104-
1. Copy `skills/evolve-learn/``.roo/skills/evolve-learn/` (merge, idempotent)
105-
2. Copy `skills/evolve-recall/``.roo/skills/evolve-recall/` (merge, idempotent)
106-
3. Merge mode entry from `skills/.roomodes``.roomodes` in project dir
107-
- Target `.roomodes` may be JSON or YAML; detected by trying `json.loads` first
108-
- Upsert by `slug: evolve-lite` (JSON: array upsert; YAML: sentinel block)
109-
- If target does not exist, create as YAML
110-
11198
### Claude — Lite Mode
11299

113100
Source: `platform-integrations/claude/plugins/evolve-lite/`
@@ -148,11 +135,6 @@ Codex is currently implemented only in lite mode. Full mode is reserved for futu
148135
4. Remove sentinel block for `evolve-lite` from `.bob/custom_modes.yaml`
149136
5. (Full mode) Remove `mcpServers.evolve` key from `.bob/mcp.json`
150137

151-
### Roo
152-
1. Remove `.roo/skills/evolve-learn/`
153-
2. Remove `.roo/skills/evolve-recall/`
154-
3. Remove `evolve-lite` entry from `.roomodes` (JSON array filter or YAML sentinel strip)
155-
156138
### Claude
157139
1. Attempt `claude plugin uninstall evolve-lite` via subprocess
158140
2. If that fails, print manual instructions
@@ -166,7 +148,7 @@ Codex is currently implemented only in lite mode. Full mode is reserved for futu
166148

167149
## File Operation Strategies
168150

169-
### JSON Strategy (mcp.json, .roomodes, marketplace.json, hooks.json)
151+
### JSON Strategy (mcp.json, marketplace.json, hooks.json)
170152

171153
All JSON writes use atomic read-modify-write:
172154
1. Read existing file (or start with `{}` if not found)
@@ -176,12 +158,12 @@ All JSON writes use atomic read-modify-write:
176158

177159
**Key upsert** (`mcpServers.evolve`, `hooks.UserPromptSubmit` scaffolding): navigate nested keys via `dict.setdefault`, merge matching dict values in place, and only replace scalar/list leaves.
178160

179-
**Array upsert** (`.roomodes` `customModes`, `marketplace.json` `plugins`): iterate array, find item where the identity key matches,
161+
**Array upsert** (`marketplace.json` `plugins`): iterate array, find item where the identity key matches,
180162
merge matching dict items in place; append if not found.
181163

182164
**Array remove**: filter array by `item["slug"] != target_slug`, write back.
183165

184-
### YAML Strategy (custom_modes.yaml, .roomodes when YAML)
166+
### YAML Strategy (custom_modes.yaml)
185167

186168
YAML files use sentinel comment blocks:
187169

@@ -201,9 +183,6 @@ between sentinels. If no, append sentinel block to end of file.
201183

202184
**Uninstall**: find sentinel start and end lines, remove all lines between them (inclusive).
203185

204-
**Source parsing**: the source `.roomodes` from `platform-integrations/roo/` is YAML format.
205-
The mode data is extracted via regex from the YAML source and converted to a Python dict
206-
for JSON insertion. No third-party YAML library is required.
207186

208187
---
209188

@@ -260,7 +239,7 @@ curl -fsSL https://raw.githubusercontent.com/AgentToolkit/altk-evolve/v1.2.0/pla
260239

261240
# Non-interactive, specific platform
262241
curl -fsSL https://raw.githubusercontent.com/AgentToolkit/altk-evolve/main/platform-integrations/install.sh | \
263-
bash -s -- install --platform roo
242+
bash -s -- install --platform bob
264243
```
265244

266245
## Local Install Example
@@ -271,5 +250,5 @@ curl -fsSL https://raw.githubusercontent.com/AgentToolkit/altk-evolve/main/platf
271250
./platform-integrations/install.sh install --platform bob --mode full
272251
./platform-integrations/install.sh install --platform all
273252
./platform-integrations/install.sh status
274-
./platform-integrations/install.sh uninstall --platform roo
253+
./platform-integrations/install.sh uninstall --platform bob
275254
```

0 commit comments

Comments
 (0)