{"id":47754187,"url":"https://github.com/zombiezen/jj-domino","last_synced_at":"2026-04-03T04:01:47.690Z","repository":{"id":342342073,"uuid":"1172998759","full_name":"zombiezen/jj-domino","owner":"zombiezen","description":"Pull request stack manager for Jujutsu","archived":false,"fork":false,"pushed_at":"2026-03-27T04:37:46.000Z","size":224,"stargazers_count":1,"open_issues_count":7,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-27T16:57:30.075Z","etag":null,"topics":["github-integration","jujutsu","stacked-prs"],"latest_commit_sha":null,"homepage":"","language":"Go","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/zombiezen.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-03-04T22:55:16.000Z","updated_at":"2026-03-25T03:53:16.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/zombiezen/jj-domino","commit_stats":null,"previous_names":["zombiezen/jj-domino"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zombiezen/jj-domino","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zombiezen%2Fjj-domino","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zombiezen%2Fjj-domino/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zombiezen%2Fjj-domino/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zombiezen%2Fjj-domino/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zombiezen","download_url":"https://codeload.github.com/zombiezen/jj-domino/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zombiezen%2Fjj-domino/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31333229,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T03:20:36.090Z","status":"ssl_error","status_checked_at":"2026-04-03T03:20:35.133Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["github-integration","jujutsu","stacked-prs"],"created_at":"2026-04-03T04:00:58.439Z","updated_at":"2026-04-03T04:01:47.672Z","avatar_url":"https://github.com/zombiezen.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jj-domino\n\njj-domino is a GitHub pull request [stack manager][stacking workflow] for [Jujutsu][].\njj-domino can create pull requests\nthat are \"stacked\" on top of each other,\nallowing you to send out pull requests that depend on changes in other pull requests\nwithout having to merge them first.\n\n```console\n$ jj git clone https://github.com/octocat/Hello-World.git\n$ cd Hello-World\n$ touch foo.txt\n$ jj commit -m \"Add foo.txt\"\n$ touch bar.txt\n$ jj commit -m \"Add bar.txt\"\n$ jj-domino -c 'trunk()..@-'\nCreating bookmark push-lvlupwyrvtrq for revision lvlupwyrvtrq\nCreating bookmark push-vkoqnzswumlq for revision vkoqnzswumlq\nChanges to push to origin:\n  Add bookmark push-lvlupwyrvtrq to 7f016689053c\n  Add bookmark push-vkoqnzswumlq to fd73fcd14312\n\n#1234: Add foo.txt [main ← push-vkoqnzswumlq] (new)\n#1235: [DRAFT] Add bar.txt [push-vkoqnzswumlq ← push-lvlupwyrvtrq] (new)\n```\n\n[Jujutsu]: https://www.jj-vcs.dev/\n[stacking workflow]: https://www.stacking.dev/\n\n## Installation\n\nAssuming you already have [Jujutsu][] installed:\n\n1. [Install Go](https://go.dev/dl/)\n2. `go install zombiezen.com/go/jj-domino@latest`\n3. Authenticate to GitHub using one of two options:\n   - If you're already using the [GitHub CLI][], then run `gh auth login`.\n   - Otherwise, [create a personal access token with `repo` scope](https://github.com/settings/tokens/new?scopes=repo)\n     and store it in the environment variable `GITHUB_TOKEN`\n     or the file `$XDG_CONFIG_DIRS/jj-domino/github-token`.\n\n[GitHub CLI]: https://cli.github.com/\n\n## Basics\n\nA common workflow is to use `jj-domino -c` when first creating the pull request(s).\nFor example, to create a single pull request:\n\n```console\n$ jj new 'trunk()'\n$ touch foo.txt\n$ jj commit -m 'Add foo.txt'\n$ jj-domino -c @-\nCreating bookmark push-vkoqnzswumlq for revision vkoqnzswumlq\nChanges to push to origin:\n  Add bookmark push-vkoqnzswumlq to fd73fcd14312\n\n#1234: Add foo.txt [main ← push-vkoqnzswumlq] (new)\n```\n\nThen you can use `jj-domino` without arguments to update the pull request(s).\nWithout arguments, jj-domino will create or update a pull request for each [bookmark][bookmarks]\nin the [revset][revsets] `trunk()..@`.\nFor example, to incorporate some changes:\n\n```\n$ echo \"add a line\" \u003e\u003e foo.txt\n$ jj squash\n$ jj-domino\nChanges to push to origin:\n  Move sideways bookmark push-vkoqnzswumlq from fd73fcd14312 to 0dcc295c3c92\n\n#1234: Add foo.txt [main ← push-vkoqnzswumlq]\n```\n\njj-domino also has other useful options like `--dry-run`.\nRun `jj-domino submit --help` to see more documentation.\n\n[bookmarks]: https://docs.jj-vcs.dev/latest/bookmarks/\n[revsets]: https://docs.jj-vcs.dev/latest/revsets/\n[`jj git push`]: https://docs.jj-vcs.dev/latest/cli-reference/#jj-git-push\n\n## Configuration\n\njj-domino attempts to work with existing Jujutsu configuration\nrather than having its own settings.\nFor example, jj-domino will infer the GitHub repository based on the configured remotes\nand will infer the default base branch using the `trunk()` revset alias.\nThese settings can be overridden with command-line flags.\n\n## License\n\n[MIT](LICENSE)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzombiezen%2Fjj-domino","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzombiezen%2Fjj-domino","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzombiezen%2Fjj-domino/lists"}