Conversation
Adds a self-diagnostic command that checks git version, config file, GitHub/Jira tokens, tracker connectivity, shell integration, tab completions, and remote access. Prints ✓/✗ with fix instructions. Closes #122 Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Adds --full flag showing unpushed commits, ahead/behind divergence, last commit message and age per worktree. Supports both human table and JSON output formats. Closes #120 Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
#129) * feat: add parsec init --install for automatic shell setup (#115) Adds --install flag that auto-appends eval line to ~/.zshrc or ~/.bashrc with confirmation prompt. Detects existing installation to avoid duplicates. Closes #115 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: add --yes flag to init --install for non-interactive use Allows skipping the confirmation prompt with `parsec init --install -y`, enabling scripted/automated shell integration setup. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Adds pr: prefix parsing to the switch command. When a ticket starts with "pr:", fetches the PR's head branch from GitHub and adopts the worktree for it. Closes #116 Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Runs configured pre_ship hook commands before pushing in parsec ship. If any hook fails, ship is aborted with error output. Use --skip-hooks to bypass. Closes #68 Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Merges develop into release branch, creates git tag, and creates GitHub Release with auto-generated changelog. Supports --dry-run for preview. Closes #114 Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Creates issues on GitHub Issues or Jira directly from the terminal. Supports --start to chain into worktree creation after issue creation. Closes #72 Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Creates issues on GitHub Issues or Jira with support for labels, issue types, and optional auto-start of a worktree. Closes #121 Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…hooks (#145) Update README.md, docs/reference, and docs/guide with: - parsec create command reference and examples - parsec new-issue command reference and examples - parsec release command reference and examples - pre_ship hooks config and --skip-hooks flag - [release] config section - Updated features list and comparison table
Added tests for sync, adopt, undo, diff, log, ship --no-pr, clean specific ticket, and root commands. Covers 9 previously untested command paths using local bare repos without network dependencies. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
New command: parsec rename <old-ticket> <new-ticket> - Renames the git branch (git branch -m) - Moves the worktree directory - Updates state and oplog - Supports both sibling and internal layouts Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Restructured README for better storytelling: - Added 'Why parsec?' section with before/after workflow comparison - Added 'Use Cases' for solo dev, team, and AI agent scenarios - Renamed 'Why AI-Native?' to 'Impact' with time/risk metrics - Added Command Reference summary table with anchor links - All existing content preserved, just reorganized Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
- Add build-binaries job to release workflow - Builds for linux-x86_64, macos-x86_64, macos-aarch64, windows-x86_64 - Automatically uploads tar.gz/zip to GitHub Release - Update README with pre-built binary installation instructions Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
30s timeout, 10s connect timeout, and automatic retry with exponential backoff for 429/5xx responses on GET requests. Closes #158 Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Re-running commands is now safe: start switches to existing workspace, ship detects already-shipped tickets, merge skips already-merged PRs, clean handles already-cleaned tickets gracefully. Update test_start_duplicate to expect success (idempotent behavior). Closes #167 Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* refactor: unify Create and NewIssue into a single command (#155) Merge the duplicate Create and NewIssue CLI commands into one. The unified `create` command now supports --issue-type (for Jira) and multi-value --label flags. `new-issue` is kept as a visible alias for backward compatibility. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: remove duplicated clippy attribute and fix formatting Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…ttern (#182) * refactor: extract Jira auth helper to eliminate duplicated pattern (#157) Add authenticate() method to JiraTracker that centralizes token resolution and Basic/Bearer auth selection. Replaces 9 identical inline auth blocks across all Jira API methods. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: apply cargo fmt to authenticate helper Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…n::Value (#184) * refactor: introduce GitHubClient struct to eliminate HTTP boilerplate Replace 10 standalone functions with methods on GitHubClient which encapsulates remote parsing, token resolution, HTTP client creation, and standard header injection. Callers now construct a client once and reuse it for multiple API calls. Closes #152 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * refactor: replace serde_json::Value with typed API response structs Introduce private Deserialize structs (ApiPr, ApiCombinedStatus, ApiReview, ApiCheckRunsResponse, ApiMergeResponse, ApiCreateResponse, ApiPrListItem) to replace all serde_json::Value usage in GitHubClient method bodies. This eliminates fragile string-keyed indexing (e.g. resp["title"].as_str()) in favor of compile-time checked struct field access, improving type safety and making API contract changes caught at compile time. Closes #159 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…#185) Break the 3115-line commands.rs into 11 focused modules under commands/: workspace, ship, pr, ci, diff, history, stack, tracker_cmds, config, doctor, release. No behavioral changes — pure structural refactor. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…s display (#186) (#187) 1. Support Jira token in config file: add token field to [tracker.jira], resolve priority: env vars > config file token. Config init now prompts. 2. Sanitize Jira HTML error responses: detect HTML bodies and replace with concise message instead of dumping entire HTML page on 401 errors. 3. Enrich `parsec status` with live tracker info: fetch ticket summary, tracker status, and assignee from Jira/GitHub Issues. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* chore: bump version to 0.4.0 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * chore: bump version to 0.3.1 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
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.
Release v0.3.1
Changes since v0.3.0