Enable finding the current Linear issue from jj commit trailers, matching
the existing git branch-based detection. Users can now work with either git
or jj version control systems.
- Extract Linear-issue trailer parsing into getJjLinearIssue() utility
- Create getCurrentIssueFromVcs() abstraction for VCS-agnostic issue lookup
- Update getIssueIdentifier() to use new VCS-aware detection
- Support both git branch names and jj commit trailers seamlessly
Claude-session-id: cf951f85-34da-4328-be9d-241ff092feea
Refactor issue start workflow to support both git and jj version control
systems via a new LINEAR_VCS configuration option (defaults to git).
- Create vcs.ts abstraction layer handling git and jj workflows
- Create jj.ts utility module for shared jj operations and formatting
- Add LINEAR_VCS config option to select between "git" and "jj"
- Use exhaustive switch with satisfies never for type safety
- Refactor issue-describe to reuse issue description formatting
- Extract git branch operations into vcs.ts for VCS abstraction
Claude-session-id: 3a93e6b3-7ede-4bc6-b6e3-cb6b2f08682a
Implement a new describe command that outputs the issue title and
Linear-issue trailer in a simple format, without markdown parsing or
description content. This complements the existing commit-message
command with a lightweight alternative.
- Create issue-describe.ts with new describe command
- Add describe to issue command routing
- Include comprehensive snapshot tests for help, successful output,
and error handling
Claude-session-id: 8f5b0675-298f-4694-8cd4-109cc46d8066
Add a --head option to the issue-pull-request command and pass it
through
to the underlying gh CLI invocation so callers can specify the branch
that
contains commits for the pull request. This was needed to allow creating
PRs from a non-default head branch via this wrapper. The change adds the
option declaration and threads the head value into the action handler
and the generated gh command arguments.