bosun 0.31.7 → 0.32.0

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/.env.example CHANGED
@@ -345,31 +345,42 @@ TELEGRAM_MINIAPP_ENABLED=false
345
345
  # OAuth Client Secret (only needed for callback-based OAuth, not for Device Flow):
346
346
  # BOSUN_GITHUB_CLIENT_SECRET=
347
347
  #
348
- # Webhook secret (set this in App settings Webhook, and keep in sync):
348
+ # Webhook secret (VirtEngine relay signs forwarded events with this leave blank
349
+ # until VirtEngine’s relay server is live; Bosun polls GitHub API in the meantime):
349
350
  # BOSUN_GITHUB_WEBHOOK_SECRET=
350
351
  #
351
352
  # Path to the PEM private key downloaded from App settings → Generate a private key:
352
353
  # BOSUN_GITHUB_PRIVATE_KEY_PATH=/path/to/bosun-botswain.pem
353
354
  #
355
+ # ─── GitHub App Settings (enable all three in https://github.com/settings/apps/bosun-botswain) ────
356
+ # ✅ Callback URL → http://127.0.0.1:54317/github/callback (set this FIRST, then Save)
357
+ # ✅ "Request user authorization (OAuth) during installation" → ON
358
+ # GitHub does OAuth at install time, redirecting to the Callback URL with
359
+ # installation_id + setup_action=install. Setup URL is DISABLED — that's fine.
360
+ # ✅ "Enable Device Flow" → ON (only available AFTER Callback URL is saved)
361
+ # Allows CLI/terminal auth without a public URL (like VS Code / Roo Code)
362
+ # ✕ Setup URL → leave BLANK (GitHub disables this field when OAuth-at-install is ON)
363
+ # ✕ "Redirect on update" → leave OFF (disabled alongside Setup URL)
364
+ #
354
365
  # ─── Authentication Method ───────────────────────────────────────────────
355
366
  # RECOMMENDED: Device Flow (like VS Code / Roo Code — no public URL needed!)
356
367
  # 1. Set BOSUN_GITHUB_CLIENT_ID above
357
- # 2. Enable "Device Flow" in GitHub App settings (Settings Optional features)
358
- # 3. Go to Settings → GitHub in the Bosun UI and click "Sign in with GitHub"
359
- # 4. That's it — no callback URL, no tunnel URL, no client secret needed
368
+ # 2. Enable Device Flow in GitHub App settings (only clickable after Callback URL is saved)
369
+ # 3. Go to Settings → GitHub in the Bosun UI and click Sign in with GitHub
370
+ # 4. Thats it — no webhook URL, no tunnel, no public server needed
360
371
  #
361
- # ALTERNATIVE: OAuth Callback (requires a stable public URL)
372
+ # ALTERNATIVE: OAuth Callback
362
373
  # Set BOSUN_GITHUB_CLIENT_ID + BOSUN_GITHUB_CLIENT_SECRET
363
- # Register callback URL in App settings:
364
- # https://<your-bosun-public-url>/api/github/callback
374
+ # Register callback URL: http://127.0.0.1:54317/github/callback
365
375
  #
366
- # WEBHOOKS (optional — for real-time PR/issue sync):
367
- # Register webhook URL in App settings:
368
- # https://<your-bosun-public-url>/api/webhooks/github/app
369
- # Webhooks require a stable public URL. Without them, Bosun polls instead.
376
+ # NOTE on webhooks:
377
+ # Real-time GitHub events (PR comments, issue mentions) are received via
378
+ # VirtEngine’s relay server and forwarded to your Bosun instance.
379
+ # Until the relay is live, Bosun polls the GitHub API every few minutes instead.
380
+ # Users do NOT need to configure a webhook URL or run any tunnel.
370
381
  #
371
382
  # Leave BOSUN_GITHUB_APP_ID unset to disable co-author trailer injection.
372
- # BOSUN_GITHUB_APP_ID=
383
+ # (App ID and Client ID are already filled in above — no need to set them again.)
373
384
 
374
385
  # ─── Kanban Backend ──────────────────────────────────────────────────────────
375
386
  # Task-board backend:
package/agent-prompts.mjs CHANGED
@@ -150,6 +150,19 @@ You are an autonomous task orchestrator agent. You receive implementation tasks
150
150
  - Existing functionality is preserved.
151
151
  - Relevant checks pass.
152
152
  - Branch is pushed and ready for PR/review flow.
153
+
154
+ ## Skills & Knowledge Base
155
+
156
+ Before starting any task, load relevant skills to avoid known pitfalls and
157
+ apply patterns discovered by previous agents:
158
+
159
+ 1. Check if \`.bosun/skills/index.json\` exists in the workspace or bosun home.
160
+ 2. Read the index to find skills whose tags match your task's module or domain.
161
+ 3. Load and apply any matching skill files from \`.bosun/skills/\`.
162
+
163
+ After completing a task, if you discovered a non-obvious pattern, workaround, or
164
+ domain-specific fact, write or update a skill file at \`.bosun/skills/<module>.md\`
165
+ so the next agent benefits from your investigation.
153
166
  `,
154
167
  planner: `# Codex-Task-Planner Agent
155
168
 
@@ -227,12 +240,23 @@ You are the always-on reliability guardian for bosun in devmode.
227
240
  - Branch: {{BRANCH}}
228
241
  - Repository: {{REPO_SLUG}}
229
242
 
243
+ ## Skills — Load Before Starting
244
+
245
+ Check for relevant skills before implementing:
246
+ 1. Look for \`.bosun/skills/index.json\` (in workspace root or BOSUN_HOME).
247
+ 2. Read the index; load skills whose tags match this task's module/domain.
248
+ 3. Apply the patterns — especially \`background-task-execution\`, \`error-recovery\`,
249
+ and \`pr-workflow\` which apply to almost every task.
250
+
230
251
  ## Instructions
231
- 1. Read task requirements carefully.
232
- 2. Implement required code changes.
233
- 3. Run relevant tests/lint/build checks.
234
- 4. Commit with conventional commit format.
235
- 5. Push branch updates.
252
+ 1. Load relevant skills as described above.
253
+ 2. Read task requirements carefully.
254
+ 3. Implement required code changes.
255
+ 4. Run relevant tests/lint/build checks.
256
+ 5. Commit with conventional commit format.
257
+ 6. Push branch updates.
258
+ 7. After completing: if you discovered non-obvious patterns, write a skill file
259
+ at \`.bosun/skills/<module>.md\` for future agents.
236
260
 
237
261
  ## Critical Rules
238
262
  - Do not ask for manual confirmation.