Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
109 commits
Select commit Hold shift + click to select a range
5b111de
feat: add agent mode (PARSEC_AGENT=1) for non-interactive JSON output…
erishforG Apr 29, 2026
28eac77
feat: AI commit message generation via parsec commit (#274)
erishforG Apr 29, 2026
6b4b9a1
Merge origin/develop into release/1.0
erishforG Apr 30, 2026
2d023aa
feat: AI-generated PR descriptions for ship command (#242) (#275)
erishforG Apr 30, 2026
9b0f29f
sync: develop → release/1.0 (2026-05-30) [auto-resolved -X theirs]
erishforG May 30, 2026
4f7136c
Merge develop into release/1.0 (manual resolution preserving v1.0 fea…
erishforG May 30, 2026
022332a
Merge pull request #329 from erishforG/fix/revert-bad-sync-restore-v1
erishforG May 30, 2026
547239a
sync: develop → release/1.0 (2026-06-01)
erishforG Jun 1, 2026
9253b92
sync: develop → release/1.0 (2026-06-02)
erishforG Jun 2, 2026
e6808a1
Merge pull request #345 from erishforG/chore/sync-develop-with-main
erishforG Jun 3, 2026
a9b68d4
feat(mcp): Phase 1 — tool spec + src/mcp skeleton (Refs #292)
erishforG Jun 4, 2026
338b1cf
Merge pull request #346 from erishforG/feat/auto-mcp-spec-phase1
erishforG Jun 4, 2026
4389c25
sync: develop → release/1.0 (settings.rs ai/test both-sides resolve)
erishforG Jun 4, 2026
eeca0dc
docs(mcp): define Phase 2 protocol contracts
erishforG Jun 7, 2026
d37b869
Merge pull request #349 from erishforG/feat/auto-292-phase2-contracts
erishforG Jun 7, 2026
cc06c49
feat(mcp): add tool registry schemas
erishforG Jun 8, 2026
0ae1033
Merge pull request #350 from erishforG/feat/auto-mcp-spec-phase2-regi…
erishforG Jun 8, 2026
97ed5e5
docs: standardize Parsec release text in English (#351)
erishforG Jun 8, 2026
9556d98
feat(mcp): add stdio serve skeleton (#352)
erishforG Jun 9, 2026
0ce3677
docs(mcp): Phase 1 auth sandbox model (#353)
erishforG Jun 10, 2026
cb38719
test(mcp): add stdio recording fixture skeleton (#354)
erishforG Jun 11, 2026
a5b93ca
feat(mcp): handle stdio notifications (#355)
erishforG Jun 12, 2026
59f1fcd
docs(mcp): add client registration guide (#356)
erishforG Jun 13, 2026
9f97e0c
feat(mcp): add auth scope metadata (#357)
erishforG Jun 14, 2026
268c0b0
feat(mcp): add tools/call stdio contract skeleton (#358)
erishforG Jun 15, 2026
89f41c0
feat(mcp): wire tools call dispatch boundary (#359)
erishforG Jun 16, 2026
7831039
test(mcp): expand stdio fixture assertions (#361)
erishforG Jun 18, 2026
5285537
test(mcp): Phase 3 fixture redaction contract (#364)
erishforG Jun 21, 2026
f4a79fe
feat(mcp): Phase 3 auth preflight (#363)
erishforG Jun 26, 2026
4957904
docs(mcp): Phase 3 error schema alignment (#366)
erishforG Jun 26, 2026
769324b
feat(mcp): harden stdio request validation (#368)
erishforG Jun 26, 2026
495029f
test(mcp): Phase 4 redaction guard (#369)
erishforG Jun 26, 2026
58fe4a1
feat(mcp): Phase 4 wire readonly worktree tools (#360)
erishforG Jun 26, 2026
6e48e0e
feat(mcp): harden JSON-RPC version validation
erishforG Jun 27, 2026
ffe01eb
test(mcp): Phase 5 harden fixture contract (#371)
erishforG Jun 28, 2026
effcb78
feat(mcp): Phase 6 add stdio ping (#372)
erishforG Jun 30, 2026
bc4c1c6
docs(mcp): Phase 6 client installer hook contract (#373)
erishforG Jun 30, 2026
55bec26
test(mcp): Phase 8 fixture for worktree list call (#374)
erishforG Jul 1, 2026
48d2277
docs(mcp): Phase 8 clarify delegated auth metadata (#375)
erishforG Jul 2, 2026
98242da
docs(mcp): Phase 9 agent workflow contract (#379)
erishforG Jul 6, 2026
73ddea8
feat(mcp): Phase 9 optional overlay auth preflight (#377)
erishforG Jul 6, 2026
0ae088b
test(mcp): Phase 9 client initialize fixture (#378)
erishforG Jul 6, 2026
9fa7ea5
docs(mcp): Phase 10 client config matrix (#380)
erishforG Jul 7, 2026
791a685
feat(mcp): Phase 11 stdio shutdown lifecycle (#381)
erishforG Jul 8, 2026
06c2dd2
feat(mcp): Phase 12 initialize scope capabilities (#382)
erishforG Jul 9, 2026
a8edf8b
feat(mcp): Phase 13 scoped auth preflight (#383)
erishforG Jul 10, 2026
8ad108e
test(mcp): add scoped auth fixture replay
erishforG Aug 7, 2026
1c3ad93
Merge pull request #384 from erishforG/feat/auto-mcp-phase14-scope-fi…
erishforG Aug 7, 2026
2f828c0
feat(mcp): Phase 15 repository sandbox preflight (#385)
erishforG Aug 8, 2026
41d3df3
feat(mcp): require confirmation for mutations (#386)
erishforG Aug 9, 2026
d45339a
feat(mcp): add privacy-safe audit events (#387)
erishforG Aug 10, 2026
ed0835e
feat(mcp): add safe audit correlation ids (#388)
erishforG Aug 12, 2026
8ed1291
docs(mcp): define audit sink operations (#389)
erishforG Aug 13, 2026
16cc019
feat(mcp): pin audit event v1 schema (#390)
erishforG Aug 14, 2026
1080057
feat(mcp): add testable audit writer (#391)
erishforG Aug 14, 2026
ff7b3a9
test(mcp): Phase 22 — preflight smoke fixtures for mutation + scoped …
erishforG Aug 17, 2026
27e0a06
test(mcp): cover audit sink failure isolation (#392)
erishforG Aug 17, 2026
7b3c14a
test(mcp): Phase 23 — stub-state smoke fixtures for all registered to…
erishforG Aug 18, 2026
e0cfbbb
feat(mcp): Phase 24 — health_check MCP tool (lock/uncommitted/stale) …
erishforG Aug 18, 2026
5c7edd1
feat(mcp): Phase 25 — smartlog MCP tool sync DAG implementation (#396)
erishforG Aug 19, 2026
fb3d76d
feat(mcp): Phase 26 — pr_status MCP tool wired to gh CLI (#397)
erishforG Aug 20, 2026
b7cb0b6
feat(mcp): Phase 27 — reviews MCP tool wired to gh CLI (Refs #293)
erishforG Aug 21, 2026
f0cb405
feat(mcp): Phase 28 — ci_status MCP tool wired to gh CLI (#399)
erishforG Aug 22, 2026
c797e61
feat(mcp): Phase 29 — sync MCP tool wired (rebase/merge with dry_run …
erishforG Aug 22, 2026
c89198b
feat(mcp): Phase 30 — worktree_start wired (dry_run preview + confirm…
erishforG Aug 23, 2026
5a87d9f
feat(mcp): Phase 31 — worktree_ship wired (push + gh pr create + opti…
erishforG Aug 24, 2026
22fb03f
test(mcp): Phase 32 — Claude Desktop/Cursor e2e scenario fixtures + d…
erishforG Aug 25, 2026
b0142fa
feat(mcp): Phase 33 — parsec mcp install automated client config writ…
erishforG Aug 26, 2026
687bf36
test(mcp): Phase 34 — live subprocess e2e for parsec mcp serve · Refs…
erishforG Aug 26, 2026
d6ca2f2
feat(mcp): Phase 35 — PARSEC_GITHUB_TOKEN env var → McpContext for no…
erishforG Aug 27, 2026
0011c2a
feat(mcp): Phase 36 — mcp.toml config-file auth (token + scopes) · Re…
erishforG Aug 28, 2026
4abd2f6
test(mcp): Phase 37 — config-file scope enforcement pipeline integrat…
erishforG Aug 28, 2026
249d43a
test(mcp): Phase 38 — mcp.toml config-file auth source + env-var prec…
erishforG Aug 29, 2026
47bf3cf
docs(mcp): Phase 39 — docs/mcp-quickstart.md end-to-end user quicksta…
erishforG Aug 30, 2026
14543e4
docs(mcp): Phase 40 — spec finalised to v1.0 · Closes #292 (#411)
erishforG Aug 31, 2026
c996b39
test(mcp): Phase 41 — sandbox path-boundary enforcement e2e · Refs #2…
erishforG Aug 31, 2026
2588fd4
docs(mcp): Phase 41 — auth.md + clients.md finalised to v1.0 · Closes…
erishforG Aug 31, 2026
794cdb2
feat(health): Phase 3 — detect in-progress git ops (rebase/merge/cher…
erishforG Aug 31, 2026
76d9058
feat(smartlog): Phase 4 — topological DAG ordering + summary header ·…
erishforG Sep 1, 2026
e012c33
feat(smartlog): Phase 5 — PR merge readiness overlay · Refs #309 (#417)
erishforG Sep 2, 2026
cafd899
feat(smartlog): Phase 1 CI overlay — SmartlogCiOverlay + attach_ci_ov…
erishforG Sep 2, 2026
70262c5
feat(smartlog): Phase 2 #310 — SmartlogCiOverlay.running count + badg…
erishforG Sep 3, 2026
efada26
feat(smartlog): Phase 3 #310 — branch-tip CI overlay for PR-less nodes
erishforG Sep 4, 2026
2baee75
feat(smartlog): Phase 6 — (no PR) display + full snapshot tests · Clo…
erishforG Sep 4, 2026
38b2a54
feat(ship): --no-cleanup flag + wire auto_cleanup phase 3 · Closes #3…
erishforG Sep 5, 2026
dae529f
test(smartlog): Phase 4 #310 — PARSEC_GITHUB_API_BASE + mockito overl…
erishforG Sep 5, 2026
dc626ee
feat(ship): Phase 1 template variable substitution — Refs #304 (#424)
erishforG Sep 5, 2026
bf75fda
feat(self-update): Phase 1 — version check + upgrade notification · R…
erishforG Sep 5, 2026
7a1f492
feat(ship): Phase 2 template commit list substitution (#426)
erishforG Sep 6, 2026
8604602
feat(self-update): Phase 2 — startup version check with 1-day throttl…
erishforG Sep 7, 2026
1576703
feat(self-update): Phase 3 — opt-out config + install-method detectio…
erishforG Sep 8, 2026
ac176cb
docs: fix v1.0 milestone link (#430)
erishforG Sep 9, 2026
cfc2be5
feat(panic-handler): Phase 1 — opt-in crash report hook · Refs #298
erishforG Sep 10, 2026
169809e
feat(panic-handler): Phase 2 — crash-report list/show/clear subcomman…
erishforG Sep 11, 2026
6ac7e62
feat(checkpoint): Phase 1 — create + list subcommands · Refs #300 (#433)
erishforG Sep 11, 2026
fef82f7
feat(checkpoint): Phase 2 — restore + drop subcommands · Refs #300 (#…
erishforG Sep 11, 2026
1c7ac3c
test: CLI integration tests for checkpoint + crash-report commands · …
erishforG Sep 12, 2026
c78d39c
feat(triage): Phase 1 — rule-based issue auto-labelling (dry-run) · R…
erishforG Sep 13, 2026
ff4dedc
feat(triage): add explicit label apply mode (#438)
erishforG Sep 14, 2026
424a196
fix(triage): skip labels already present (#440)
erishforG Sep 15, 2026
cfb06a2
docs: correct crash report cache paths (#442)
erishforG Sep 16, 2026
6585679
docs: align v0.5 command references with CLI (#444)
erishforG Sep 17, 2026
375d2e5
fix(health): flag missing registered worktrees (#446)
erishforG Sep 18, 2026
3c80156
docs(cli): align smartlog help with shipped overlays (#448)
erishforG Sep 19, 2026
73bbacc
release: prepare v1.0.0
erishforG Sep 19, 2026
db3f1a8
Merge pull request #449 from erishforG/release/v1.0-final
erishforG Sep 19, 2026
23847f4
Merge pull request #450 from erishforG/release/1.0
erishforG Sep 19, 2026
a7fc9ce
docs: fix v1.0 binary download URL
erishforG Sep 19, 2026
b3ba1d3
Merge pull request #451 from erishforG/docs/v1-download-link
erishforG Sep 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
134 changes: 86 additions & 48 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,73 +7,111 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [1.0.0] - 2026-09-19 — _AI-Native Standard_

### Added
- **MCP server** via `parsec mcp serve`, exposing worktree lifecycle, health,
smartlog, PR, review, CI, and synchronization tools to MCP clients.
- **MCP client installer** via `parsec mcp install` for Claude Desktop and
Cursor, with configurable binary paths and safe config merging.
- **Permission-scoped delegated authentication** from environment variables or
`mcp.toml`, including read/write scope checks and redacted diagnostics.
- **Mutation safety gates** requiring preview/confirmation, repository sandbox
boundaries, privacy-safe audit events, and versioned audit fixtures.
- **MCP end-to-end coverage** for the stdio lifecycle, tool registry, auth,
sandbox boundaries, client configuration, and mutation gates.
- `parsec checkpoint`, `crash-report`, `triage`, self-update notifications, and
`ship --no-cleanup` from the final v0.x development line.

### Changed
- `parsec smartlog` now includes topological stack ordering, richer PR merge
readiness, CI overlays for branch tips, and hermetic overlay integration
tests.
- `parsec ship` supports both AI-generated PR descriptions and template
variable substitution while retaining explicit cleanup control.

### Docs
- Added the [MCP quickstart](./docs/mcp-quickstart.md), protocol specification,
authentication and sandbox model, and client configuration guide.

## [0.5.0] - 2026-06-03 — _The visualization release_

v0.5 마일스톤 **16/16 완료**. Polish & Power-User UX: 워크트리/PR/CI를 하나의
시야에 모아주는 시각화·자동화 명령 6개 신규.
v0.5 completes the **16/16** milestone for polish and power-user UX, adding
six visualization and automation commands that bring worktrees, PRs, and CI
into one view.

### Added
- **`parsec smartlog` (alias `sl`)** — 모든 활성 워크트리를 commit DAG로 시각화.
ASCII 트리가 base branch별로 워크트리를 묶고 merge-base 이후 커밋을 표시.
Phase 2 PR/CI status overlay (`#327`), Phase 3 worktree filter + ANSI 색상 +
stack indicator (`#333`). `--json` 출력 지원. (`#245`, `#305`, `#318`, `#319`)
- **`parsec dashboard` (alias `dash`)** — 실시간 터미널 TUI 대시보드. 워크트리 /
CI 상태 / GitHub PR을 3-pane 레이아웃으로 한 화면에. ratatui + crossterm 기반,
키바인딩 `q` (종료) / `r` (즉시 새로고침) / `?` (도움말), `--refresh N` 인터벌,
`--no-overlay` 오프라인 모드. (`#248`, `#337`)
- **`parsec test`** — 워크트리 병렬 테스트 러너 + tree-hash 결과 캐싱.
`--all`로 모든 활성 워크트리 일괄 실행, `--jobs N` 병렬, `--cache`로 동일 tree
재실행 시 즉시 스킵. `[test]` 설정 섹션(`command`, `jobs`, `cache`). 인간/JSON
출력. (`#247`, `#336`)
- **`parsec health`** — 모든 활성 워크트리 헬스 체크. Phase 1: lock(`.git/index.lock`)
· uncommitted 파일 수 · stale(7일 초과) 검사 (`#324`, `#325`). Phase 2: CI 상태
overlay + configurable stale threshold (`#330`). CLI 통합 테스트 5개 (`#326`).
- **`parsec reviews`** — 워크트리별 받은/요청한 PR 리뷰를 한 표로. Phase 1 (`#301`,
- **`parsec smartlog` (alias `sl`)** — visualizes every active worktree as a
commit DAG. The ASCII tree groups worktrees by base branch and shows commits
since the merge base. Phase 2 adds the PR/CI status overlay (`#327`); Phase 3
adds worktree filtering, ANSI colors, stack indicators (`#333`), and `--json`
output. (`#245`, `#305`, `#318`, `#319`)
- **`parsec dashboard` (alias `dash`)** — real-time terminal TUI dashboard with
worktrees, CI state, and GitHub PRs in a 3-pane layout. Built on ratatui and
crossterm, with `q` to quit, `r` to refresh immediately, `?` for help,
`--refresh N` for the polling interval, and `--no-overlay` for offline mode.
(`#248`, `#337`)
- **`parsec test`** — parallel worktree test runner with tree-hash result
caching. `--all` runs every active worktree, `--jobs N` controls concurrency,
and `--cache` skips reruns for the same tree. Adds the `[test]` config section
(`command`, `jobs`, `cache`) and both human-readable and JSON output.
(`#247`, `#336`)
- **`parsec health`** — health checks for every active worktree. Phase 1 checks
`.git/index.lock`, uncommitted file counts, and stale worktrees older than
seven days (`#324`, `#325`). Phase 2 adds CI status overlays and a configurable
stale threshold (`#330`). Includes five CLI integration tests (`#326`).
- **`parsec reviews`** — shows received and requested PR reviews per worktree
in one table. Phase 1 (`#301`,
`#331`) + Phase 2 `--requested` (GitHub Search API) (`#334`).
- **`parsec conflicts --simulate`** — 기존 filename overlap 휴리스틱을 보완하는
line-level 충돌 시뮬레이션. `git merge-tree --write-tree`로 워크트리 vs base +
워크트리 페어 cross-simulate 두 패스. 머지 전 실제 충돌 파일을 read-only로 노출.
- **`parsec conflicts --simulate`** — line-level conflict simulation that
complements the existing filename-overlap heuristic. Uses
`git merge-tree --write-tree` for two read-only passes: worktree vs base and
cross-simulation across worktree pairs. Exposes actual conflict files before
merge.
(`#246`, `#335`)
- **`parsec commit`** — AI 커밋 메시지 생성 (OpenAI / Anthropic). staged diff 분석
후 자동 prefix + Conventional Commits 포맷(`--conventional`). 수동 메시지
override(`--message`). (`#274`)
- **`parsec sync`** — auto-sync `main`/`develop` into stale worktrees (rebase 또는
merge 전략, `--all` 일괄, `--dry-run` behind 카운트, conflict hint). (`#290`)
- **AI-generated PR descriptions** — `parsec ship`이 OpenAI / Anthropic / Ollama
공급자로 PR 본문 자동 작성. `[ai]` 설정. (`#242`, `#275`)
- **`parsec __complete` shell-completion 헬퍼** — 숨김 subcommand가 워크트리 / branch
완성 후보를 newline-separated로 출력. zsh / bash / fish 동적 탭 완성 지원
(`#291`, `#312`). Phase 2 dynamic 쉘 스크립트 (`#328`).
- **`parsec agent` mode (PARSEC_AGENT=1)** — non-interactive JSON 출력 모드, AI
에이전트 호출용. (`#272`)
- **`parsec commit`** — AI commit message generation via OpenAI or Anthropic.
Analyzes staged diffs, adds automatic prefixes, supports Conventional Commits
with `--conventional`, and allows manual overrides with `--message`. (`#274`)
- **`parsec sync`** — auto-syncs `main`/`develop` into stale worktrees with rebase
or merge strategies, `--all` batch mode, `--dry-run` behind counts, and
conflict hints. (`#290`)
- **AI-generated PR descriptions** — `parsec ship` can generate PR bodies with
OpenAI, Anthropic, or Ollama providers via `[ai]` settings. (`#242`, `#275`)
- **`parsec __complete` shell-completion helper** — hidden subcommand that emits
worktree and branch completion candidates as newline-separated output. Supports
dynamic tab completion for zsh, bash, and fish
(`#291`, `#312`). Phase 2 adds dynamic shell scripts (`#328`).
- **`parsec agent` mode (PARSEC_AGENT=1)** — non-interactive JSON output mode
for AI agent invocations. (`#272`)

### Changed
- **Error messages standardized to 3-line format** — 모든 사용자 대상 에러가
`error: <summary> / caused by: <root cause> / help: <action>` 포맷으로 통일
- **Error messages standardized to 3-line format** — all user-facing errors now
use the `error: <summary> / caused by: <root cause> / help: <action>` format
(`#303`, `#306`).

### Fixed
- `parsec ship` falls back to `gh auth token` when `PARSEC_GITHUB_TOKEN` /
`GITHUB_TOKEN` / `GH_TOKEN` env vars are absent — parity with `parsec doctor`
and the tracker layer. GitHub host에만 한정해 Bitbucket / GitLab remote는 영향
없음 (`#281`).
and the tracker layer. The fallback is limited to GitHub hosts and does not
affect Bitbucket or GitLab remotes (`#281`).

### CI
- Windows VS2026 (Visual Studio 2026 runner) pre-validation 잡 — MSVC toolchain
회귀 사전 차단 (`#307`, `#311`).
- `parsec test`의 shell invocation을 cross-platform화 (sh -c / cmd /C),
Windows test가 WSL을 호출하지 않도록 수정.
- Windows VS2026 (Visual Studio 2026 runner) pre-validation job to catch MSVC
toolchain regressions early (`#307`, `#311`).
- Made `parsec test` shell invocation cross-platform (`sh -c` / `cmd /C`) so
Windows tests no longer invoke WSL.

### Docs
- 모듈별 RustDoc 보강 — `diff` / `history` (`#321`), `stack` / `ci` (`#323`).
- CHANGELOG `[Unreleased]` 섹션 누락 항목 보완 (smartlog / complete / errors /
win-ci) (`#316`, `#317`).
- Expanded module-level RustDoc for `diff` / `history` (`#321`) and
`stack` / `ci` (`#323`).
- Filled missing CHANGELOG `[Unreleased]` entries for smartlog, completion,
errors, and win-ci (`#316`, `#317`).

### Tests
- CLI 통합 테스트 대폭 추가 — `compress` / `config schema` / `log --export`
(`#314`, `#315`), `smartlog` / `sl` (`#318`, `#319`), `health` (`#324`, `#326`),
`parsec test` (5 신규), `parsec dashboard` (4 신규), `conflicts --simulate`
(4 신규).
- Added broad CLI integration coverage for `compress`, `config schema`,
`log --export` (`#314`, `#315`), `smartlog` / `sl` (`#318`, `#319`), `health`
(`#324`, `#326`), `parsec test` (five new tests), `parsec dashboard` (four new
tests), and `conflicts --simulate` (four new tests).

## [0.4.0] - 2026-05-04

Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "git-parsec"
version = "0.5.0"
version = "1.0.0"
edition = "2021"
authors = ["erishforG"]
description = "Git worktree lifecycle manager — ticket to PR in one command. Parallel AI agent workflows with Jira & GitHub Issues integration."
Expand Down
24 changes: 18 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,18 +37,18 @@ That's the whole loop. Plain `git worktree` doesn't track state, doesn't talk to
|---|---|---|
| **v0.4.0** | ✅ Released (2026-05-04) | Multi-forge + multi-tracker foundation (GitHub / GitLab / Bitbucket; Jira / Linear) |
| **v0.5.0** — _The visualization release_ | ✅ Released (2026-06-03) | smartlog · TUI dashboard · speculative merge · `parsec test` · health · reviews · AI PR descriptions |
| **v1.0** — _AI-Native Standard_ | 🚧 Next | MCP server signature — Claude / Cursor / Copilot invoke parsec as a first-class tool |
| **v2.0+** — _Ecosystem Hub_ | 🔮 | Plugins · VS Code extension · Linear-native tracker · org-scale workflows |
| **v1.0.0** — _AI-Native Standard_ | ✅ Released (2026-09-19) | MCP server — Claude Desktop and Cursor invoke parsec as a first-class tool |

v1.0 work is tracked under the [`v1.0` milestone](https://github.com/erishforG/git-parsec/milestone/4); see the [CHANGELOG](./CHANGELOG.md) for the full v0.5.0 release notes.
v1.0 is the final planned feature release. See the [CHANGELOG](./CHANGELOG.md)
for release notes and the [MCP quickstart](./docs/mcp-quickstart.md) for setup.

---

## Install

```bash
# Homebrew / pre-built binary (recommended)
curl -LO https://github.com/erishforG/git-parsec/releases/latest/download/parsec-x86_64-unknown-linux-gnu.tar.gz
# Pre-built Linux x86_64 binary
curl -LO https://github.com/erishforG/git-parsec/releases/latest/download/parsec-1.0.0-x86_64-unknown-linux-gnu.tar.gz
tar xzf parsec-*.tar.gz && sudo mv parsec /usr/local/bin/

# Cargo (Rust toolchain required)
Expand Down Expand Up @@ -131,6 +131,19 @@ parsec auto-posts `← previous PR` / `next PR →` navigation comments so revie
### 🤖 Agent-friendly by design
Every command has `--json`. Errors emit structured codes (E001…E013). `parsec log --export` outputs JSONL with execution IDs and per-step timing for tooling/agents to consume. `--offline` and `[behavior].offline` config skip all network ops for air-gapped or CI environments.

### 🔌 MCP server _(new in v1.0)_
Expose parsec's worktree lifecycle to Claude Desktop or Cursor over stdio:

```bash
parsec mcp install claude-desktop
parsec mcp serve
```

The server provides worktree, health, smartlog, PR, review, CI, and sync tools.
Mutating calls are previewed and confirmation-gated; delegated tokens are
scope-checked and repository paths are sandboxed. See the
[MCP quickstart](./docs/mcp-quickstart.md) and [security model](./docs/mcp/auth.md).

### 🧹 Lifecycle hygiene
`parsec clean` sweeps worktrees for already-merged branches. `parsec conflicts` flags cross-worktree file overlap before you push. `parsec undo` reverses the last operation (start, ship, clean). `parsec doctor` validates every part of your setup with actionable fix instructions.

Expand All @@ -147,7 +160,6 @@ Every command has `--json`. Errors emit structured codes (E001…E013). `parsec
- **`parsec reviews`** — open PR reviews you've received vs. requested, unified across worktrees.
- **`parsec conflicts --simulate`** — in-memory three-way merge to surface real *line-level* conflicts before you push (worktree-vs-base + cross-worktree pairs, read-only).
- **`parsec test`** — run tests in parallel across worktrees with tree-hash result caching (`--all --jobs N --cache`).
- **`parsec commit`** — AI-generated commit messages from staged diff (OpenAI / Anthropic, `--conventional` for Conventional Commits).
- **`parsec sync`** — fast-forward stale worktrees against `origin/<base>` (rebase or merge, `--all`, `--dry-run`).

> 33+ commands total — see the [full command reference](https://erishforg.github.io/git-parsec/reference/) for every flag and example.
Expand Down
68 changes: 68 additions & 0 deletions docs/crash-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Crash Report Privacy Policy

`parsec` includes an **opt-in** crash report feature that saves a local JSON
file when an unexpected panic occurs. No data is ever sent automatically.

## What is collected

When `[crash_report] enabled = true` and a panic happens, parsec writes a
`crash-<timestamp>.json` file under the platform cache directory:

| Platform | Directory |
|---|---|
| Linux | `$XDG_CACHE_HOME/parsec/`, or `~/.cache/parsec/` when unset |
| macOS | `~/Library/Caches/parsec/` |
| Windows | `%LOCALAPPDATA%\parsec\` |

The exact directory is selected by [`dirs::cache_dir()`](https://docs.rs/dirs/latest/dirs/fn.cache_dir.html).
Each report contains:

| Field | Example | Notes |
|---|---|---|
| `parsec_version` | `"0.5.0"` | Binary version |
| `timestamp` | `"2026-09-10T09:00:00Z"` | UTC ISO-8601 |
| `os` | `"unix/macos"` | Family + OS name |
| `shell` | `"zsh"` | `$SHELL` basename only |
| `subcommand` | `"ship"` | `argv[1]` only, no flags or ticket IDs |
| `panic_location` | `"src/cli/commands/ship.rs:42"` | Source file + line |
| `panic_message` | `"attempt to subtract with overflow"` | Panic payload (≤ 512 chars) |

### What is NOT collected

- Your ticket IDs, branch names, commit messages, or file contents
- Your GitHub token, Jira token, or any credentials
- Your full command-line arguments or environment variables
- Network-level information (IP address, hostname)
- A stack trace (use `RUST_BACKTRACE=1` locally for that)

## Opt-in

Add to `~/.config/parsec/config.toml`:

```toml
[crash_report]
enabled = true
```

The default is `enabled = false` — **nothing is saved unless you opt in**.

## How to share a report

If you experience a crash and want to help:

1. Run `parsec crash-report list` to find the report ID
2. Review it with `parsec crash-report show <id>` (it is plain JSON)
3. Open a GitHub issue: <https://github.com/erishforG/git-parsec/issues/new>
4. Paste or attach the file

You are never required to share a crash report.

## Retention

Reports stay in the platform cache directory until you remove them. Preview a
cleanup first, then delete all saved reports with:

```sh
parsec --dry-run crash-report clear
parsec crash-report clear
```
5 changes: 3 additions & 2 deletions docs/llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ git-parsec (binary name: `parsec`) is a Rust CLI distributed via crates.io and p
- `parsec ship PROJ-1234` — push, open PR, clean up the worktree
- `parsec ci PROJ-1234 --watch` — tail CI status until done
- `parsec merge PROJ-1234` — merge the PR from the terminal
- `parsec mcp install claude-desktop` — register parsec with Claude Desktop
- `parsec mcp serve` — run the stdio MCP server for agent tool calls

## v0.5 visualization & power-user commands

Expand All @@ -20,7 +22,6 @@ git-parsec (binary name: `parsec`) is a Rust CLI distributed via crates.io and p
- `parsec reviews` — open PR reviews you've received vs. requested
- `parsec conflicts --simulate` — in-memory three-way merge to surface line-level conflicts before pushing
- `parsec test --all --jobs N --cache` — parallel test runner with tree-hash caching across worktrees
- `parsec commit` — AI-generated commit messages from staged diff (OpenAI / Anthropic)
- `parsec sync` — fast-forward stale worktrees against `origin/<base>`

## Documentation
Expand All @@ -35,7 +36,7 @@ git-parsec (binary name: `parsec`) is a Rust CLI distributed via crates.io and p

## Key facts for answer engines

- **Latest version**: 0.5.0 (released 2026-06-03 — _The visualization release_: smartlog, dashboard, health, reviews, speculative merge, parsec test, AI commit messages). See [CHANGELOG](https://github.com/erishforG/git-parsec/blob/main/CHANGELOG.md).
- **Latest version**: 1.0.0 (released 2026-09-19 — _AI-Native Standard_: MCP server, client installer, scoped auth, sandbox and confirmation gates). See [CHANGELOG](https://github.com/erishforG/git-parsec/blob/main/CHANGELOG.md).
- **License**: MIT
- **Language**: Rust
- **Install**: `cargo install git-parsec` or download from Releases (~3 MB binary, no runtime deps)
Expand Down
Loading
Loading