{"_id":"@ahmedash95/coderev","_rev":"2-b85b7db725d4617876725ba558a87bc1","name":"@ahmedash95/coderev","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@ahmedash95/coderev","version":"0.1.0","_id":"@ahmedash95/coderev@0.1.0","maintainers":[{"name":"ahmedash95","email":"ahmed29329@gmail.com"}],"bin":{"coderev":"src/index.tsx"},"dist":{"shasum":"e6b5ee6824057316e8674324c1724598f8adf8b9","tarball":"https://registry.npmjs.org/@ahmedash95/coderev/-/coderev-0.1.0.tgz","fileCount":29,"integrity":"sha512-Nxb8I7d1E+OPnFRYD9QSl+BieXJXJGtsIWpMO1Fui1JC/dvlQy5RJMhsvA7481nWwLqOIK3ZpBWbfuRIvpW7OQ==","signatures":[{"sig":"MEYCIQCyrHgD04OgNeYDc/VjpT1Fr0GK3sSOtdmK/6nyEcZkywIhAJYrtTZWqyeDEsulaAUH6JgjsIKBEtYpz2z481VQ3zkE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1701360},"type":"module","module":"src/index.tsx","gitHead":"312fb67df6f3d4c4718c973936fecc7e9636d7d7","private":false,"scripts":{"dev":"bun run --watch src/index.tsx"},"_npmUser":{"name":"ahmedash95","email":"ahmed29329@gmail.com"},"_npmVersion":"11.5.1","description":"Keyboard-first terminal UI for reviewing GitHub pull requests and GitLab merge requests.","directories":{},"_nodeVersion":"24.5.0","dependencies":{"react":"^19.2.6","@opentui/core":"^0.2.16","@opentui/react":"^0.2.16","tree-sitter-php":"^0.24.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@types/react":"^19.2.15"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/coderev_0.1.0_1780006554087_0.8223021953279792","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@ahmedash95/coderev","version":"0.1.1","description":"Keyboard-first terminal UI for reviewing GitHub pull requests and GitLab merge requests.","module":"src/index.tsx","type":"module","private":false,"publishConfig":{"access":"public"},"bin":{"coderev":"src/index.tsx"},"scripts":{"dev":"bun run --watch src/index.tsx"},"devDependencies":{"@types/bun":"latest","@types/react":"^19.2.15"},"peerDependencies":{"typescript":"^5"},"dependencies":{"@opentui/core":"^0.2.16","@opentui/react":"^0.2.16","react":"^19.2.6","tree-sitter-php":"^0.24.2"},"_id":"@ahmedash95/coderev@0.1.1","gitHead":"312fb67df6f3d4c4718c973936fecc7e9636d7d7","_nodeVersion":"24.5.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-3ZfOo96n8FgSzqiBWE27WHYArJAp+O9Lcy9qnPxCWOJua8k9X+TC7eXfO9Dl4yjanP6+RqJXV2HjLs0hKcYY1g==","shasum":"1deb051cb4d53173aac284c288618152549f53a9","tarball":"https://registry.npmjs.org/@ahmedash95/coderev/-/coderev-0.1.1.tgz","fileCount":29,"unpackedSize":1701409,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDyOAoZX1v+X2Qbqgf2M3mU+vfY4/o7bVWp0dMCeJt7mgIhAM86ozhqiTwzX7RSnnrubM+aJ7Z+B18Vw2p3nAyRIV/G"}]},"_npmUser":{"name":"ahmedash95","email":"ahmed29329@gmail.com"},"directories":{},"maintainers":[{"name":"ahmedash95","email":"ahmed29329@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/coderev_0.1.1_1780006814827_0.8842688685581823"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-28T22:15:53.902Z","modified":"2026-05-28T22:20:15.149Z","0.1.0":"2026-05-28T22:15:54.304Z","0.1.1":"2026-05-28T22:20:15.041Z"},"description":"Keyboard-first terminal UI for reviewing GitHub pull requests and GitLab merge requests.","maintainers":[{"name":"ahmedash95","email":"ahmed29329@gmail.com"}],"readme":"# CodeRev\n\nCodeRev is a keyboard-first terminal UI for reviewing GitHub pull requests and GitLab merge requests without leaving the shell.\n\nIt uses `gh` and `glab` for provider access, so it reuses your existing CLI authentication and repository configuration.\n\n![Diff workspace](screenshots/03-diff-workspace.png)\n\n## Features\n\n- Browse open PRs/MRs from the current repository.\n- Open a request into a details view with metadata and rendered markdown.\n- Switch to a diff workspace with a changed-files tree and syntax-highlighted diff view.\n- Navigate, resize, fullscreen, and use Zen mode from the keyboard.\n- Supports GitHub via `gh` and GitLab via `glab`.\n\n## Screenshots\n\n### Request List\n\n![Request list](screenshots/01-request-list.png)\n\n### PR Details\n\n![PR details](screenshots/02-pr-details.png)\n\n### Zen Mode\n\n![Zen mode](screenshots/04-zen-mode.png)\n\n## Requirements\n\n- [Bun](https://bun.sh/)\n- [GitHub CLI](https://cli.github.com/) for GitHub repositories\n- [GitLab CLI](https://gitlab.com/gitlab-org/cli) for GitLab repositories\n\nAuthenticate with the provider CLI before running CodeRev:\n\n```bash\ngh auth login\nglab auth login\n```\n\n## Install\n\n```bash\nbun install\n```\n\nFor global usage after publishing:\n\n```bash\nbun add -g @ahmedash95/coderev\n```\n\n## Run\n\nFrom a repository:\n\n```bash\nbun run dev\n```\n\nAfter global install:\n\n```bash\ncoderev\n```\n\nOr point CodeRev at another repository:\n\n```bash\ncoderev --path /path/to/repo\n```\n\n## Keyboard\n\n- `j` / `k` move selection.\n- `Enter` opens the selected PR/MR or focuses the selected file diff.\n- `Esc` returns to the previous screen or exits fullscreen/Zen mode.\n- `1` opens details.\n- `2` opens the diff workspace.\n- `h` / `l` switch focus between file tree and diff view.\n- `Ctrl+h` / `Ctrl+l` resize the file tree and diff view.\n- `=` resets the diff split.\n- `f` toggles fullscreen for the active pane.\n- `z` toggles Zen mode for the active pane.\n- `?` shows keyboard help.\n- `q` quits.\n\n## Development\n\nThe app is built with Bun, TypeScript, React, and OpenTUI.\n\n```bash\nbunx tsc --noEmit\n```\n","readmeFilename":"README.md"}