{"id":48795147,"url":"https://github.com/lexwebb/code-triage","last_synced_at":"2026-04-20T05:00:56.363Z","repository":{"id":351124633,"uuid":"1209666316","full_name":"lexwebb/code-triage","owner":"lexwebb","description":"A PR review dashboard that monitors GitHub pull requests, analyzes review comments with Claude, and lets you act on them from a web UI.","archived":false,"fork":false,"pushed_at":"2026-04-15T21:40:14.000Z","size":2108,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-19T04:03:24.296Z","etag":null,"topics":["claude","code-review","developer-tools","github","pull-requests"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lexwebb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-13T16:54:43.000Z","updated_at":"2026-04-15T21:40:19.000Z","dependencies_parsed_at":"2026-04-16T01:01:10.991Z","dependency_job_id":null,"html_url":"https://github.com/lexwebb/code-triage","commit_stats":null,"previous_names":["lexwebb/code-triage"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/lexwebb/code-triage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lexwebb%2Fcode-triage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lexwebb%2Fcode-triage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lexwebb%2Fcode-triage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lexwebb%2Fcode-triage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lexwebb","download_url":"https://codeload.github.com/lexwebb/code-triage/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lexwebb%2Fcode-triage/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32033717,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude","code-review","developer-tools","github","pull-requests"],"created_at":"2026-04-13T23:00:46.509Z","updated_at":"2026-04-20T05:00:56.335Z","avatar_url":"https://github.com/lexwebb.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Code Triage\n\nA PR review dashboard that monitors your GitHub pull requests, analyzes review comments with Claude, and lets you act on them from a web UI.\n\n![Code Triage Screenshot](docs/screenshot.png)\n\n## Quick Start\n\nInstall the [npm package](https://www.npmjs.com/package/code-triage) and run the `code-triage` CLI (or use `npx` without installing):\n\n```bash\nnpm install -g code-triage\ncode-triage\n```\n\nOr, without a global install:\n\n```bash\nnpx code-triage\n```\n\nOpen http://localhost:3100 in your browser.\n\nOn first run you'll be prompted to configure your repos directory (default `~/src`).\n\n### From source (contributors)\n\n```bash\ngit clone git@github.com:lexwebb/code-triage.git\ncd code-triage\nyarn install\nyarn build:all\nyarn start\n```\n\nUse `yarn start` in place of `code-triage`; flags are passed after `--` (see [Usage](#usage)).\n\n## Requirements\n\n- Node.js 20+\n- `gh` CLI (authenticated — run `gh auth login` first)\n- `claude` CLI (for comment analysis and fixes)\n- Git repos cloned locally under a common root directory\n\n## Usage\n\n```bash\ncode-triage                    # Start with WebUI on port 3100\ncode-triage --open             # Start and open browser\ncode-triage --config           # Re-run setup\ncode-triage --port 8080        # Custom port\ncode-triage --root ~/code      # Custom repos directory\ncode-triage --repo owner/r     # Single repo mode\ncode-triage --dry-run          # Skip Claude analysis\ncode-triage --status           # Show state and exit\ncode-triage --cleanup          # Remove all worktrees\n```\n\nWhen developing from a clone, use `yarn start --` before each flag, for example `yarn start -- --open`.\n\n## Development\n\n```bash\n# Run everything (tsc watch + CLI with auto-restart + Vite HMR)\nyarn dev\n\n# Open http://localhost:5173 (proxies API to :3100)\n```\n\n## CLI Hotkeys\n\n| Key | Action |\n|-----|--------|\n| `r` | Refresh (poll now) |\n| `o` | Open WebUI in browser |\n| `d` | Re-discover repos |\n| `s` | Show status |\n| `p` | List PRs |\n| `c` | Clear state |\n| `q` | Quit |\n\n## Features\n\n- **Multi-repo discovery** — scans a root directory for all GitHub repos\n- **Comment analysis** — Claude evaluates each review comment and suggests an action\n- **WebUI dashboard** — review threads, file diffs, syntax highlighting, markdown rendering\n- **Action buttons** — send replies, resolve threads, dismiss comments from the UI\n- **Fix with Claude** — Claude applies code fixes in isolated git worktrees, preview diff before pushing\n- **PR review** — approve or request changes on PRs you're reviewing\n- **Reviewer status** — see who has approved, requested changes, or is pending\n- **Web notifications** — get alerted when PRs need attention or fixes complete\n- **URL routing** — shareable URLs for specific PRs and files\n- **Repo filtering** — filter sidebar by repo name or PR title\n\n## How It Works\n\n1. Discovers GitHub repos under your configured root directory\n2. Polls for open PRs assigned to you and PRs requesting your review\n3. For each new review comment, Claude analyzes whether it needs a reply, fix, or can be resolved\n4. Results are displayed in the WebUI with action buttons\n5. You decide — send the suggested reply, apply a fix with Claude, resolve, or dismiss\n\n## Config \u0026 State\n\n- Config: `~/.code-triage/config.json`\n- State: `~/.code-triage/state.json`\n- Worktrees: `.cr-worktrees/` in each repo root\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flexwebb%2Fcode-triage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flexwebb%2Fcode-triage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flexwebb%2Fcode-triage/lists"}