{"id":50293108,"url":"https://github.com/parthjadhav/diffdeck","last_synced_at":"2026-05-28T07:01:26.893Z","repository":{"id":360746352,"uuid":"1225994627","full_name":"ParthJadhav/DiffDeck","owner":"ParthJadhav","description":"open git diffs in browser, add comments \u0026 send all to agent","archived":false,"fork":false,"pushed_at":"2026-05-27T19:04:16.000Z","size":7560,"stargazers_count":19,"open_issues_count":1,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-27T19:14:45.206Z","etag":null,"topics":["agent","ai","developer-tools","development","diff","git"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ParthJadhav.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-30T21:33:48.000Z","updated_at":"2026-05-27T19:04:13.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ParthJadhav/DiffDeck","commit_stats":null,"previous_names":["parthjadhav/diffdeck"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/ParthJadhav/DiffDeck","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ParthJadhav%2FDiffDeck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ParthJadhav%2FDiffDeck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ParthJadhav%2FDiffDeck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ParthJadhav%2FDiffDeck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ParthJadhav","download_url":"https://codeload.github.com/ParthJadhav/DiffDeck/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ParthJadhav%2FDiffDeck/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33597808,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-28T02:00:06.440Z","response_time":99,"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":["agent","ai","developer-tools","development","diff","git"],"created_at":"2026-05-28T07:01:22.746Z","updated_at":"2026-05-28T07:01:26.882Z","avatar_url":"https://github.com/ParthJadhav.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Diffdeck\n\n[![npm](https://img.shields.io/npm/v/@parthj/diffdeck.svg?label=npm\u0026color=cb3837)](https://www.npmjs.com/package/@parthj/diffdeck)\n\nOpen a Git diff in your browser from the terminal.\n\n\u003cpicture\u003e\n  \u003csource srcset=\"docs/diffdeck-demo.gif\" type=\"image/gif\" /\u003e\n  \u003cimg src=\"docs/diffdeck-infographic.png\" alt=\"Diffdeck opens Git diffs in a local browser review workspace\" /\u003e\n\u003c/picture\u003e\n\n`diffdeck` starts a local web UI for the diff you ask Git for, then opens it in your browser. Use it when:\n\n- You do not have a diff view where you are editing.\n- `git diff` in the terminal is too hard to read.\n- You are SSHed into a server and still want a clean visual review.\n\nOptionally, you can comment on changed lines and copy all of them at once for your AI to resolve — the surrounding code context goes with them, so the agent has everything it needs to act.\n\n## Agentic Setup\n\nTell your coding agent (Claude Code, Cursor, etc.):\n\n```\nInstall `@parthj/diffdeck` globally with `npm install -g @parthj/diffdeck`, then add `alias gd='diffdeck'` to my shell rc file. Run `gd` whenever I ask you to show me a diff.\n```\n\n## Install\n\n```sh\nnpm install -g @parthj/diffdeck\n```\n\nThe package is scoped, but the installed command is `diffdeck`.\n\nTo update to the latest version:\n\n```sh\nnpm install -g @parthj/diffdeck@latest\n```\n\n(`npm update -g` won't bump globally-installed packages because they're pinned to an exact version at install time.)\n\n## Make It A Drop-In\n\nDiffdeck accepts the same diff arguments, so the simplest setup is a shell alias:\n\n```sh\nalias gd='diffdeck'\n```\n\nThen use it like `git diff`:\n\n```sh\ngd\ngd --cached\ngd HEAD~1 HEAD\n```\n\n## Use It Like Git Diff\n\n```sh\ndiffdeck\ndiffdeck --cached\ndiffdeck HEAD~1 HEAD\ndiffdeck -- -- '*.tsx'\n```\n\nEverything after Diffdeck's own options is passed through to `git diff` as long as it still produces plain patch output. Summary-only modes such as `--stat`, `--name-only`, `--raw`, and `--no-patch` are rejected because there is no file patch for the browser to render.\n\n## Options\n\n| Option | What it does |\n| --- | --- |\n| `--repo \u003cpath\u003e` | Run against another repository. |\n| `--port \u003cnumber\u003e` | Bind to a specific port. Defaults to `4321` (falls back to a free port if taken). |\n| `--host \u003chost\u003e` | Bind to a host. Defaults to `127.0.0.1`. |\n| `--no-open` | Start the server without opening a browser. |\n| `--version` | Print the installed version and exit. |\n| `--help` | Show CLI help. |\n\n## Requirements\n\n- Node.js 20 or newer\n- Git available on your `PATH`\n\n## Develop\n\n```sh\nbun install\nbun run dev\nbun run check\n```\n\n## Releases\n\nSee [GitHub Releases](https://github.com/ParthJadhav/DiffDeck/releases) for the full version history. Highlights:\n\n- **0.3.8** — Refined the review UI with shared controls, icons, compact states, and better mobile diff layout.\n- **0.3.7** — Browser page refreshes now reload the current git status instead of reusing a cached session.\n- **0.2.0** — File-list virtualization for large diffs (23k+ files), survives non-ASCII patches, comment drafts persist across scroll.\n- **0.1.3** — Float copy-comments FAB, render binary file placeholders, oklch theme tokens.\n- **0.1.1** — Initial scoped npm release.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparthjadhav%2Fdiffdeck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparthjadhav%2Fdiffdeck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparthjadhav%2Fdiffdeck/lists"}