@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 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
- - Organize your tests inside the `test/` folder in your preferred style or as your project's coverage grows
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",
@@ -150,11 +150,8 @@
150
150
  }
151
151
  },
152
152
  "required": []
153
-
154
153
  }
155
-
156
154
  }
157
-
158
155
  },
159
156
  {
160
157
  "type": "function",