- All outward-facing GitHub tool actions now require user confirmation
via a themed yes/no dialog before executing (create, update, close,
reopen issues; create/update PRs; add comments; submit reviews;
request reviewers; create labels/milestones)
- New shared confirm-ui.ts component using the shared UI design system
- Read-only actions (list, view, search, diff, files, checks) ungated
- License changed from BUSL-1.1 to MIT
When no milestone exists, both /gsd and /gsd auto reach showSmartEntry
and call dispatchWorkflow — overwriting pendingAutoStart and restarting
the conversation mid-interview every time the user re-ran the command.
Add a pendingAutoStart check at the top of the !activeMilestone branch.
If a discuss session is already in progress, notify the user instead of
re-dispatching.
Fixes#6
When users logged in via /login but never explicitly ran /model, the agent
would throw 'No model configured' on every action. Now GSD auto-selects
a default model from available authenticated providers on startup.
Preference order: claude-sonnet-4-20250514 > any Anthropic model > first available.
Also documented /model command in README Getting Started section.
Closes#4
- Consolidate execution guidance: merge AGENTS.md hard rules, heuristics,
playbooks, and communication style into system.md as single source of truth
- Remove now-redundant AGENTS.md file
- Add ensurePreferences() to auto-create .gsd/PREFERENCES.md template during
GSD bootstrap with complete YAML frontmatter, field descriptions, and examples
- Update guided-flow to call ensurePreferences() on first .gsd/ init
- Build verified
These extensions were removed from the repo but the loader still
referenced them and the README still listed them. Removed from:
- src/loader.ts extension entry points (11 → 9)
- README bundled extensions table
- app-smoke test assertions
Brave now uses separate API keys per plan:
- BRAVE_API_KEY (Search plan) → web search, LLM context, news, etc.
- BRAVE_ANSWERS_KEY (Answers plan) → chat/completions
Updated:
- wizard: prompts for and stores both keys
- loadStoredEnvKeys: hydrates BRAVE_ANSWERS_KEY from auth.json
- smoke tests: covers BRAVE_ANSWERS_KEY hydration
- verify-s03.sh: includes BRAVE_ANSWERS_KEY in env and structural checks