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.
@@ -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,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -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
+ ]
@@ -0,0 +1,11 @@
1
+ """
2
+ Entrypoint for `python -m autodev`.
3
+ """
4
+
5
+ from __future__ import annotations
6
+
7
+ import sys
8
+ from autodev.cli import main
9
+
10
+ if __name__ == "__main__":
11
+ sys.exit(main())