Files
2026-07-13 12:55:23 +08:00

117 lines
4.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CLI-Anything for Reasonix
An adapter that brings the [CLI-Anything](https://github.com/HKUDS/CLI-Anything) harness methodology to the [Reasonix](https://github.com/esengine/DeepSeek-Reasonix) coding agent.
CLI-Anything is a methodology for making **any GUI software agent-native** by generating stateful CLI harnesses with REPL mode, JSON output, undo/redo, and comprehensive tests. This adapter lets Reasonix act as the builder agent.
## Installation
**macOS / Linux:**
```bash
git clone https://github.com/HKUDS/CLI-Anything.git
cd CLI-Anything/reasonix-skill
./scripts/install.sh
```
**Windows (PowerShell):**
```powershell
git clone https://github.com/HKUDS/CLI-Anything.git
cd CLI-Anything\reasonix-skill
.\scripts\install.ps1
```
Both scripts copy the skill to Reasonix's global skill directory at `~/.reasonix/skills/cli-anything`.
## Configuration Note
A full CLI-Anything build (architecture analysis, 10+ file generation, installation, and multiple test runs) typically requires 2540 tool-call rounds. Reasonix's subagent step budget is derived from the `agent.max_steps` setting in `reasonix.toml`:
- The default `max_steps = 0` means unlimited, which is recommended for this workflow.
- If you have set `max_steps` to a finite value, the subagent receives half that budget (minimum 5), which may cause a build to be truncated before completion.
To ensure builds complete successfully, set `agent.max_steps = 0` in your `reasonix.toml`, or use a sufficiently high value such as 64 or more.
## Usage
After installation, use slash invocation to inline the skill into the parent Reasonix loop:
```
/cli-anything https://github.com/GNOME/gimp
```
Use `run_skill` when you want isolated subagent execution. The same isolation applies when Reasonix invokes the skill through its dedicated subagent path:
```
run_skill({ name: "cli-anything", arguments: "/path/to/software" })
```
### What It Does
The skill follows the CLI-Anything 7-phase methodology:
1. **Codebase Analysis** — Surveys the target software's architecture, data model, and API surface
2. **CLI Architecture Design** — Designs command groups, state model, and output formats
3. **Implementation** — Generates a Click-based Python CLI with REPL, JSON output, and session state
4. **Test Planning** — Creates TEST.md with comprehensive test plan
5. **Test Implementation** — Writes unit tests and E2E tests with real backend invocation
6. **Test Documentation** — Runs all tests and documents results
7. **PyPI Packaging** — Creates setup.py and verifies `pip install -e .`
### Example
```bash
# Build a CLI for GIMP from local source
/cli-anything /home/user/gimp
# Build from a GitHub repo
/cli-anything https://github.com/blender/blender
# Refine an existing harness
/cli-anything /home/user/gimp "Refine the existing harness for batch processing and Script-Fu filters"
```
## Reasonix Tool Mapping
| CLI-Anything Need | Reasonix Tool |
|-------------------|---------------|
| Shell execution | `bash` |
| File generation | `write_file` |
| Code editing | `edit_file` / `multi_edit` |
| Source reading | `read_file` |
| Codebase search | `grep` / `glob` / `ls` |
| Architecture analysis | `mcp__codegraph__search` / `mcp__codegraph__context` when CodeGraph is enabled |
| Documentation fetch | `web_fetch` |
## File Structure
```
reasonix-skill/
├── SKILL.md # Main skill document (methodology + tool bindings)
├── README.md # This file
├── agents/
│ └── reasonix.yaml # Agent interface metadata
└── scripts/
├── install.sh # macOS/Linux installer
└── install.ps1 # Windows installer
```
## How It Compares to Other Agent Adapters
| Feature | Claude Code | Codex | Hermes | **Reasonix** |
|---------|------------|-------|--------|-------------|
| Skill format | `.claude-plugin/` | `SKILL.md` + YAML | `SKILL.md` + YAML | `SKILL.md` + YAML |
| Shell | `bash` | `terminal` | `terminal` | `bash` |
| File ops | native | `execute_code` | `execute_code` / `write_file` | `write_file` / `edit_file` / `multi_edit` |
| Code analysis | file reads | file reads | file reads | Optional `mcp__codegraph__search` / `mcp__codegraph__context` symbol graph |
| Install method | `/plugin install` | `install.sh``$CODEX_HOME/skills/` | `install.sh``$HERMES_HOME/skills/` | `install.sh``~/.reasonix/skills/` |
## Contributing
This adapter follows the same contribution pattern as the Codex and Hermes adapters. See [CONTRIBUTING.md](../CONTRIBUTING.md) in the CLI-Anything repository.
## License
Apache License 2.0 — same as CLI-Anything.