autodev-orchestrator 1.0.0__tar.gz
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.
- autodev_orchestrator-1.0.0/PKG-INFO +303 -0
- autodev_orchestrator-1.0.0/README.md +272 -0
- autodev_orchestrator-1.0.0/pyproject.toml +62 -0
- autodev_orchestrator-1.0.0/setup.cfg +4 -0
- autodev_orchestrator-1.0.0/src/autodev/__init__.py +40 -0
- autodev_orchestrator-1.0.0/src/autodev/__main__.py +11 -0
- autodev_orchestrator-1.0.0/src/autodev/cli.py +2269 -0
- autodev_orchestrator-1.0.0/src/autodev/font.py +504 -0
- autodev_orchestrator-1.0.0/src/autodev/pixel_art.py +333 -0
- autodev_orchestrator-1.0.0/src/autodev_orchestrator.egg-info/PKG-INFO +303 -0
- autodev_orchestrator-1.0.0/src/autodev_orchestrator.egg-info/SOURCES.txt +16 -0
- autodev_orchestrator-1.0.0/src/autodev_orchestrator.egg-info/dependency_links.txt +1 -0
- autodev_orchestrator-1.0.0/src/autodev_orchestrator.egg-info/entry_points.txt +5 -0
- autodev_orchestrator-1.0.0/src/autodev_orchestrator.egg-info/requires.txt +5 -0
- autodev_orchestrator-1.0.0/src/autodev_orchestrator.egg-info/top_level.txt +1 -0
- autodev_orchestrator-1.0.0/tests/test_cli.py +82 -0
- autodev_orchestrator-1.0.0/tests/test_font.py +72 -0
- autodev_orchestrator-1.0.0/tests/test_pixel_art.py +75 -0
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: autodev-orchestrator
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Interactive Multi-Agent TUI with pluggable agents, model switcher, diff gate, and conversation memory.
|
|
5
|
+
Author: SpeiiDev Team
|
|
6
|
+
License: MIT
|
|
7
|
+
Keywords: multi-agent,orchestrator,ai,tui,claude,gemini,opencode,antigravity,developer-tools
|
|
8
|
+
Classifier: Development Status :: 4 - Beta
|
|
9
|
+
Classifier: Environment :: Console
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
12
|
+
Classifier: Operating System :: OS Independent
|
|
13
|
+
Classifier: Operating System :: MacOS
|
|
14
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
15
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
23
|
+
Classifier: Topic :: Software Development :: Code Generators
|
|
24
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
25
|
+
Requires-Python: >=3.9
|
|
26
|
+
Description-Content-Type: text/markdown
|
|
27
|
+
Requires-Dist: rich>=13.0.0
|
|
28
|
+
Requires-Dist: prompt_toolkit>=3.0.0
|
|
29
|
+
Provides-Extra: image
|
|
30
|
+
Requires-Dist: Pillow>=9.0.0; extra == "image"
|
|
31
|
+
|
|
32
|
+
# autodev-orchestrator (SpeiiDev) 🥬
|
|
33
|
+
|
|
34
|
+
> **Interactive Multi-Agent Terminal User Interface (TUI)** and autonomous workflow orchestrator with pluggable AI coding agents, model switchers, diff gates, and conversation memory. Fully cross-platform across **macOS, Linux, and Windows**.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Architecture & Workflow
|
|
39
|
+
|
|
40
|
+
```mermaid
|
|
41
|
+
flowchart TD
|
|
42
|
+
UserTask["User Task / Prompt"] --> Architect["1. Architect / Planner (e.g. agy / claude / gemini)"]
|
|
43
|
+
Architect --> PlanFile["Writes PLAN.md (Phases, Signatures & Tests)"]
|
|
44
|
+
PlanFile --> ApprovalGate{"Plan Approval Gate"}
|
|
45
|
+
ApprovalGate -- Approved --> Builder["2. Builder Agent (e.g. opencode / agy / claude)"]
|
|
46
|
+
Builder --> DiffSnapshot["Snapshot & Color Diff Review (Approve / Revert)"]
|
|
47
|
+
DiffSnapshot --> Auditor["3. Auditor Review (Audits Diff & Runs Tests)"]
|
|
48
|
+
Auditor -- "STATUS: NEEDS_FIXES" --> FixLoop{"Auto-Fix Loop (Up to max retries)"}
|
|
49
|
+
FixLoop --> Builder
|
|
50
|
+
Auditor -- "STATUS: VERIFIED" --> Success(["✅ Verification Complete"])
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Key Features
|
|
56
|
+
|
|
57
|
+
- **Multi-Agent Orchestration**: Separate roles for **Planner/Auditor** (generates and verifies [`PLAN.md`](PLAN.md) without modifying source code) and **Builder** (implements the code).
|
|
58
|
+
- **Pluggable CLI Adapters**: Works seamlessly with:
|
|
59
|
+
- `agy` (*Google Antigravity CLI*)
|
|
60
|
+
- `opencode` (*OpenCode CLI*)
|
|
61
|
+
- `gemini` (*Google Gemini CLI*)
|
|
62
|
+
- `claude` (*Anthropic Claude Code CLI*)
|
|
63
|
+
- **100% Cross-Platform (macOS, Linux, & Windows)**:
|
|
64
|
+
- Resolves Windows `.cmd`, `.bat`, and `.exe` wrappers automatically via `get_safe_executable()`.
|
|
65
|
+
- Platform-aware subprocess handling (`shell=True` on Windows).
|
|
66
|
+
- Normalizes path operations using `pathlib.Path`.
|
|
67
|
+
- **Review & Approval Gate**:
|
|
68
|
+
- Live diff inspection with Rich syntax highlighting.
|
|
69
|
+
- Interactive file-by-file rollback support.
|
|
70
|
+
- Configurable permission gate (`ask`, `auto`, `deny`).
|
|
71
|
+
- **Rich Interactive TUI**:
|
|
72
|
+
- Built with `prompt_toolkit` and `rich`.
|
|
73
|
+
- TrueColor Pixel Art Green Bok Choy Cabbage logo.
|
|
74
|
+
- Keyboard shortcuts (`F2` Action Menu, `F3` Touched Files Activity Log).
|
|
75
|
+
- Live model switcher and reasoning effort adjuster.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Installation
|
|
80
|
+
|
|
81
|
+
### From Source
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
git clone https://github.com/your-username/autodev.git
|
|
85
|
+
cd autodev
|
|
86
|
+
|
|
87
|
+
# Install in editable mode
|
|
88
|
+
pip install -e .
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Dependencies
|
|
92
|
+
|
|
93
|
+
- Python `>= 3.9`
|
|
94
|
+
- `rich >= 13.0.0`
|
|
95
|
+
- `prompt_toolkit >= 3.0.0`
|
|
96
|
+
- *Optional:* `Pillow >= 9.0.0` (for image pixel art rendering)
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Quickstart
|
|
101
|
+
|
|
102
|
+
### Launch Interactive TUI
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
autodev
|
|
106
|
+
# or
|
|
107
|
+
speiidev
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Run an Automated Task Directly
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
autodev "Implement JWT authentication and unit tests"
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Auto-Approve Plans and Diffs (`--yes`)
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
autodev -y "Refactor database models to SQLAlchemy 2.0"
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## CLI Options
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
usage: autodev [-h] [--plan-file PLAN_FILE] [--max-retries MAX_RETRIES]
|
|
128
|
+
[--conversation CONVERSATION]
|
|
129
|
+
[--planner {agy,opencode,gemini,claude}]
|
|
130
|
+
[--builder {agy,opencode,gemini,claude}]
|
|
131
|
+
[--planner-model PLANNER_MODEL]
|
|
132
|
+
[--builder-model BUILDER_MODEL]
|
|
133
|
+
[--planner-effort PLANNER_EFFORT]
|
|
134
|
+
[--builder-effort BUILDER_EFFORT]
|
|
135
|
+
[--permissions {ask,auto,deny}] [--no-splash] [--no-save] [-y]
|
|
136
|
+
[task ...]
|
|
137
|
+
|
|
138
|
+
positional arguments:
|
|
139
|
+
task Optional task to run immediately
|
|
140
|
+
|
|
141
|
+
options:
|
|
142
|
+
-h, --help Show this help message and exit
|
|
143
|
+
--plan-file PLAN_FILE Path to implementation plan (default: PLAN.md)
|
|
144
|
+
--max-retries N Maximum auto-fix loop attempts (default: 3)
|
|
145
|
+
--conversation UUID Antigravity conversation UUID to resume
|
|
146
|
+
--planner {agy,...} CLI backend for planner/auditor role
|
|
147
|
+
--builder {agy,...} CLI backend for builder role
|
|
148
|
+
--planner-model MODEL Model override for planner
|
|
149
|
+
--builder-model MODEL Model override for builder
|
|
150
|
+
--planner-effort EFF Reasoning effort for planner
|
|
151
|
+
--builder-effort EFF Reasoning effort for builder
|
|
152
|
+
--permissions MODE Permission gate mode: ask | auto | deny
|
|
153
|
+
--font FONT Render text in 2-line Unicode block art font and exit
|
|
154
|
+
--no-splash Skip the boot animation
|
|
155
|
+
--no-save Do not persist session state to disk
|
|
156
|
+
-y, --yes Auto-approve all plans and diffs (permissions: auto)
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## Interactive Slash Commands & Keybindings
|
|
162
|
+
|
|
163
|
+
| Key / Command | Description |
|
|
164
|
+
| :--- | :--- |
|
|
165
|
+
| **`F2`** | Open interactive Action Menu (navigate with arrow keys) |
|
|
166
|
+
| **`F3`** | Activity viewer — inspect files and commands touched by agents |
|
|
167
|
+
| **`/plan <task>`** | Run only the planner to generate/update `PLAN.md` |
|
|
168
|
+
| **`/build`** | Run only the builder to implement code changes |
|
|
169
|
+
| **`/audit`** | Run only the auditor to test and verify implementation |
|
|
170
|
+
| **`/diff`** | Show color-coded git diff (`+` green new / `-` red old) |
|
|
171
|
+
| **`/show`** | Render `PLAN.md` formatted with Rich Markdown |
|
|
172
|
+
| **`/font <text>`** | Render text in 2-line Unicode block art font |
|
|
173
|
+
| **`/model`** | Search and select models for planner or builder |
|
|
174
|
+
| **`/effort`** | Adjust reasoning intensity level |
|
|
175
|
+
| **`/perms`** | Configure permission gate mode and manage approvals |
|
|
176
|
+
| **`/auto`** | Toggle auto-approve mode on/off |
|
|
177
|
+
| **`/conv <id>`** | Set or clear persistent conversation ID |
|
|
178
|
+
| **`/log`** | View background activity log and touched files |
|
|
179
|
+
| **`/clear`** | Clear screen and redraw banner |
|
|
180
|
+
| **`/help`** | Display command reference table |
|
|
181
|
+
| **`/exit`** | Quit application |
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Typography & Art Styles
|
|
186
|
+
|
|
187
|
+
SpeiiDev features two terminal typography engines:
|
|
188
|
+
|
|
189
|
+
### 1. Claude 3D Wireframe Shadow (Default)
|
|
190
|
+
Chunky block lettering with an isometric double-line wireframe drop shadow (`═`, `║`, `╚`, `╝`, `╗`, `╔`) in Anthropic Coral (`#D97757`) or Catppuccin Green (`#A6E3A1`):
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
▄██████╗ ██╗ ▄█████╗ ██╗ ██╗ ██████╗ ███████╗
|
|
194
|
+
██╔════╝║ ██║ ██╔═══██╗ ██║ ██║ ██╔══██╗ ██╔════╝║
|
|
195
|
+
██║ ║ ██║ █████████║ ██║ ██║ ██║ ██║ █████╗ ║
|
|
196
|
+
██║ ║ ██║ ██╔═══███║ ██║ ██║ ██║ ██║ ██╔══╝ ║
|
|
197
|
+
▀██████╗║ ███████╗ ██║ ███║ ╚███████║ ██████╔╝ ███████╗║
|
|
198
|
+
╚═════╝╝ ╚══════╝╝ ╚═╝ ╚══╝╝ ╚══════╝╝ ╚═════╝╝ ╚══════╝╝
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### 2. Compact 2-Line Half-Block Font
|
|
202
|
+
Ultra-compact 2-line terminal font for narrow displays:
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
▄▀▀ █▀█ █▀▀ █ █ █▀▄ █▀▀ █░█
|
|
206
|
+
▄██ █▀▀ ██▄ █ █ █▄▀ ██▄ ▀▄▀
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### Generate Block Text Anywhere
|
|
210
|
+
- **Standalone CLI**:
|
|
211
|
+
```bash
|
|
212
|
+
block-font "MY TEXT" # 3D wireframe shadow
|
|
213
|
+
block-font "MY TEXT" --style mini # Compact 2-line
|
|
214
|
+
block-font "MY TEXT" --color bokchoy # Catppuccin Bok Choy Green
|
|
215
|
+
```
|
|
216
|
+
- **SpeiiDev CLI**: `speiidev --font "MY TEXT"`
|
|
217
|
+
- **In REPL**: `/font <text>` (or `/font --mini <text>`)
|
|
218
|
+
- **Python API**:
|
|
219
|
+
```python
|
|
220
|
+
from autodev.font import render_block_text, render_claude_3d_text
|
|
221
|
+
print(render_block_text("SPEIIDEV", style="claude"))
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### Claude Code Custom Output Style
|
|
225
|
+
Claude Code provides five built-in output styles (`default`, `concise`, `proactive`, `explanatory`, `learning`) and supports custom styles.
|
|
226
|
+
|
|
227
|
+
A custom style **`speiidev-block`** is included at `.claude/output-styles/speiidev-block.md` and `~/.claude/output-styles/speiidev-block.md`.
|
|
228
|
+
|
|
229
|
+
To activate it in Claude Code:
|
|
230
|
+
```
|
|
231
|
+
/output-style speiidev-block
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## Running Tests
|
|
237
|
+
|
|
238
|
+
### 1. Isolated Ephemeral Sandbox Test (Real Install Simulation)
|
|
239
|
+
Tests the complete packaging workflow from scratch—creating an isolated sandbox in `/tmp`, installing `autodev-orchestrator`, verifying real console binaries (`speiidev`, `block-font`), and running all tests with **zero changes to your system**:
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
python3 scripts/test_real_install.py
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### 2. Fast Unit Test Runner
|
|
246
|
+
Run the full 16-test automated suite directly:
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
python3 scripts/run_tests.py
|
|
250
|
+
# or
|
|
251
|
+
python3 -m unittest discover -s tests -v
|
|
252
|
+
|
|
253
|
+
# Run individual test suites
|
|
254
|
+
python3 -m unittest tests/test_font.py -v
|
|
255
|
+
python3 -m unittest tests/test_cli.py -v
|
|
256
|
+
python3 -m unittest tests/test_pixel_art.py -v
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## Project Structure
|
|
262
|
+
|
|
263
|
+
```
|
|
264
|
+
autodev/
|
|
265
|
+
├── .claude/
|
|
266
|
+
│ └── output-styles/ # Claude Code custom output styles
|
|
267
|
+
│ └── speiidev-block.md # 3D wireframe shadow font style
|
|
268
|
+
├── .gitignore # Git ignore rules for Python & Node
|
|
269
|
+
├── bin/ # Executable CLI launchers & wrappers
|
|
270
|
+
│ ├── block-font # 3D block font launcher
|
|
271
|
+
│ ├── cli.js # Node.js npm/npx wrapper
|
|
272
|
+
│ └── speiidev # SpeiiDev main executable launcher
|
|
273
|
+
├── scripts/ # Development & testing utilities
|
|
274
|
+
│ ├── run_tests.py # Automated unit test suite runner
|
|
275
|
+
│ └── test_real_install.py # Disposable sandbox install & test runner
|
|
276
|
+
├── src/ # Main Python package source
|
|
277
|
+
│ └── autodev/
|
|
278
|
+
│ ├── __init__.py # Package entrypoint & public exports
|
|
279
|
+
│ ├── __main__.py # Allows `python -m autodev`
|
|
280
|
+
│ ├── cli.py # Cross-platform SpeiiDev TUI orchestrator
|
|
281
|
+
│ ├── font.py # 3D wireframe shadow & 2-line font engine
|
|
282
|
+
│ └── pixel_art.py # TrueColor ANSI terminal pixel art utility
|
|
283
|
+
├── tests/ # Automated test suite
|
|
284
|
+
│ ├── __init__.py
|
|
285
|
+
│ ├── test_cli.py # CLI options, profiles, and state tests
|
|
286
|
+
│ ├── test_font.py # Claude 3D and 2-line font typography tests
|
|
287
|
+
│ └── test_pixel_art.py # TrueColor ANSI half-block renderer tests
|
|
288
|
+
├── CLAUDE.md # Instructions and branding for Claude Code
|
|
289
|
+
├── package.json # NPM wrapper configuration
|
|
290
|
+
├── pyproject.toml # Build configuration & entry points
|
|
291
|
+
├── README.md # Documentation
|
|
292
|
+
└── speiidev -> bin/speiidev # Root convenience symlink
|
|
293
|
+
```
|
|
294
|
+
├── __main__.py # Allows `python -m autodev`
|
|
295
|
+
├── font.py # 3D wireframe shadow & 2-line font engine
|
|
296
|
+
└── cli.py # Cross-platform SpeiiDev orchestrator & TUI with Bok Choy logo
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## License
|
|
302
|
+
|
|
303
|
+
MIT License. See [LICENSE](LICENSE) for details.
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
# autodev-orchestrator (SpeiiDev) 🥬
|
|
2
|
+
|
|
3
|
+
> **Interactive Multi-Agent Terminal User Interface (TUI)** and autonomous workflow orchestrator with pluggable AI coding agents, model switchers, diff gates, and conversation memory. Fully cross-platform across **macOS, Linux, and Windows**.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Architecture & Workflow
|
|
8
|
+
|
|
9
|
+
```mermaid
|
|
10
|
+
flowchart TD
|
|
11
|
+
UserTask["User Task / Prompt"] --> Architect["1. Architect / Planner (e.g. agy / claude / gemini)"]
|
|
12
|
+
Architect --> PlanFile["Writes PLAN.md (Phases, Signatures & Tests)"]
|
|
13
|
+
PlanFile --> ApprovalGate{"Plan Approval Gate"}
|
|
14
|
+
ApprovalGate -- Approved --> Builder["2. Builder Agent (e.g. opencode / agy / claude)"]
|
|
15
|
+
Builder --> DiffSnapshot["Snapshot & Color Diff Review (Approve / Revert)"]
|
|
16
|
+
DiffSnapshot --> Auditor["3. Auditor Review (Audits Diff & Runs Tests)"]
|
|
17
|
+
Auditor -- "STATUS: NEEDS_FIXES" --> FixLoop{"Auto-Fix Loop (Up to max retries)"}
|
|
18
|
+
FixLoop --> Builder
|
|
19
|
+
Auditor -- "STATUS: VERIFIED" --> Success(["✅ Verification Complete"])
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Key Features
|
|
25
|
+
|
|
26
|
+
- **Multi-Agent Orchestration**: Separate roles for **Planner/Auditor** (generates and verifies [`PLAN.md`](PLAN.md) without modifying source code) and **Builder** (implements the code).
|
|
27
|
+
- **Pluggable CLI Adapters**: Works seamlessly with:
|
|
28
|
+
- `agy` (*Google Antigravity CLI*)
|
|
29
|
+
- `opencode` (*OpenCode CLI*)
|
|
30
|
+
- `gemini` (*Google Gemini CLI*)
|
|
31
|
+
- `claude` (*Anthropic Claude Code CLI*)
|
|
32
|
+
- **100% Cross-Platform (macOS, Linux, & Windows)**:
|
|
33
|
+
- Resolves Windows `.cmd`, `.bat`, and `.exe` wrappers automatically via `get_safe_executable()`.
|
|
34
|
+
- Platform-aware subprocess handling (`shell=True` on Windows).
|
|
35
|
+
- Normalizes path operations using `pathlib.Path`.
|
|
36
|
+
- **Review & Approval Gate**:
|
|
37
|
+
- Live diff inspection with Rich syntax highlighting.
|
|
38
|
+
- Interactive file-by-file rollback support.
|
|
39
|
+
- Configurable permission gate (`ask`, `auto`, `deny`).
|
|
40
|
+
- **Rich Interactive TUI**:
|
|
41
|
+
- Built with `prompt_toolkit` and `rich`.
|
|
42
|
+
- TrueColor Pixel Art Green Bok Choy Cabbage logo.
|
|
43
|
+
- Keyboard shortcuts (`F2` Action Menu, `F3` Touched Files Activity Log).
|
|
44
|
+
- Live model switcher and reasoning effort adjuster.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Installation
|
|
49
|
+
|
|
50
|
+
### From Source
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
git clone https://github.com/your-username/autodev.git
|
|
54
|
+
cd autodev
|
|
55
|
+
|
|
56
|
+
# Install in editable mode
|
|
57
|
+
pip install -e .
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Dependencies
|
|
61
|
+
|
|
62
|
+
- Python `>= 3.9`
|
|
63
|
+
- `rich >= 13.0.0`
|
|
64
|
+
- `prompt_toolkit >= 3.0.0`
|
|
65
|
+
- *Optional:* `Pillow >= 9.0.0` (for image pixel art rendering)
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Quickstart
|
|
70
|
+
|
|
71
|
+
### Launch Interactive TUI
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
autodev
|
|
75
|
+
# or
|
|
76
|
+
speiidev
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Run an Automated Task Directly
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
autodev "Implement JWT authentication and unit tests"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Auto-Approve Plans and Diffs (`--yes`)
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
autodev -y "Refactor database models to SQLAlchemy 2.0"
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## CLI Options
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
usage: autodev [-h] [--plan-file PLAN_FILE] [--max-retries MAX_RETRIES]
|
|
97
|
+
[--conversation CONVERSATION]
|
|
98
|
+
[--planner {agy,opencode,gemini,claude}]
|
|
99
|
+
[--builder {agy,opencode,gemini,claude}]
|
|
100
|
+
[--planner-model PLANNER_MODEL]
|
|
101
|
+
[--builder-model BUILDER_MODEL]
|
|
102
|
+
[--planner-effort PLANNER_EFFORT]
|
|
103
|
+
[--builder-effort BUILDER_EFFORT]
|
|
104
|
+
[--permissions {ask,auto,deny}] [--no-splash] [--no-save] [-y]
|
|
105
|
+
[task ...]
|
|
106
|
+
|
|
107
|
+
positional arguments:
|
|
108
|
+
task Optional task to run immediately
|
|
109
|
+
|
|
110
|
+
options:
|
|
111
|
+
-h, --help Show this help message and exit
|
|
112
|
+
--plan-file PLAN_FILE Path to implementation plan (default: PLAN.md)
|
|
113
|
+
--max-retries N Maximum auto-fix loop attempts (default: 3)
|
|
114
|
+
--conversation UUID Antigravity conversation UUID to resume
|
|
115
|
+
--planner {agy,...} CLI backend for planner/auditor role
|
|
116
|
+
--builder {agy,...} CLI backend for builder role
|
|
117
|
+
--planner-model MODEL Model override for planner
|
|
118
|
+
--builder-model MODEL Model override for builder
|
|
119
|
+
--planner-effort EFF Reasoning effort for planner
|
|
120
|
+
--builder-effort EFF Reasoning effort for builder
|
|
121
|
+
--permissions MODE Permission gate mode: ask | auto | deny
|
|
122
|
+
--font FONT Render text in 2-line Unicode block art font and exit
|
|
123
|
+
--no-splash Skip the boot animation
|
|
124
|
+
--no-save Do not persist session state to disk
|
|
125
|
+
-y, --yes Auto-approve all plans and diffs (permissions: auto)
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Interactive Slash Commands & Keybindings
|
|
131
|
+
|
|
132
|
+
| Key / Command | Description |
|
|
133
|
+
| :--- | :--- |
|
|
134
|
+
| **`F2`** | Open interactive Action Menu (navigate with arrow keys) |
|
|
135
|
+
| **`F3`** | Activity viewer — inspect files and commands touched by agents |
|
|
136
|
+
| **`/plan <task>`** | Run only the planner to generate/update `PLAN.md` |
|
|
137
|
+
| **`/build`** | Run only the builder to implement code changes |
|
|
138
|
+
| **`/audit`** | Run only the auditor to test and verify implementation |
|
|
139
|
+
| **`/diff`** | Show color-coded git diff (`+` green new / `-` red old) |
|
|
140
|
+
| **`/show`** | Render `PLAN.md` formatted with Rich Markdown |
|
|
141
|
+
| **`/font <text>`** | Render text in 2-line Unicode block art font |
|
|
142
|
+
| **`/model`** | Search and select models for planner or builder |
|
|
143
|
+
| **`/effort`** | Adjust reasoning intensity level |
|
|
144
|
+
| **`/perms`** | Configure permission gate mode and manage approvals |
|
|
145
|
+
| **`/auto`** | Toggle auto-approve mode on/off |
|
|
146
|
+
| **`/conv <id>`** | Set or clear persistent conversation ID |
|
|
147
|
+
| **`/log`** | View background activity log and touched files |
|
|
148
|
+
| **`/clear`** | Clear screen and redraw banner |
|
|
149
|
+
| **`/help`** | Display command reference table |
|
|
150
|
+
| **`/exit`** | Quit application |
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Typography & Art Styles
|
|
155
|
+
|
|
156
|
+
SpeiiDev features two terminal typography engines:
|
|
157
|
+
|
|
158
|
+
### 1. Claude 3D Wireframe Shadow (Default)
|
|
159
|
+
Chunky block lettering with an isometric double-line wireframe drop shadow (`═`, `║`, `╚`, `╝`, `╗`, `╔`) in Anthropic Coral (`#D97757`) or Catppuccin Green (`#A6E3A1`):
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
▄██████╗ ██╗ ▄█████╗ ██╗ ██╗ ██████╗ ███████╗
|
|
163
|
+
██╔════╝║ ██║ ██╔═══██╗ ██║ ██║ ██╔══██╗ ██╔════╝║
|
|
164
|
+
██║ ║ ██║ █████████║ ██║ ██║ ██║ ██║ █████╗ ║
|
|
165
|
+
██║ ║ ██║ ██╔═══███║ ██║ ██║ ██║ ██║ ██╔══╝ ║
|
|
166
|
+
▀██████╗║ ███████╗ ██║ ███║ ╚███████║ ██████╔╝ ███████╗║
|
|
167
|
+
╚═════╝╝ ╚══════╝╝ ╚═╝ ╚══╝╝ ╚══════╝╝ ╚═════╝╝ ╚══════╝╝
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### 2. Compact 2-Line Half-Block Font
|
|
171
|
+
Ultra-compact 2-line terminal font for narrow displays:
|
|
172
|
+
|
|
173
|
+
```
|
|
174
|
+
▄▀▀ █▀█ █▀▀ █ █ █▀▄ █▀▀ █░█
|
|
175
|
+
▄██ █▀▀ ██▄ █ █ █▄▀ ██▄ ▀▄▀
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Generate Block Text Anywhere
|
|
179
|
+
- **Standalone CLI**:
|
|
180
|
+
```bash
|
|
181
|
+
block-font "MY TEXT" # 3D wireframe shadow
|
|
182
|
+
block-font "MY TEXT" --style mini # Compact 2-line
|
|
183
|
+
block-font "MY TEXT" --color bokchoy # Catppuccin Bok Choy Green
|
|
184
|
+
```
|
|
185
|
+
- **SpeiiDev CLI**: `speiidev --font "MY TEXT"`
|
|
186
|
+
- **In REPL**: `/font <text>` (or `/font --mini <text>`)
|
|
187
|
+
- **Python API**:
|
|
188
|
+
```python
|
|
189
|
+
from autodev.font import render_block_text, render_claude_3d_text
|
|
190
|
+
print(render_block_text("SPEIIDEV", style="claude"))
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Claude Code Custom Output Style
|
|
194
|
+
Claude Code provides five built-in output styles (`default`, `concise`, `proactive`, `explanatory`, `learning`) and supports custom styles.
|
|
195
|
+
|
|
196
|
+
A custom style **`speiidev-block`** is included at `.claude/output-styles/speiidev-block.md` and `~/.claude/output-styles/speiidev-block.md`.
|
|
197
|
+
|
|
198
|
+
To activate it in Claude Code:
|
|
199
|
+
```
|
|
200
|
+
/output-style speiidev-block
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Running Tests
|
|
206
|
+
|
|
207
|
+
### 1. Isolated Ephemeral Sandbox Test (Real Install Simulation)
|
|
208
|
+
Tests the complete packaging workflow from scratch—creating an isolated sandbox in `/tmp`, installing `autodev-orchestrator`, verifying real console binaries (`speiidev`, `block-font`), and running all tests with **zero changes to your system**:
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
python3 scripts/test_real_install.py
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### 2. Fast Unit Test Runner
|
|
215
|
+
Run the full 16-test automated suite directly:
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
python3 scripts/run_tests.py
|
|
219
|
+
# or
|
|
220
|
+
python3 -m unittest discover -s tests -v
|
|
221
|
+
|
|
222
|
+
# Run individual test suites
|
|
223
|
+
python3 -m unittest tests/test_font.py -v
|
|
224
|
+
python3 -m unittest tests/test_cli.py -v
|
|
225
|
+
python3 -m unittest tests/test_pixel_art.py -v
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## Project Structure
|
|
231
|
+
|
|
232
|
+
```
|
|
233
|
+
autodev/
|
|
234
|
+
├── .claude/
|
|
235
|
+
│ └── output-styles/ # Claude Code custom output styles
|
|
236
|
+
│ └── speiidev-block.md # 3D wireframe shadow font style
|
|
237
|
+
├── .gitignore # Git ignore rules for Python & Node
|
|
238
|
+
├── bin/ # Executable CLI launchers & wrappers
|
|
239
|
+
│ ├── block-font # 3D block font launcher
|
|
240
|
+
│ ├── cli.js # Node.js npm/npx wrapper
|
|
241
|
+
│ └── speiidev # SpeiiDev main executable launcher
|
|
242
|
+
├── scripts/ # Development & testing utilities
|
|
243
|
+
│ ├── run_tests.py # Automated unit test suite runner
|
|
244
|
+
│ └── test_real_install.py # Disposable sandbox install & test runner
|
|
245
|
+
├── src/ # Main Python package source
|
|
246
|
+
│ └── autodev/
|
|
247
|
+
│ ├── __init__.py # Package entrypoint & public exports
|
|
248
|
+
│ ├── __main__.py # Allows `python -m autodev`
|
|
249
|
+
│ ├── cli.py # Cross-platform SpeiiDev TUI orchestrator
|
|
250
|
+
│ ├── font.py # 3D wireframe shadow & 2-line font engine
|
|
251
|
+
│ └── pixel_art.py # TrueColor ANSI terminal pixel art utility
|
|
252
|
+
├── tests/ # Automated test suite
|
|
253
|
+
│ ├── __init__.py
|
|
254
|
+
│ ├── test_cli.py # CLI options, profiles, and state tests
|
|
255
|
+
│ ├── test_font.py # Claude 3D and 2-line font typography tests
|
|
256
|
+
│ └── test_pixel_art.py # TrueColor ANSI half-block renderer tests
|
|
257
|
+
├── CLAUDE.md # Instructions and branding for Claude Code
|
|
258
|
+
├── package.json # NPM wrapper configuration
|
|
259
|
+
├── pyproject.toml # Build configuration & entry points
|
|
260
|
+
├── README.md # Documentation
|
|
261
|
+
└── speiidev -> bin/speiidev # Root convenience symlink
|
|
262
|
+
```
|
|
263
|
+
├── __main__.py # Allows `python -m autodev`
|
|
264
|
+
├── font.py # 3D wireframe shadow & 2-line font engine
|
|
265
|
+
└── cli.py # Cross-platform SpeiiDev orchestrator & TUI with Bok Choy logo
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
## License
|
|
271
|
+
|
|
272
|
+
MIT License. See [LICENSE](LICENSE) for details.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61.0"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "autodev-orchestrator"
|
|
7
|
+
version = "1.0.0"
|
|
8
|
+
description = "Interactive Multi-Agent TUI with pluggable agents, model switcher, diff gate, and conversation memory."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.9"
|
|
11
|
+
license = { text = "MIT" }
|
|
12
|
+
authors = [
|
|
13
|
+
{ name = "SpeiiDev Team" }
|
|
14
|
+
]
|
|
15
|
+
keywords = [
|
|
16
|
+
"multi-agent",
|
|
17
|
+
"orchestrator",
|
|
18
|
+
"ai",
|
|
19
|
+
"tui",
|
|
20
|
+
"claude",
|
|
21
|
+
"gemini",
|
|
22
|
+
"opencode",
|
|
23
|
+
"antigravity",
|
|
24
|
+
"developer-tools",
|
|
25
|
+
]
|
|
26
|
+
classifiers = [
|
|
27
|
+
"Development Status :: 4 - Beta",
|
|
28
|
+
"Environment :: Console",
|
|
29
|
+
"Intended Audience :: Developers",
|
|
30
|
+
"License :: OSI Approved :: MIT License",
|
|
31
|
+
"Operating System :: OS Independent",
|
|
32
|
+
"Operating System :: MacOS",
|
|
33
|
+
"Operating System :: Microsoft :: Windows",
|
|
34
|
+
"Operating System :: POSIX :: Linux",
|
|
35
|
+
"Programming Language :: Python :: 3",
|
|
36
|
+
"Programming Language :: Python :: 3.9",
|
|
37
|
+
"Programming Language :: Python :: 3.10",
|
|
38
|
+
"Programming Language :: Python :: 3.11",
|
|
39
|
+
"Programming Language :: Python :: 3.12",
|
|
40
|
+
"Programming Language :: Python :: 3.13",
|
|
41
|
+
"Programming Language :: Python :: 3.14",
|
|
42
|
+
"Topic :: Software Development :: Code Generators",
|
|
43
|
+
"Topic :: Software Development :: Quality Assurance",
|
|
44
|
+
]
|
|
45
|
+
dependencies = [
|
|
46
|
+
"rich>=13.0.0",
|
|
47
|
+
"prompt_toolkit>=3.0.0",
|
|
48
|
+
]
|
|
49
|
+
|
|
50
|
+
[project.optional-dependencies]
|
|
51
|
+
image = [
|
|
52
|
+
"Pillow>=9.0.0",
|
|
53
|
+
]
|
|
54
|
+
|
|
55
|
+
[project.scripts]
|
|
56
|
+
speiidev = "autodev.cli:main"
|
|
57
|
+
autodev = "autodev.cli:main"
|
|
58
|
+
block-font = "autodev.font:main"
|
|
59
|
+
render-pixel-art = "autodev.pixel_art:main"
|
|
60
|
+
|
|
61
|
+
[tool.setuptools.packages.find]
|
|
62
|
+
where = ["src"]
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"""
|
|
2
|
+
autodev: Interactive Multi-Agent TUI with pluggable agents, model switcher,
|
|
3
|
+
diff gate, and conversation memory.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from autodev.cli import (
|
|
7
|
+
AgentProfile,
|
|
8
|
+
AgentState,
|
|
9
|
+
FileChange,
|
|
10
|
+
PROFILES,
|
|
11
|
+
main,
|
|
12
|
+
)
|
|
13
|
+
from autodev.font import (
|
|
14
|
+
BLOCK_FONT,
|
|
15
|
+
CLAUDE_3D_FONT,
|
|
16
|
+
render_block_text,
|
|
17
|
+
render_claude_3d_text,
|
|
18
|
+
)
|
|
19
|
+
from autodev.pixel_art import (
|
|
20
|
+
detect_background_mask,
|
|
21
|
+
load_and_resize_image,
|
|
22
|
+
render_pixel_art,
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
__version__ = "1.0.0"
|
|
26
|
+
__all__ = [
|
|
27
|
+
"AgentProfile",
|
|
28
|
+
"AgentState",
|
|
29
|
+
"FileChange",
|
|
30
|
+
"PROFILES",
|
|
31
|
+
"BLOCK_FONT",
|
|
32
|
+
"CLAUDE_3D_FONT",
|
|
33
|
+
"render_block_text",
|
|
34
|
+
"render_claude_3d_text",
|
|
35
|
+
"render_pixel_art",
|
|
36
|
+
"detect_background_mask",
|
|
37
|
+
"load_and_resize_image",
|
|
38
|
+
"main",
|
|
39
|
+
"__version__",
|
|
40
|
+
]
|