diff --git a/.gitignore b/.gitignore index 501ec1ff..72cccd02 100644 --- a/.gitignore +++ b/.gitignore @@ -27,10 +27,12 @@ out/ Thumbs.db # Screenshots/images — ignored at the repo root (we accidentally collect a lot -# of them there), but ALLOWED under docs/design-briefs/ so design iteration -# artifacts (mockups, critique notes) stay versioned with the feature. +# of them there), but ALLOWED under docs/design-briefs/ and docs/screenshots/ +# so design iteration artifacts (mockups, critique notes) and feature screenshots +# stay versioned with the feature. *.png !docs/design-briefs/**/*.png +!docs/screenshots/*.png # Python __pycache__/ diff --git a/README.md b/README.md index 63442afe..fd4f8309 100644 --- a/README.md +++ b/README.md @@ -206,8 +206,33 @@ Then browse: - A ticket detail page listing every session linked to a given ticket - A **Tickets tab on every project page** that aggregates across all checkouts of the same git repo — so a ticket linked from `claude-karma/frontend/` also shows on the main `claude-karma` project +**Tickets Index** — All linked tickets in a filterable table. Switch between All, Issues, and PRs on GitHub. + +

+ Tickets Index +

+ +**Filter by Provider** — GitHub shows sub-pill filtering ([All N] [Issues N] [PRs N]) to toggle between categories. + +

+ GitHub Issues and PRs Filter +

+ +**Ticket Detail** — View a ticket with all linked sessions. Cross-project rollup shows "N sessions · M projects" with tabs per project. + +

+ Ticket Detail with Cross-Project Rollup +

+ +**Project Tickets Tab** — Every project page has a Tickets tab that aggregates across all git identity checkouts, so the same ticket appears even if linked from different branch directories. + +

+ Project Tickets Tab +

+ ### And More +- **Tickets across providers** — Link sessions to Linear, Jira, and GitHub Issues in a unified interface - **Plans Browser** — View implementation plans and their execution status - **Command Palette** — Quick navigation with `Ctrl+K` / `Cmd+K` - **Full-text Search** — Search across session titles, prompts, and slugs @@ -325,6 +350,19 @@ Enable real-time session monitoring by installing Claude Code hooks. See [SETUP. | `GET /skills` | List all skills | | `GET /live-sessions` | Real-time session state | +### Tickets + +| Method | Endpoint | Description | +|--------|----------|-------------| +| `POST` | `/sessions/{uuid}/tickets` | Link a ticket to a session | +| `GET` | `/sessions/{uuid}/tickets` | List tickets linked to a session | +| `DELETE` | `/sessions/{uuid}/tickets/{id}` | Unlink a ticket from a session | +| `GET` | `/tickets` | List all tickets (filters: provider, project, q) | +| `GET` | `/tickets/{provider}/{key}` | Get ticket details | +| `GET` | `/tickets/{provider}/{key}/sessions` | Sessions linked to a ticket | +| `PUT` | `/tickets/{provider}/{key}` | Refresh metadata from MCP | +| `POST` | `/admin/repair-github-urls` | Repair stale `/issues/` URLs to `/pull/` | + ## Contributing diff --git a/docs/screenshots/home.png b/docs/screenshots/home.png index 338692bf..9c4a9617 100644 Binary files a/docs/screenshots/home.png and b/docs/screenshots/home.png differ diff --git a/docs/screenshots/project-tickets-tab.png b/docs/screenshots/project-tickets-tab.png new file mode 100644 index 00000000..fcb63d6c Binary files /dev/null and b/docs/screenshots/project-tickets-tab.png differ diff --git a/docs/screenshots/ticket-detail.png b/docs/screenshots/ticket-detail.png new file mode 100644 index 00000000..8b771d2f Binary files /dev/null and b/docs/screenshots/ticket-detail.png differ diff --git a/docs/screenshots/tickets-github-prs.png b/docs/screenshots/tickets-github-prs.png new file mode 100644 index 00000000..5ebf4ee1 Binary files /dev/null and b/docs/screenshots/tickets-github-prs.png differ diff --git a/docs/screenshots/tickets-index.png b/docs/screenshots/tickets-index.png new file mode 100644 index 00000000..f9df125e Binary files /dev/null and b/docs/screenshots/tickets-index.png differ