{"id":50969158,"url":"https://github.com/cloudflavor/parley","last_synced_at":"2026-06-19T00:02:02.134Z","repository":{"id":354581147,"uuid":"1212968701","full_name":"cloudflavor/parley","owner":"cloudflavor","description":"The future of code reviews. Review your AI agent's code. ","archived":false,"fork":false,"pushed_at":"2026-06-02T07:21:38.000Z","size":2913,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-02T09:16:00.146Z","etag":null,"topics":["ai","git","git-review","review","tui"],"latest_commit_sha":null,"homepage":"https://parley.cloudflavor.io","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudflavor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-16T23:10:58.000Z","updated_at":"2026-06-02T07:21:43.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/cloudflavor/parley","commit_stats":null,"previous_names":["cloudflavor/parley"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/cloudflavor/parley","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudflavor%2Fparley","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudflavor%2Fparley/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudflavor%2Fparley/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudflavor%2Fparley/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudflavor","download_url":"https://codeload.github.com/cloudflavor/parley/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudflavor%2Fparley/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34511617,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-18T02:00:06.871Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","git","git-review","review","tui"],"created_at":"2026-06-19T00:02:00.847Z","updated_at":"2026-06-19T00:02:02.124Z","avatar_url":"https://github.com/cloudflavor.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Parley\n\nParley is a terminal-first review tool for local Git diffs with structured, line-anchored discussion threads and optional AI-assisted replies/refactors.\n\n![Parley AI](assets/parley-ai.png)\n\nIt is designed for iterative review loops where code changes are generated or assisted by AI, but review state and thread resolution remain explicit and human-controlled.\n\nPrimary docs site: [https://parley.cloudflavor.io](https://parley.cloudflavor.io)\n\n![Parley Diff](assets/parley-diff.png)\n\n## Why Parley\n\n- Review threads are anchored to specific diff lines, not loose notes.\n- Thread status is explicit: `open`, `pending`, `addressed`.\n- Review state exists for compatibility, but TUI completion is thread-based.\n- TUI workflow is keyboard-first and optimized for rapid navigation.\n- AI operations integrate into the same thread model instead of bypassing review state.\n\n## Core Concepts\n\n### Diff source vs review session\n\nParley separates:\n\n- Diff source: what code you are reviewing (`working tree`, `--commit`, or `--base/--head` range)\n- Review session: repo-scoped state under the active Parley store (review name, threaded comments, status history)\n\nBy default, Parley stores repo-scoped state under `$HOME/.config/parley/repos/\u003crepo-name\u003e-\u003chash\u003e/`. If the repository already has a `.parley/` directory, Parley uses it instead. To opt a repository into local checked-in or shared state explicitly, run:\n\n```bash\nparley config use-local\n```\n\n### Thread lifecycle\n\n- New comment -\u003e `open`\n- Reply by original thread author -\u003e `open`\n- Reply by different author (including AI in normal flows) -\u003e `pending`\n- Explicit resolution by original thread author -\u003e `addressed`\n\n### Review lifecycle\n\n- Any `open` thread keeps review work active.\n- `pending` means waiting for human review.\n- `addressed` means the individual thread is resolved.\n\n## Installation\n\nPrerequisites:\n\n- Rust toolchain (for cargo install or building from source)\n- Git repository as working directory\n- Terminal with TUI support\n\n### Homebrew (macOS and Linux)\n\n```bash\nbrew tap cloudflavor/tap\nbrew install cloudflavor/tap/parley\n```\n\n### Cargo\n\n```bash\ncargo install parley-cli\n```\n\n### Build from source\n\n```bash\ncargo build --release\n```\n\nRun from source:\n\n```bash\ncargo run -- tui\n```\n\n## Quickstart\n\nCreate and start a review session:\n\n```bash\nparley review create my-review\nparley review start my-review\n```\n\nOpen TUI on current working tree changes:\n\n```bash\nparley tui --review my-review\n```\n\nDisable mouse capture for SSH/terminal compatibility:\n\n```bash\nparley tui --review my-review --no-mouse\n```\n\nReview historical diffs:\n\n```bash\nparley tui --review my-review --commit HEAD~2\nparley tui --review my-review --base main --head feature/my-branch\nparley tui --review my-review --base v0.1.0\n# everything after HEAD~2 (exclude that commit)\nparley tui --review my-review --base HEAD~2 --head HEAD\n# everything after and including HEAD~2\nparley tui --review my-review --base HEAD~2^ --head HEAD\n```\n\nReview the repository root as files instead of a git diff:\n\n```bash\nparley tui --review my-review --root\n```\n\nRoot mode lazy-loads file contents. JSON files are displayed with pretty formatting, and Markdown files are rendered into readable text rows.\n\n## CLI Reference\n\nGlobal options (available on every command):\n\n- `--worktree \u003cname|path\u003e` — use a specific git worktree by name or path\n\nTop-level commands:\n\n- `parley tui`\n- `parley review \u003csubcommand\u003e`\n- `parley config \u003csubcommand\u003e`\n- `parley worktree \u003csubcommand\u003e`\n- `parley mcp`\n\nCommon `review` subcommands:\n\n- `create \u003cname\u003e`\n- `start \u003cname\u003e` (shortcut for `set-state \u003cname\u003e under_review`)\n- `list`\n- `show \u003cname\u003e [--json]`\n- `set-state \u003cname\u003e \u003copen|under_review\u003e`\n- `add-comment ...`\n- `add-reply ...`\n- `mark-addressed ...`\n- `mark-open ...`\n- `run-ai-session ...`\n\nConfig subcommands:\n\n- `path` — print the active Parley store path\n- `use-local` — create `.parley/` in the repository and use it as the active store\n\nWorktree subcommands:\n\n- `list` — list known worktrees for the repository\n- `current` — print the resolved active worktree path\n\n## TUI Workflow and Key Controls\n\nThread actions:\n\n- `m` or `c`: create thread on selected line\n- `r`: reply to selected thread\n- `a`: mark addressed\n- `o`: mark open\n- `f`: force-address selected thread\n- `N` / `P`: next/previous thread\n\nReview state actions:\n\n- `s`: set `open`\n- `w`: set `under_review`\n- Thread completion is handled with `a`/`o`.\n\nAI actions:\n\n- `x`: AI refactor selected thread\n- `X`: AI reply selected thread\n- `A`: AI refactor review\n- `K`: cancel active AI run\n- `H`: per-file AI logs\n- `L`: global AI activity/session list\n\nUseful navigation:\n\n- `h/l`: previous/next file\n- `j/k`: line up/down\n- `/query`: search\n- `R`: refresh diff and review data\n- `?`: in-app help\n\n## AI Session Behavior\n\nProviders:\n\n- `codex`\n- `claude`\n- `opencode`\n- `pi`\n\nModes:\n\n- `refactor`\n- `reply`\n\nEligibility summary:\n\n- `refactor` targets `open` and `pending` threads.\n- `reply` targets `open` and `pending` by default.\n- Explicit selected-thread AI actions target the selected thread regardless of status.\n- Provider startup/config errors and stderr are surfaced in the per-file AI logs popup.\n\n## MCP Integration\n\nRun MCP server over stdio:\n\n```bash\nparley mcp\n```\n\nParley exposes JSON-RPC MCP tooling for review automation, including:\n\n- `list_reviews`\n- `get_review`\n- `list_open_comments`\n- `add_reply`\n- `mark_comment_addressed`\n- `mark_comment_open`\n- `set_review_state`\n- `run_ai_session`\n\n## Local State and Configuration\n\nParley stores review data in the active store. By default that is:\n\n```text\n$HOME/.config/parley/repos/\u003crepo-name\u003e-\u003chash\u003e/\n```\n\nIf `.parley/` already exists in the repository, Parley uses it as the active store. Run `parley config use-local` to create it explicitly for repositories that should keep Parley state in the project.\n\nBy default, `.parley/` is excluded from review diff file lists when local storage is active.\nTo include it again, set:\n\n```toml\nignore_parley_dir = false\n```\n\nin:\n\n```text\n$HOME/.config/parley/config.toml\n```\n\n## Documentation\n\nMain docs website:\n\n- [parley.cloudflavor.io](https://parley.cloudflavor.io)\n\nProject docs in this repository:\n\n- [Overview](docs/overview.md)\n- [Quickstart](docs/quickstart.md)\n- [Review Workflow](docs/review-workflow.md)\n- [Keybindings](docs/keybindings.md)\n- [MCP Integration](docs/mcp.md)\n\nDocs site source and deployment tooling:\n\n- [ui-docs/README.md](ui-docs/README.md)\n\n## License\n\nApache-2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudflavor%2Fparley","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudflavor%2Fparley","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudflavor%2Fparley/lists"}