stakk 2.0.0

A CLI tool that bridges Jujutsu (jj) bookmarks to GitHub stacked pull requests
---
source: src/show/mod.rs
expression: "render_json(&data, JsonProjection::Sparse)"
---
{
  "schema_version": 2,
  "default_branch": "main",
  "remotes": [
    {
      "name": "origin",
      "url": "git@github.com:glennib/stakk.git",
      "github": "glennib/stakk"
    },
    {
      "name": "mirror",
      "url": "https://gitlab.com/x/y.git",
      "github": null
    }
  ],
  "excluded_bookmarks": [
    "merged-work"
  ],
  "excluded_head_count": 1,
  "stacks": [
    {
      "segments": [
        {
          "bookmarks": [
            {
              "name": "base",
              "remote_state": "synced"
            }
          ],
          "commits": [
            {
              "change_id": "mnrqxtvo",
              "short_change_id": "mnrq",
              "title": "add base",
              "committer_timestamp": "2026-01-01T00:00:00Z",
              "is_immutable": false,
              "local_bookmark_names": [],
              "is_boundary": false,
              "is_leaf": false
            },
            {
              "change_id": "qzvsmyxk",
              "short_change_id": "qzvs",
              "title": "extend base",
              "committer_timestamp": "2026-01-01T00:00:00Z",
              "is_immutable": false,
              "local_bookmark_names": [
                "base"
              ],
              "is_boundary": true,
              "is_leaf": false
            }
          ]
        },
        {
          "bookmarks": [
            {
              "name": "feat-a",
              "remote_state": "unpushed"
            }
          ],
          "commits": [
            {
              "change_id": "ptszrkwu",
              "short_change_id": "ptsz",
              "title": "feat a work",
              "committer_timestamp": "2026-03-01T00:00:00Z",
              "is_immutable": false,
              "local_bookmark_names": [],
              "is_boundary": false,
              "is_leaf": false
            },
            {
              "change_id": "wmtkoylq",
              "short_change_id": "wmtk",
              "title": "",
              "committer_timestamp": "2026-03-01T00:00:00Z",
              "is_immutable": false,
              "local_bookmark_names": [
                "feat-a"
              ],
              "is_boundary": true,
              "is_leaf": true
            }
          ]
        }
      ]
    },
    {
      "segments": [
        {
          "bookmarks": [
            {
              "name": "base",
              "remote_state": "synced"
            }
          ],
          "commits": [
            {
              "change_id": "mnrqxtvo",
              "short_change_id": "mnrq",
              "title": "add base",
              "committer_timestamp": "2026-01-01T00:00:00Z",
              "is_immutable": false,
              "local_bookmark_names": [],
              "is_boundary": false,
              "is_leaf": false
            },
            {
              "change_id": "qzvsmyxk",
              "short_change_id": "qzvs",
              "title": "extend base",
              "committer_timestamp": "2026-01-01T00:00:00Z",
              "is_immutable": false,
              "local_bookmark_names": [
                "base"
              ],
              "is_boundary": true,
              "is_leaf": false
            }
          ]
        },
        {
          "bookmarks": [
            {
              "name": "feat-b",
              "remote_state": "diverged"
            }
          ],
          "commits": [
            {
              "change_id": "rlkvnnup",
              "short_change_id": "rlkv",
              "title": "feat b work",
              "committer_timestamp": "2026-02-01T00:00:00Z",
              "is_immutable": true,
              "local_bookmark_names": [
                "feat-b",
                "old-mark"
              ],
              "is_boundary": true,
              "is_leaf": true
            }
          ]
        }
      ]
    }
  ]
}