hablas-ai 1.3.18 → 1.3.20
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.
- package/CHANGELOG.md +37 -0
- package/README.md +130 -85
- package/dist/index.js +227 -324
- package/package.json +5 -6
- package/postinstall.js +8 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,43 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [1.3.20] — 2026-06-12 · Stable Runtime Recovery
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
- Removed public mode-era commands from the stable CLI surface:
|
|
14
|
+
- `hablas build`
|
|
15
|
+
- `hablas design`
|
|
16
|
+
- `hablas ask`
|
|
17
|
+
- `/mode`
|
|
18
|
+
- Re-centered the product around a **single command surface**:
|
|
19
|
+
- `hablas`
|
|
20
|
+
- `hablas run "..."`
|
|
21
|
+
- Replaced visible mode thinking with an internal unified runtime model based on:
|
|
22
|
+
- `executionPath: direct | team`
|
|
23
|
+
- `taskKind: conversation | analysis | implementation`
|
|
24
|
+
- Updated the interactive REPL and non-interactive `run` command to enter through the unified runtime path first.
|
|
25
|
+
- Simplified setup and help messaging to match the stable mental model.
|
|
26
|
+
|
|
27
|
+
### Removed
|
|
28
|
+
- Hidden gate-based routing from the active stable-line code path.
|
|
29
|
+
- Gate defaults from agent model configuration.
|
|
30
|
+
- Gate mindset registration from the built-in mindset registry.
|
|
31
|
+
|
|
32
|
+
### Added
|
|
33
|
+
- Unified runtime regression smoke tests covering:
|
|
34
|
+
- direct casual handling
|
|
35
|
+
- direct quick questions
|
|
36
|
+
- team analysis routing
|
|
37
|
+
- continuity routing
|
|
38
|
+
- one-step delivery routing
|
|
39
|
+
- Stable runtime recovery documentation in:
|
|
40
|
+
- `docs/stable-runtime-recovery-plan-2026-06-12.md`
|
|
41
|
+
|
|
42
|
+
### Verified
|
|
43
|
+
- `npm test` passes
|
|
44
|
+
- `npm run build` passes
|
|
45
|
+
- CLI help no longer exposes removed public mode commands
|
|
46
|
+
|
|
10
47
|
## [1.0.0] — 2026-05-31 · **First Public Release**
|
|
11
48
|
|
|
12
49
|
The first formal, polished, production-ready release of Hablas CLI. Months of
|
package/README.md
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
**Premium multi-agent AI coding agent for your terminal**
|
|
6
6
|
|
|
7
|
-
Local-first · Cloud-compatible ·
|
|
7
|
+
Local-first · Cloud-compatible · One command surface · Internal specialist coordination
|
|
8
8
|
|
|
9
9
|
*by [Abdulmoin Hablas](https://portfolio-monopoly63s-projects.vercel.app/)*
|
|
10
10
|
|
|
11
11
|
[](LICENSE)
|
|
12
|
-
[](CHANGELOG.md)
|
|
13
13
|
[](https://nodejs.org)
|
|
14
14
|
[](https://www.typescriptlang.org)
|
|
15
15
|
|
|
@@ -19,47 +19,47 @@ Local-first · Cloud-compatible · Watch the team work in front of you
|
|
|
19
19
|
|
|
20
20
|
## ✦ Overview
|
|
21
21
|
|
|
22
|
-
**Hablas** is a
|
|
23
|
-
Unlike single-model assistants, Hablas leads a **team of specialists** —
|
|
24
|
-
Emma (Product), Bob (Architect), Alex (Engineer), David (Analyst) — and
|
|
25
|
-
**you watch them collaborate live**, in character, while Hablas (the Team
|
|
26
|
-
Leader) remains your single point of contact.
|
|
22
|
+
**Hablas** is a terminal AI development system with a **single user-facing agent** and an **internal team of specialists**.
|
|
27
23
|
|
|
28
|
-
|
|
29
|
-
|
|
24
|
+
You talk only to **Hablas**. Internally, Hablas can coordinate:
|
|
25
|
+
- **Emma** for product framing and requirements
|
|
26
|
+
- **Bob** for architecture and systems design
|
|
27
|
+
- **Alex** for implementation and debugging
|
|
28
|
+
- **David** for research and supporting analysis
|
|
30
29
|
|
|
31
|
-
|
|
30
|
+
The current stable direction is intentionally simple:
|
|
31
|
+
- no visible mode system
|
|
32
|
+
- no hidden theatrical router persona
|
|
33
|
+
- one unified runtime that decides, internally and honestly, between:
|
|
34
|
+
- **direct leader handling** for simple turns
|
|
35
|
+
- **coordinated team execution** for serious engineering work
|
|
32
36
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
- **
|
|
39
|
-
|
|
37
|
+
Hablas runs **locally via Ollama**, or against **any OpenAI-compatible API**
|
|
38
|
+
including **NVIDIA NIM**, OpenAI, Groq, Together, OpenRouter, and others.
|
|
39
|
+
|
|
40
|
+
### ✨ Stable-line principles
|
|
41
|
+
|
|
42
|
+
- **Single command surface** — use `hablas` interactively or `hablas run "..."` non-interactively.
|
|
43
|
+
- **Architectural honesty** — routing is internal runtime behavior, not a public mode maze.
|
|
44
|
+
- **Leader-first UX** — the user speaks to Hablas only; specialists stay internal.
|
|
45
|
+
- **Real execution paths** — direct turns use the main agentic loop; coordinated turns use the internal team.
|
|
46
|
+
- **Continuity-aware** — unfinished project requests can stay on the team path and reuse context.
|
|
47
|
+
- **One-step delivery support** — requests like “finished project, no questions” preserve a dedicated internal flag.
|
|
40
48
|
|
|
41
49
|
### Key Features
|
|
42
50
|
|
|
43
|
-
- **
|
|
44
|
-
|
|
45
|
-
- **
|
|
46
|
-
- **
|
|
47
|
-
- **
|
|
48
|
-
|
|
49
|
-
- **
|
|
50
|
-
- **
|
|
51
|
-
|
|
52
|
-
- **
|
|
53
|
-
|
|
54
|
-
- **
|
|
55
|
-
importance decay, shared notebook, auto-injection of mentioned files.
|
|
56
|
-
- **Premium TUI** — executive-silver theme, spinners, progress, plan
|
|
57
|
-
boxes, session summaries.
|
|
58
|
-
- **Three-tier safety** — `safe / confirm / dangerous` per tool.
|
|
59
|
-
- **Ctrl+C UX** — single = cancel current op, double = exit cleanly.
|
|
60
|
-
- **Auto Mode** — `--auto` skips tool confirmations for scripting
|
|
61
|
-
(plan approval still required).
|
|
62
|
-
- **Checkpoints & Undo** — `/checkpoint save|restore`, `/undo`.
|
|
51
|
+
- **Unified Runtime** — one internal runtime decides `direct` vs `team` execution.
|
|
52
|
+
- **Multi-Agent Coordination** — Hablas can internally orchestrate Emma, Bob, Alex, and David.
|
|
53
|
+
- **Dual Provider** — Ollama (local), NVIDIA NIM, or any OpenAI-compatible API.
|
|
54
|
+
- **Dynamic Model Discovery** — `/models` lists everything your provider exposes.
|
|
55
|
+
- **Agentic Loop** — multi-step tool execution with retries, tool safety, and recovery hints.
|
|
56
|
+
- **Built-in Tools** — file ops, shell, codebase search, web search, scraping, PDF reading, code execution, and more.
|
|
57
|
+
- **Smart Context** — project-aware prompts, persistent memory, shared notebook, and file auto-injection.
|
|
58
|
+
- **Premium TUI** — executive-silver terminal UI with team rendering and status components.
|
|
59
|
+
- **Three-tier safety** — `safe / confirm / dangerous` tool policy behavior.
|
|
60
|
+
- **Ctrl+C UX** — single press cancels the current op, double press exits cleanly.
|
|
61
|
+
- **Auto Mode** — `--auto` skips tool confirmations when appropriate.
|
|
62
|
+
- **Checkpoints & Undo** — `/checkpoint ...`, `/undo ...`.
|
|
63
63
|
- **Team Mode** — optional Supabase + Git-based locks and presence sync.
|
|
64
64
|
|
|
65
65
|
---
|
|
@@ -71,7 +71,7 @@ git clone https://github.com/Monopoly63/mobile-bot.git
|
|
|
71
71
|
cd mobile-bot/flowagent
|
|
72
72
|
npm install
|
|
73
73
|
npm run build
|
|
74
|
-
npm link
|
|
74
|
+
npm link
|
|
75
75
|
```
|
|
76
76
|
|
|
77
77
|
### Requirements
|
|
@@ -82,7 +82,11 @@ npm link # exposes the `hablas` command globally
|
|
|
82
82
|
- An **OpenAI-compatible API** key
|
|
83
83
|
- **NVIDIA NIM** API key
|
|
84
84
|
|
|
85
|
-
First run launches a setup wizard. You can re-run it anytime with
|
|
85
|
+
First run launches a setup wizard. You can re-run it anytime with:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
hablas --setup
|
|
89
|
+
```
|
|
86
90
|
|
|
87
91
|
---
|
|
88
92
|
|
|
@@ -92,7 +96,10 @@ First run launches a setup wizard. You can re-run it anytime with `hablas --setu
|
|
|
92
96
|
# Interactive REPL
|
|
93
97
|
hablas
|
|
94
98
|
|
|
95
|
-
#
|
|
99
|
+
# Interactive REPL with auto-confirm for tools
|
|
100
|
+
hablas --auto
|
|
101
|
+
|
|
102
|
+
# One-shot unified runtime execution
|
|
96
103
|
hablas run "refactor src/auth.ts to use bcrypt"
|
|
97
104
|
|
|
98
105
|
# Generate a commit message from staged changes
|
|
@@ -107,6 +114,27 @@ hablas doctor
|
|
|
107
114
|
|
|
108
115
|
---
|
|
109
116
|
|
|
117
|
+
## ✦ Mental Model
|
|
118
|
+
|
|
119
|
+
Hablas no longer exposes public modes like `build`, `design`, or `ask`.
|
|
120
|
+
|
|
121
|
+
Instead, every request goes through one internal runtime:
|
|
122
|
+
|
|
123
|
+
1. **User input**
|
|
124
|
+
2. **Unified runtime routing**
|
|
125
|
+
3. **Direct leader path** *or* **coordinated team path**
|
|
126
|
+
4. **Final answer from Hablas**
|
|
127
|
+
|
|
128
|
+
Examples:
|
|
129
|
+
|
|
130
|
+
- `hi` → direct reply
|
|
131
|
+
- `what is the current version of this project?` → direct reply
|
|
132
|
+
- `design the architecture for auth` → team analysis path
|
|
133
|
+
- `continue the unfinished flower store project` → team continuity path
|
|
134
|
+
- `just give me the finished project in one step no questions` → team one-step delivery path
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
110
138
|
## ✦ Commands Reference
|
|
111
139
|
|
|
112
140
|
### Core Slash Commands
|
|
@@ -117,7 +145,7 @@ hablas doctor
|
|
|
117
145
|
| `/about` · `/version` | Identity & version info |
|
|
118
146
|
| `/team` · `/agents` | Team roster · multi-agent system status |
|
|
119
147
|
| `/agents on\|off\|status\|models` | Toggle and inspect agents |
|
|
120
|
-
| `/delegate <agent> <task>` | Manually assign a task to one
|
|
148
|
+
| `/delegate <agent> <task>` | Manually assign a task to one visible specialist |
|
|
121
149
|
| `/mindset <name>` · `/mindsets` | Switch / list agent mindsets |
|
|
122
150
|
| `/clear` · `/history [n]` | Reset context · show recent turns |
|
|
123
151
|
| `/status` · `/quit` | Show status · exit |
|
|
@@ -127,7 +155,7 @@ hablas doctor
|
|
|
127
155
|
| Command | Description |
|
|
128
156
|
|---|---|
|
|
129
157
|
| `/model [name]` | Show or switch the active model |
|
|
130
|
-
| `/models [page\|query]` | Browse available models
|
|
158
|
+
| `/models [page\|query]` | Browse available models |
|
|
131
159
|
| `/provider [ollama\|nvidia\|custom\|test]` | Switch / test the provider |
|
|
132
160
|
| `/addmodel` · `/listmodels` · `/usemodel <name>` · `/removemodel <name>` | Manage saved provider profiles |
|
|
133
161
|
|
|
@@ -149,18 +177,18 @@ hablas doctor
|
|
|
149
177
|
| Command | Description |
|
|
150
178
|
|---|---|
|
|
151
179
|
| `/memory [set\|del\|search\|clear]` | Persistent project memory |
|
|
152
|
-
| `/learn "<preference>"` | Teach the agent a preference
|
|
180
|
+
| `/learn "<preference>"` | Teach the agent a preference |
|
|
153
181
|
| `/context [set\|get\|del\|decisions\|clear]` | Cross-agent shared notebook |
|
|
154
|
-
| `/plan status\|finish\|next\|reset` | Inspect the active plan |
|
|
182
|
+
| `/plan status\|finish\|next\|reset` | Inspect the active plan state if one exists |
|
|
155
183
|
|
|
156
184
|
### Plugins & Diagnostics
|
|
157
185
|
|
|
158
186
|
| Command | Description |
|
|
159
187
|
|---|---|
|
|
160
|
-
| `/plugins [enable\|disable]` | Manage plugins (
|
|
188
|
+
| `/plugins [enable\|disable]` | Manage plugins (`~/.hablas/plugins/`) |
|
|
161
189
|
| `/alias [set\|del]` | Custom command aliases |
|
|
162
190
|
| `/doctor` | System diagnostics |
|
|
163
|
-
| `/session save\|list` | Save/load conversation state |
|
|
191
|
+
| `/session save\|list\|load` | Save/load conversation state |
|
|
164
192
|
|
|
165
193
|
---
|
|
166
194
|
|
|
@@ -172,12 +200,12 @@ hablas doctor
|
|
|
172
200
|
| `-p, --project <path>` | Set the working directory |
|
|
173
201
|
| `--provider <ollama\|custom\|nvidia>` | Choose LLM provider |
|
|
174
202
|
| `--api-url <url>` · `--api-key <key>` | Configure custom/NVIDIA provider |
|
|
175
|
-
| `--auto` | Skip tool confirmations
|
|
203
|
+
| `--auto` | Skip tool confirmations where allowed |
|
|
176
204
|
| `--timeout <ms>` | Per-request timeout (default 120000) |
|
|
177
205
|
| `--theme <dark\|light\|galaxy\|ocean\|forest>` | UI theme |
|
|
178
206
|
| `--team --user <name> --team-key <pwd>` | Enable Team Mode |
|
|
179
207
|
| `--setup` | Run the first-time wizard |
|
|
180
|
-
| `hablas run "<prompt>"` | Non-interactive
|
|
208
|
+
| `hablas run "<prompt>"` | Non-interactive unified runtime execution |
|
|
181
209
|
| `hablas commit` · `pr` · `changelog` | Git intelligence sub-commands |
|
|
182
210
|
| `hablas info` · `doctor` · `security` · `stats` | Project insights |
|
|
183
211
|
| `hablas api --port 8080` | Start the REST API server |
|
|
@@ -191,10 +219,10 @@ hablas doctor
|
|
|
191
219
|
| `read_file`, `list_dir`, `get_file_info` | Read filesystem | safe |
|
|
192
220
|
| `write_file`, `edit_file`, `patch_file`, `append_to_file`, `search_and_replace` | Mutate files | confirm |
|
|
193
221
|
| `delete_file`, `move_file`, `create_dir` | Manage paths | dangerous / confirm |
|
|
194
|
-
| `run_command` | Shell execution (
|
|
195
|
-
| `search_codebase` |
|
|
222
|
+
| `run_command` | Shell execution (timeout + blocklist) | dangerous |
|
|
223
|
+
| `search_codebase` | Codebase search | safe |
|
|
196
224
|
| `detect_bugs` | Static analysis | safe |
|
|
197
|
-
| `web_search` |
|
|
225
|
+
| `web_search` | Web search | safe |
|
|
198
226
|
| `scrape_url`, `extract_links` | HTML scraping | safe |
|
|
199
227
|
| `read_pdf`, `pdf_metadata` | PDF reading | safe |
|
|
200
228
|
| `execute_code` | Sandboxed code execution | confirm |
|
|
@@ -203,7 +231,7 @@ hablas doctor
|
|
|
203
231
|
|
|
204
232
|
## ✦ Configuration
|
|
205
233
|
|
|
206
|
-
Config lives at **`~/.hablas/config.json`**.
|
|
234
|
+
Config lives at **`~/.hablas/config.json`**.
|
|
207
235
|
|
|
208
236
|
| File | Purpose |
|
|
209
237
|
|---|---|
|
|
@@ -217,25 +245,18 @@ Config lives at **`~/.hablas/config.json`**. Sub-files:
|
|
|
217
245
|
|
|
218
246
|
---
|
|
219
247
|
|
|
220
|
-
## ✦ The
|
|
248
|
+
## ✦ The Internal Team
|
|
221
249
|
|
|
222
|
-
| Agent | Title |
|
|
223
|
-
|---|---|---|---|
|
|
224
|
-
| **★ Hablas** | Team Leader | Coordination, planning, synthesis, the only one you talk to | INTJ, authoritative, terse |
|
|
225
|
-
| **◆ Emma** | Product Manager | Requirements, PRDs, user stories | Calm, structured |
|
|
226
|
-
| **◆ Bob** | Architect | System design, schemas, contracts, peer-reviews Alex | Methodical, principled |
|
|
227
|
-
| **◆ Alex** | Engineer | Implementation, debugging, tests | Pragmatic, action-biased |
|
|
228
|
-
| **◆ David** | Data Analyst | Research, documentation, comparisons | Factual, evidence-driven |
|
|
229
|
-
|
|
230
|
-
Routing is automatic and complexity-aware (T-shirt sizing):
|
|
231
|
-
|
|
232
|
-
| Size | Trigger | Behavior |
|
|
250
|
+
| Agent | Title | Primary Responsibility |
|
|
233
251
|
|---|---|---|
|
|
234
|
-
| **
|
|
235
|
-
| **
|
|
236
|
-
| **
|
|
237
|
-
| **
|
|
238
|
-
| **
|
|
252
|
+
| **★ Hablas** | Team Leader | User interface, routing, synthesis, final delivery |
|
|
253
|
+
| **◆ Emma** | Product Manager | Requirements, framing, PRDs, scope |
|
|
254
|
+
| **◆ Bob** | Architect | Architecture, structure, trade-offs |
|
|
255
|
+
| **◆ Alex** | Engineer | Implementation, debugging, code changes |
|
|
256
|
+
| **◆ David** | Data Analyst | Research, comparisons, supporting analysis |
|
|
257
|
+
|
|
258
|
+
The user speaks to **Hablas only**.
|
|
259
|
+
The rest of the team is an internal execution system.
|
|
239
260
|
|
|
240
261
|
---
|
|
241
262
|
|
|
@@ -245,10 +266,13 @@ Routing is automatic and complexity-aware (T-shirt sizing):
|
|
|
245
266
|
# Read, then edit
|
|
246
267
|
> read src/auth.ts and add JWT validation
|
|
247
268
|
|
|
248
|
-
#
|
|
249
|
-
> design
|
|
269
|
+
# Architecture-heavy request
|
|
270
|
+
> design the architecture for a /users endpoint with tests and clear module boundaries
|
|
271
|
+
|
|
272
|
+
# Continuity request
|
|
273
|
+
> continue the unfinished flower store project from the previous PRD
|
|
250
274
|
|
|
251
|
-
# Specific
|
|
275
|
+
# Specific visible specialist
|
|
252
276
|
> /delegate bob design the cache layer for the search API
|
|
253
277
|
|
|
254
278
|
# Git workflow
|
|
@@ -265,14 +289,14 @@ Routing is automatic and complexity-aware (T-shirt sizing):
|
|
|
265
289
|
|
|
266
290
|
## ✦ Architecture
|
|
267
291
|
|
|
268
|
-
```
|
|
292
|
+
```text
|
|
269
293
|
src/
|
|
270
|
-
├── repl/ REPL loop, slash commands,
|
|
271
|
-
├── agents/
|
|
272
|
-
├──
|
|
273
|
-
├── llm/ Unified provider (Ollama/Custom/NVIDIA)
|
|
294
|
+
├── repl/ REPL loop, slash commands, terminal rendering
|
|
295
|
+
├── agents/ Agent runner, conductor, channel, shared execution engine
|
|
296
|
+
├── runtime/ Unified router, contracts, planner, state, reviewer
|
|
297
|
+
├── llm/ Unified provider layer (Ollama/Custom/NVIDIA)
|
|
274
298
|
├── mindset/ Per-agent system prompts
|
|
275
|
-
├── tools/ Tool registry +
|
|
299
|
+
├── tools/ Tool registry + built-in tools
|
|
276
300
|
├── context/ Session, memory, shared notebook, auto-inject
|
|
277
301
|
├── config/ Defaults + JSON loader
|
|
278
302
|
├── collaboration/ Optional Team Mode (Supabase + Git locks)
|
|
@@ -284,21 +308,42 @@ src/
|
|
|
284
308
|
└── utils/ logger, diff, tokens
|
|
285
309
|
```
|
|
286
310
|
|
|
287
|
-
|
|
288
|
-
|
|
311
|
+
Stable-line architecture focus:
|
|
312
|
+
- **one runtime entry**
|
|
313
|
+
- **direct vs team execution path**
|
|
314
|
+
- **single leader UX**
|
|
315
|
+
- **no public mode system**
|
|
289
316
|
|
|
290
317
|
---
|
|
291
318
|
|
|
292
319
|
## ✦ Development
|
|
293
320
|
|
|
294
321
|
```bash
|
|
295
|
-
npm install
|
|
296
|
-
npm run build
|
|
297
|
-
npm run lint
|
|
298
|
-
npm test
|
|
299
|
-
npm run dev -- run "your prompt"
|
|
322
|
+
npm install
|
|
323
|
+
npm run build
|
|
324
|
+
npm run lint
|
|
325
|
+
npm test
|
|
326
|
+
npm run dev -- run "your prompt"
|
|
300
327
|
```
|
|
301
328
|
|
|
329
|
+
Current automated verification includes:
|
|
330
|
+
- agent channel tests
|
|
331
|
+
- execution parity tests
|
|
332
|
+
- unified runtime routing regression tests
|
|
333
|
+
|
|
334
|
+
---
|
|
335
|
+
|
|
336
|
+
## ✦ Documentation Notes
|
|
337
|
+
|
|
338
|
+
Some older design documents in `docs/` describe intermediate runtime experiments
|
|
339
|
+
such as visible modes or hidden gate-based routing.
|
|
340
|
+
|
|
341
|
+
For the current stable direction, start with:
|
|
342
|
+
- `docs/stable-runtime-recovery-plan-2026-06-12.md`
|
|
343
|
+
|
|
344
|
+
Treat older redesign / migration docs as **historical context**, not as the
|
|
345
|
+
current product surface.
|
|
346
|
+
|
|
302
347
|
---
|
|
303
348
|
|
|
304
349
|
## ✦ Author
|