@nomad-e/bluma-cli 0.0.10 → 0.0.12
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/README.md +54 -1
- package/dist/config/bluma-mcp.json +0 -13
- package/dist/config/native_tools.json +0 -3
- package/dist/main.js +581 -257
- package/package.json +57 -55
package/README.md
CHANGED
|
@@ -193,7 +193,45 @@ npm run dev # (If configured, hot-reload/TS watch)
|
|
|
193
193
|
---
|
|
194
194
|
|
|
195
195
|
## <a name="tests"></a>Tests
|
|
196
|
-
-
|
|
196
|
+
- The repository ships with Jest 30 configured (babel-jest) and TypeScript support.
|
|
197
|
+
- Test files are located under `tests/` and follow `*.spec.ts` naming.
|
|
198
|
+
- Run tests:
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
npm test
|
|
202
|
+
npm run test:watch
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Live Dev Overlays (Open Channel During Processing)
|
|
208
|
+
BluMa supports a live side-channel that stays active even while the agent is processing. This lets the dev send guidance or constraints in real-time — like pair programming.
|
|
209
|
+
|
|
210
|
+
Key points
|
|
211
|
+
- Permissive mode enabled: during processing, any free text you type is treated as a [hint] automatically.
|
|
212
|
+
- Structured prefixes are also supported at any time:
|
|
213
|
+
- [hint] Text for immediate guidance to the agent
|
|
214
|
+
- [constraint] Rules/limits (e.g., "não tocar em src/app/agent/**")
|
|
215
|
+
- [override] Parameter overrides as key=value pairs (e.g., "file_path=C:/... expected_replacements=2")
|
|
216
|
+
- [assume] Register explicit assumptions
|
|
217
|
+
- [cancel] Interrupt safely (already supported)
|
|
218
|
+
|
|
219
|
+
How it works
|
|
220
|
+
- Frontend: the input remains active in read-only (processing) mode and emits a dev_overlay event.
|
|
221
|
+
- Agent backend: consumes overlays with precedence (constraint > override > hint). Hints and assumptions are injected into the system context before the next decision; overrides/constraints adjust tool parameters just before execution.
|
|
222
|
+
- Logging & history: every overlay is logged and stored in session history for auditability.
|
|
223
|
+
|
|
224
|
+
Examples
|
|
225
|
+
- During a long task, just type:
|
|
226
|
+
- "Prefer do not touch tests yet" → will be treated as [hint]
|
|
227
|
+
- "[constraint] não editar src/app/ui/**" → blocks edits under that path
|
|
228
|
+
- "[override] expected_replacements=2" → adjusts the next edit_tool call
|
|
229
|
+
- "[assume] target=api" → adds an assumption in context
|
|
230
|
+
|
|
231
|
+
Notes
|
|
232
|
+
- The side-channel does not pause the agent — it adapts on the fly.
|
|
233
|
+
- If an overlay conflicts with the current plan: constraint > override > hint.
|
|
234
|
+
- All overlays are acknowledged via standard internal messages and persisted.
|
|
197
235
|
|
|
198
236
|
---
|
|
199
237
|
|
|
@@ -203,6 +241,8 @@ You must create a `.env` file (copy if needed from `.env.example`) with the foll
|
|
|
203
241
|
- `AZURE_OPENAI_API_KEY`
|
|
204
242
|
- `AZURE_OPENAI_API_VERSION`
|
|
205
243
|
- `AZURE_OPENAI_DEPLOYMENT`
|
|
244
|
+
- `GITHUB_PERSONAL_ACCESS_TOKEN` (optional; required for GitHub integrations)
|
|
245
|
+
- `NOTION_API_TOKEN` (optional; required for Notion integrations)
|
|
206
246
|
|
|
207
247
|
And others required by your agent/context or Azure setup.
|
|
208
248
|
|
|
@@ -210,6 +250,19 @@ Advanced config files are located in `src/app/agent/config/`.
|
|
|
210
250
|
|
|
211
251
|
---
|
|
212
252
|
|
|
253
|
+
## <a name="stack"></a>Tech Stack Overview
|
|
254
|
+
- Language: TypeScript (ESM)
|
|
255
|
+
- Runtime: Node.js >= 18
|
|
256
|
+
- CLI UI: React 18 via Ink 5, plus `ink-text-input`, `ink-spinner`, `ink-big-text`
|
|
257
|
+
- Bundler: esbuild, with `esbuild-plugin-node-externals`
|
|
258
|
+
- Test Runner: Jest 30 + babel-jest
|
|
259
|
+
- Transpilers: Babel presets (env, react, typescript)
|
|
260
|
+
- LLM/Agent: Azure OpenAI via `openai` SDK; MCP via `@modelcontextprotocol/sdk`
|
|
261
|
+
- Config loading: dotenv
|
|
262
|
+
- Utilities: uuid, diff, react-devtools-core
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
213
266
|
## <a name="license"></a>License
|
|
214
267
|
MIT. Made by Alex Fonseca and NomadEngenuity contributors.
|
|
215
268
|
|
|
@@ -10,19 +10,6 @@
|
|
|
10
10
|
"@sousaalex1605/bluma-nootebook"
|
|
11
11
|
]
|
|
12
12
|
},
|
|
13
|
-
"githubApi": {
|
|
14
|
-
"type": "stdio",
|
|
15
|
-
"command": "cmd",
|
|
16
|
-
"args": [
|
|
17
|
-
"/c",
|
|
18
|
-
"npx",
|
|
19
|
-
"-y",
|
|
20
|
-
"@modelcontextprotocol/server-github"
|
|
21
|
-
],
|
|
22
|
-
"env": {
|
|
23
|
-
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}"
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
13
|
"notionApi": {
|
|
27
14
|
"type": "stdio",
|
|
28
15
|
"command": "cmd",
|