Skip to content

Commit 99ddfb5

Browse files
committed
Update the README
1 parent 22febf4 commit 99ddfb5

File tree

1 file changed

+27
-14
lines changed

1 file changed

+27
-14
lines changed

README.md

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,44 +3,57 @@
33
Pulldash
44
</h1>
55

6-
Review pull requests in a high-performance UI, driven by keybinds.
6+
Fast, filterable PR review. Entirely client-side.
77

88
> [!WARNING]
99
> Pulldash is in alpha. Please report bugs.
1010
1111
[![Example](./docs/screenshots/overview.png)](https://pulldash.com)
1212

13-
## Try
13+
## Why
1414

15-
**Browser**: on [pulldash.com](https://pulldash.com) [no auth required]
15+
- GitHub's review UI is slow
16+
- No way to filter PRs by repo or query
17+
- AI tooling means more PRs than ever
1618

17-
> [!NOTE]
18-
> GitHub tokens are stored in your browser, never on the Pulldash server post-authentication.
19+
## Try It
1920

20-
**Desktop**: download the [latest release](https://github.com/coder/pulldash/releases) available for Linux, macOS, and Windows.
21+
**Browser**: [pulldash.com](https://pulldash.com). Replace `github.com` with `pulldash.com` in any PR URL.
2122

23+
**Desktop**: [Latest release](https://github.com/coder/pulldash/releases) for Linux, macOS, Windows.
2224

2325
## Features
2426

25-
- Customize your PR list with search queries:
27+
- **Custom filters**: Save queries like `repo:org/frontend is:open`. Focus on what matters.
2628

2729
![Filtering PRs](./docs/screenshots/filtering.png)
2830

29-
- Use keybinds to add/remove comments, select line ranges, switch files, and submit reviews:
31+
- **Keyboard-driven**: `j`/`k` to navigate files, arrows for lines, `c` to comment, `s` to submit.
3032

3133
![Keybinds](./docs/screenshots/keybind-driven.png)
3234

33-
- Instantly search across files:
35+
- **Fast file search**: `Ctrl+K` to fuzzy-find across hundreds of changed files.
3436

3537
![Search](./docs/screenshots/search.png)
3638

37-
## Why not GitHub's UI?
39+
## How It Works
3840

39-
GitHub supports [CORS](https://docs.github.com/en/rest/using-the-rest-api/using-cors-and-jsonp-to-make-cross-origin-requests) for their API, making Pulldash a simple UI wrapper with some nicities:
41+
GitHub's API supports [CORS](https://docs.github.com/en/rest/using-the-rest-api/using-cors-and-jsonp-to-make-cross-origin-requests), so Pulldash runs entirely client-side. No backend proxying your requests.
4042

41-
- Filtering on repositories you care about.
42-
- Opening large files in GitHub is slow (Pulldash performs all diff parsing and syntax highlighting in worker threads).
43-
- GitHub lacks comprehensive keybinds that allow you to be fully keyboard-driven.
43+
- **Web Worker pool**: Diff parsing and syntax highlighting run in workers sized to `navigator.hardwareConcurrency`. The main thread stays free for scrolling.
44+
45+
- **Pre-computed navigation**: When a diff loads, we index all navigable lines. Arrow keys are O(1)—no DOM queries.
46+
47+
- **External store**: State lives outside React ([`useSyncExternalStore`](https://react.dev/reference/react/useSyncExternalStore)). Focusing line 5000 doesn't re-render the file tree.
48+
49+
- **Virtualized rendering**: Diffs, file lists, and the command palette only render visible rows.
50+
51+
## Development
52+
53+
```bash
54+
bun install
55+
bun dev
56+
```
4457

4558
## License
4659

0 commit comments

Comments
 (0)