[status-command] Add status command documentation#34
Merged
Conversation
These accessors are needed for the upcoming status command: - head_sha() returns the commit SHA for check status lookups - raw_title() returns unformatted title for display - html_url() converts API URL to web URL for display Handles both github.com and enterprise GitHub URLs.
Add api/checks.rs with: - fetch_check_status() - get CI status for a commit SHA - fetch_mergeable_status() - get PR mergeable state - CheckStatus/CheckState types for status representation - Proper error handling for rate limits and API errors - 14 tests including unit tests and async/mock tests Also adds tempfile dev dependency for upcoming legend file tests.
Add status.rs with: - StatusBit enum (Passed/Failed/Pending/NotApplicable) - PrStatus struct with CI/approval/mergeable/stack_clear bits - build_status_entries() - fetch and compute status for stack - render_status() - format output with status bits (unicode/ASCII) - render_status_json() - JSON output format - Legend detection via ~/.gh-stack-legend-seen (first-run only) - Title truncation to 50 chars Includes 38 tests: - 29 unit tests for status bit logic, formatting, stack computation - 9 snapshot tests for output rendering Also adds dirs dependency for home directory detection and Serialize derive to CommitInfo for JSON output.
Add CLI integration for status feature: - gh-stack status <identifier> - show stack with status bits - gh-stack log --status <identifier> - alias for status view Status command flags: - --no-checks: skip fetching CI/approval/conflict status - --no-color: disable colors and Unicode characters - --help-legend: show status bits legend - --json: output in JSON format - -C, --project: path to local repository - -r, --repository: specify repository - -o, --origin: specify git remote Legend is shown on first run, then only with --help-legend.
Document the status command including: - Usage examples - Status bits explanation (CI, Approved, Mergeable, Stack clear) - Flag descriptions - Output format examples (Unicode, ASCII, JSON) - Legend behavior - Integration with log --status
This was referenced Dec 29, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add comprehensive documentation for the status command:
log --statusDocumentation
See
docs/status.mdfor the full documentation.Part 5 of 5 in the status-command stack
Stacked PR Chain: status-command