storkit: done 368_story_web_ui_oauth_flow_for_claude_authentication

This commit is contained in:
dave
2026-03-24 14:54:30 +00:00
parent f4b7573f0a
commit 0b3ce0f33e
3 changed files with 25 additions and 40 deletions

View File

@@ -1,20 +0,0 @@
---
name: "Assign command restarts coder when story is already in progress"
---
# Story 380: Assign command restarts coder when story is already in progress
## User Story
As a user, I want `assign X opus` on a running story to stop the current coder, update the front matter, and start the newly assigned agent, so that I can switch models mid-flight without manually stopping and restarting.
## Acceptance Criteria
- [ ] When assign is called on a story with a running coder, the current coder agent is stopped
- [ ] The story's front matter `agent` field is updated to the new agent name
- [ ] The newly assigned agent is started on the story automatically
- [ ] When assign is called on a story with no running coder, it behaves as before (just updates front matter)
## Out of Scope
- TBD

View File

@@ -1,20 +0,0 @@
---
name: "Bot command to delete a worktree"
---
# Story 381: Bot command to delete a worktree
## User Story
As a user, I want a bot command to delete a worktree so that I can clean up orphaned or unwanted worktrees without SSHing into the server.
## Acceptance Criteria
- [ ] A new bot command (e.g. `rmtree <story_number>`) deletes the worktree for the given story
- [ ] The command stops any running agent on that story before removing the worktree
- [ ] The command returns a confirmation message on success
- [ ] The command returns a helpful error if no worktree exists for the given story
## Out of Scope
- TBD

View File

@@ -0,0 +1,25 @@
---
name: "Web UI OAuth flow for Claude authentication"
agent: "coder-opus"
---
# Story 368: Web UI OAuth flow for Claude authentication
## User Story
As a new user running storkit in Docker, I want to authenticate Claude through the web UI instead of running `claude login` in a terminal inside the container, so that the entire setup experience stays in the browser after `docker compose up`.
## Acceptance Criteria
- [ ] Backend exposes /auth/start endpoint that generates the Claude OAuth URL with redirect_uri pointing to localhost:3001
- [ ] Backend exposes /auth/callback endpoint that receives the OAuth token and stores it where Claude Code expects it
- [ ] Backend exposes /auth/status endpoint that reports whether valid Claude credentials exist
- [ ] Frontend shows a setup screen when no Claude auth is detected on first visit
- [ ] Setup screen has a 'Connect Claude Account' button that initiates the OAuth flow
- [ ] OAuth redirect returns to the web UI which confirms success and dismisses the setup screen
- [ ] Credentials are persisted in the claude-state Docker volume so they survive container restarts
- [ ] The entire flow works without any terminal interaction after docker compose up
## Out of Scope
- TBD