{
  "markdown": "# PDD — Parity-Driven Development\n\n[![version](https://img.shields.io/badge/version-2.1.0-3b82f6)](CHANGELOG.md)\n[![license](https://img.shields.io/badge/license-MIT-22c55e)](LICENSE)\n[![agents](https://img.shields.io/badge/agents-Claude%20·%20Codex%20·%20Cursor%20·%20Copilot%20·%20Gemini-8957e5)](#install-in-any-agent)\n[![docs](https://img.shields.io/badge/docs-pdd.openvibes.tech-06b6d4)](https://pdd.openvibes.tech/docs)\n[![runtime](https://img.shields.io/badge/runtime-Node%20or%20Bun%20·%20no%20npm-f59e0b)](#the-pdd-cli)\n\n**A framework for reliable legacy refactor, rewrite, and port — with tracked behavioral parity.**\n\n<p align=\"center\">\n  <img src=\"demo/board.gif\" alt=\"pdd dashboard — parity coverage %, findings by status, confidence tiers, active work\" width=\"840\">\n  <br>\n  <sub><b>Objective, tracked parity at a glance</b> — coverage %, findings by lifecycle, confidence tiers, live activity. Rendered from real <code>.audit/</code> state with <a href=\"demo/board.tape\">VHS</a>.</sub>\n</p>\n\nPDD turns \"does the new system still behave like the old one?\" from a gut feeling into\n**objective, tracked evidence**. Every behavior of the reference (legacy) system becomes a\nfinding you can investigate, fix, prove, and gate through QA before it ever reaches `main`.\n\n> 📚 **Full documentation:** [**pdd.openvibes.tech/docs**](https://pdd.openvibes.tech/docs) —\n> concepts (the *why*), step-by-step guides, and a complete command & config reference. Source\n> lives as markdown in [`docs/`](docs/).\n\nThe framework is built on eight principles: **forced discipline / gates**, **state\nexternalized in files** (`.audit/` is the source of truth, not the model's context),\n**small composable commands**, **objective evidence over opinion**, **a human at the gate\nof every irreversible action**, **fast observable feedback**, **idempotent state-aware\ncommands**, and **progressive disclosure** (the cycle teaches itself).\n\n> **Inviolable rule:** the AI never *authors* commits. `push` / `gh pr create` happen only\n> after an explicit human **\"yes\"** in the same session. **Merge is 100% human** and only\n> after QA approves.\n\n---\n\n> **New to PDD?** The [**Quickstart**](QUICKSTART.md) walks you from zero to your first verified\n> finding, one command at a time, with a real worked example.\n\n## Table of Contents\n\n- [Installation](#installation)\n- [The cycle (multi-phase QA)](#the-cycle-multi-phase-qa)\n- [Skills](#skills)\n- [Install in any agent](#install-in-any-agent)\n- [Updating](#updating)\n- [Confidence tiers](#confidence-tiers)\n- [Philosophy](#philosophy)\n- [The coverage map](#the-coverage-map)\n- [The `pdd` CLI](#the-pdd-cli)\n- [Generated `.audit/` structure](#generated-audit-structure)\n- [Language](#language)\n- [Learn more](#learn-more)\n- [License](#license)\n\n## Installation\n\n**Pick your agent** — click to expand its install command. All installs are self-service (they read\nmanifests that ship in this repo). Scopes, the command-file fallback, and the full matrix are in\n[Install in any agent](#install-in-any-agent).\n\n<details>\n<summary><b>Claude Code</b></summary>\n\n```bash\nclaude plugin marketplace add blpsoares/parity-driven-development --scope project\nclaude plugin install       pdd@parity-driven-development         --scope project\n```\n</details>\n\n<details>\n<summary><b>GitHub Copilot</b></summary>\n\n```bash\ncopilot plugin marketplace add blpsoares/parity-driven-development\ncopilot plugin install       pdd@parity-driven-development\n```\n</details>\n\n<details>\n<summary><b>Codex</b></summary>\n\n```bash\ncodex plugin marketplace add blpsoares/parity-driven-development\n# then open /plugins and install PDD\n```\n\nReads `.agents/plugins/marketplace.json` + `.codex-plugin/`. Listing in the in-app catalog is optional, not required to install.\n</details>\n\n<details>\n<summary><b>Cursor</b></summary>\n\n```bash\nnpx skills add https://github.com/blpsoares/parity-driven-development\n# or import the repo as a Team Marketplace in Cursor\n```\n</details>\n\n<details>\n<summary><b>Factory Droid</b></summary>\n\n```bash\ndroid plugin marketplace add https://github.com/blpsoares/parity-driven-development\ndroid plugin install       pdd@parity-driven-development\n```\n</details>\n\n<details>\n<summary><b>Antigravity</b></summary>\n\n```bash\nagy plugin install https://github.com/blpsoares/parity-driven-development\n```\n</details>\n\n<details>\n<summary><b>Gemini CLI</b></summary>\n\n```bash\ngemini extensions install https://github.com/blpsoares/parity-driven-development\n```\n</details>\n\n<details>\n<summary><b>Pi</b></summary>\n\n```bash\npi install git:github.com/blpsoares/parity-driven-development\n```\n</details>\n\n<details>\n<summary><b>Kimi Code</b></summary>\n\n```text\n/plugins install https://github.com/blpsoares/parity-driven-development\n```\nOr open `/plugins` → Marketplace and install PDD. Reads `.kimi-plugin/plugin.json`.\n</details>\n\n<details>\n<summary><b>OpenCode</b></summary>\n\nAdd to your `opencode.json`:\n```json\n{ \"plugin\": [\"pdd@git+https://github.com/blpsoares/parity-driven-development.git\"] }\n```\nRestart OpenCode. See [`.opencode/INSTALL.md`](.opencode/INSTALL.md).\n</details>\n\n<details>\n<summary><b>Any other agent</b> — command-file fallback</summary>\n\n```bash\ncd /path/to/your-target-project\ncurl -fsSL https://pdd.openvibes.tech/cli | bash -s -- <codex|cursor|copilot|gemini|all> [--private | --global]\n```\n\nCopies the self-contained `SKILL.md` files into the agent's skill directory. `--private` = personal (gitignored); `--global` = home config.\n</details>\n\n### Claude Code — the details\n\nPDD ships as a single-plugin marketplace. Install it **per-project** — its whole job is to track\nthe parity of *one* migration in that project's `.audit/` directory.\n\nIt takes **two separate commands** (they write two different keys in `.claude/settings.json`):\n\n```bash\nclaude plugin marketplace add blpsoares/parity-driven-development --scope project   # → extraKnownMarketplaces\nclaude plugin install       pdd@parity-driven-development         --scope project   # → enabledPlugins\n```\n\n- `marketplace add` **declares the source**; `install` **enables the plugin**. You need both.\n- **Use `--scope project` on BOTH** and commit `.claude/settings.json` — then your teammates just\n  **clone → trust the repo → approve the install prompt**, with no manual setup.\n\n> ⚠️ **Common trap:** `install --scope project` alone only writes `enabledPlugins`. Without\n> `marketplace add --scope project` (which writes `extraKnownMarketplaces`), teammates can't\n> resolve the plugin. For a solo machine you can drop `--scope project` from `marketplace add`\n> (it defaults to `user`), but then it isn't shared.\n\n> **Note:** plugin skills live in the global cache (`~/.claude/plugins/cache/…`), **not** the\n> project's `.claude/skills/` — an empty `.claude/skills/` is normal and expected.\n\n**Coming from the old home?** If you installed PDD via `pdd@blpsoares-my-claude`, remove it\n(`claude plugin uninstall pdd@blpsoares-my-claude --scope project`) and install from the new\nmarketplace above. PDD moved to its own dedicated repo. Your `.audit/` folder stays as-is.\n\n---\n\n## The cycle (multi-phase QA)\n\nRun these skills one at a time. Each is gated: it refuses to advance on insufficient input.\n\n```\n/audit-bootstrap            once — captures QA environments, coverage baseline, thresholds\n        │\n        ▼\n/audit-new <desc>           → finding NNN (+ initial confidence score, + coverage entry)\n        │                      optionally isolates the work in a dedicated git worktree\n        ▼\n/audit-investigate NNN      → root cause\n        │\n        ▼\n/audit-resolve NNN          → fix + characterization test + parity evidence\n        │                      creates branch audit/NNN · does NOT commit · coverage → resolved\n        ▼\n   (human commits)\n        │\n        ▼\n/audit-compare NNN          → golden-master harness: runs both systems, produces objective diff\n        │\n        ▼\n/audit-qa NNN local         → QA on LOCALHOST, BEFORE the PR. Approval unblocks /audit-pr.\n        │\n        ▼\n/audit-pr NNN               → assembles the PR dossier. BLOCKS unless qa-local is approved.\n        │                      push + gh pr create ONLY after human \"yes\"\n        ▼\n   (deploy to dev / staging / prod)\n        │\n        ▼\n/audit-qa NNN staging|prod  → QA on the deployed ENVIRONMENT, AFTER the PR. Records qa-<env>.\n        │\n        ├─ ✅ target-env QA approved + PR merged → coverage → verified (a HUMAN merges)\n        └─ ❌ rejected  → follow-up finding on the SAME branch (pre-merge) or a new one (post-deploy)\n\n/audit-status  ·  pdd board --watch     (at any moment)\n```\n\n**QA is multi-phase.** It runs **local** (localhost, *before* the PR — its approval is a blocking\nprecondition of `/audit-pr`) and per **deployment environment** (dev/staging/prod, *after* the\nPR/deploy). Per-environment status is stored as `qa-<env>` on the finding. Coverage only becomes\n`verified` when the **target environment** (`QA_TARGET_ENV`, default the last in the chain) is\napproved **and** the PR is merged. **Merge is 100% human.**\n\n### Worktree option\n\n`/audit-new` asks whether to isolate a finding's work in a dedicated **git worktree**.\n\n- **Yes** → creates worktree + branch `audit/NNN-<slug>` **inside the repo** and records\n  `worktree: <path>` on the finding. `investigate` / `resolve` / `compare` / `pr` then operate\n  **inside that worktree**. The base directory follows the harness:\n  - **Claude Code** → `.claude/worktrees/audit-NNN-<slug>`\n  - **Any other agent** → `.audit-worktrees/audit-NNN-<slug>`\n  - The base is added to `.gitignore` so worktree contents are never committed.\n- **No** → records `worktree: none`; the branch is created by `resolve` in the main checkout.\n\n---\n\n## Skills\n\n| Skill | What it does |\n|---|---|\n| `/audit-bootstrap` | One-time interview. Captures reference-vs-new adapters, QA environments (`QA_ENVIRONMENTS` + `QA_TARGET_ENV`), preview/branch mode, seeds the coverage map, sets confidence thresholds. |\n| `/audit-new <desc>` | Opens finding `NNN`, computes an initial confidence tier, adds a coverage entry, and asks the worktree-isolation question. |\n| `/audit-investigate NNN` | Read-only root-cause investigation of the reference behavior. |\n| `/audit-resolve NNN` | Fix + mandatory characterization test + machine-readable `evidence` block. Creates branch `audit/NNN`, does **not** commit. Blocks below `CONFIDENCE_MIN`. |\n| `/audit-compare NNN` | **Golden-master harness.** Runs the same operation on both systems (CLI / DB / API / browser adapter) and emits an objective data-to-data diff (Tier 2 evidence). Read-only, confirms every query first. |\n| `/audit-pr NNN` | Assembles the PR as an **evidence dossier** (symptom→cause→fix, tier, checks, characterization test, parity diff, paired screenshots, QA checklist). **Blocks unless `qa-local` is approved.** Pushes and opens the PR **only after an explicit human \"yes.\"** |\n| `/audit-qa NNN <env>` | Multi-phase QA. `local` runs on localhost **before** the PR (unblocks `/audit-pr`); `dev`/`staging`/`prod` run **after** the PR/deploy on that environment. Records `qa-<env>`. Coverage → `verified` only when the target env is approved **and** the PR is merged. |\n| `/audit-status` | In-chat panel: parity-coverage %, confidence distribution, active tasks, suggested next actions. |\n\n---\n\n## Install in any agent\n\nPDD ships as a **native plugin** for every harness that has a plugin system, and falls back to\n**command-file scaffolding** — the same self-contained `SKILL.md` files, copied into the agent's\nskill directory — where a native install isn't available. Both paths give you the same `/audit-*`\ncommands and the optional `pdd` dashboard.\n\n### Native install support\n\nEach harness's plugin manager reads a manifest that ships in this repo (`.claude-plugin/`,\n`.codex-plugin/`, `.cursor-plugin/`, `.agents/plugins/`, `gemini-extension.json`, `.pi/`).\n\n| Harness | Native install | Installs from |\n|---|---|---|\n| **Claude Code** | `/plugin marketplace add blpsoares/parity-driven-development` → `claude plugin install pdd@parity-driven-development` | this repo ✅ |\n| **GitHub Copilot** | `copilot plugin marketplace add blpsoares/parity-driven-development` → `copilot plugin install pdd@parity-driven-development` | this repo ✅ |\n| **Factory Droid** | `droid plugin marketplace add https://github.com/blpsoares/parity-driven-development` → `droid plugin install pdd@parity-driven-development` | this repo ✅ |\n| **Antigravity** | `agy plugin install https://github.com/blpsoares/parity-driven-development` | this repo ✅ (reads `.claude-plugin/`) |\n| **Codex** (CLI) | `codex plugin marketplace add blpsoares/parity-driven-development`, then install PDD from `/plugins` | this repo ✅ (reads `.agents/plugins/marketplace.json` + `.codex-plugin/`) |\n| **Cursor** | `npx skills add https://github.com/blpsoares/parity-driven-development`, or import as a **Team Marketplace** | this repo ✅ (reads `.cursor-plugin/`) |\n| **Gemini CLI** | `gemini extensions install https://github.com/blpsoares/parity-driven-development` | this repo ✅ |\n| **Pi** | `pi install git:github.com/blpsoares/parity-driven-development` | this repo ✅ |\n| **Kimi Code** | `/plugins install https://github.com/blpsoares/parity-driven-development` | this repo ✅ (reads `.kimi-plugin/`) |\n| **OpenCode** | add `pdd@git+https://…` to `opencode.json` `plugin` array | this repo ✅ (reads `.opencode/`) |\n\n> **On \"official marketplaces\":** the Codex and Cursor *in-app catalogs* (`/plugins` browse, Cursor's\n> plugin search) list plugins their teams have curated — getting PDD **listed** there is an optional\n> submission. It is **not** required to install: `codex plugin marketplace add <repo>` and Cursor's\n> Team-Marketplace repo import (or `npx skills add <repo>`) install straight from this repo today.\n\n### Command-file fallback (works in any agent, no plugin system needed)\n\nRun from **the project you're refactoring/porting** — needs `git` + **Node or Bun** (no npm):\n\n```bash\ncd /path/to/your-target-project\ncurl -fsSL https://pdd.openvibes.tech/cli | bash -s -- <codex|cursor|copilot|gemini|all> [--global | --private]\n# or, with the CLI already installed:\npdd adapt <harness> [--global | --private]     # one harness\npdd init                                        # interactive picker: agents + scope\n```\n\nWant **only the `pdd` dashboard CLI**, without writing any command files into a project? Use `cli`\nas the target — see [Getting the `pdd` command](#getting-the-pdd-command):\n\n```bash\ncurl -fsSL https://pdd.openvibes.tech/cli | bash -s -- cli\n```\n\nThis writes the `SKILL.md` command files into the agent's native skill directory\n(`.agents/skills/` for Codex, `.cursor/skills/`, `.github/skills/` for Copilot, `.gemini/skills/`)\nand, for non-Claude agents, an always-on rule that keeps update-awareness working.\n\n### Install scopes (apply to the command-file path)\n\n| Scope | What it means | Flag |\n|---|---|---|\n| **project — shared** | committed to the repo so **every collaborator** gets PDD | *(default)* |\n| **project — just me** | written into the project but added to `.gitignore` (personal, not shared) | `--private` |\n| **global** | your home config, available in **every project** | `--global` |\n\nNative plugin managers use their own scope model (e.g. Claude's `--scope project | user`); the\nthree scopes above govern the command-file path (`pdd adapt` / shell installer / `pdd init`).\n\n<details>\n<summary><b>Antigravity / any other agent — manual fallback</b></summary>\n\nTell the agent to *fetch and follow* [`INSTALL.md`](INSTALL.md), or point it at [`AGENTS.md`](AGENTS.md)\n+ the `skills/` directory — the SKILL.md files are self-contained instructions. Where a file says\n`$ARGUMENTS`, that is where the user's arguments go.\n</details>\n\n## Updating\n\n**How you'll know:**\n- **In Claude Code:** a SessionStart hook checks for a newer version and, when one exists, the\n  assistant proactively tells you, offers to summarize what's new (from the CHANGELOG), and offers to\n  run the update for you — once per version, never nagging.\n- **In Codex / Cursor / Copilot / Gemini** (no session hooks): installing PDD also drops an always-on\n  rule (`.cursor/rules/pdd.mdc`, `.github/instructions/pdd.instructions.md`, or a marked block in\n  `AGENTS.md` / `GEMINI.md`) that tells the agent to run `pdd check` when starting PDD work and offer\n  `pdd update` if a new version exists — the same proactive flow, driven by the rule + the CLI. Skip\n  it with `pdd init --no-rules`.\n- **In the terminal:** the `pdd` dashboard shows a 🔔 notice (checked once a day, cached, offline-safe).\n- On demand: `pdd check`. Opt out of all of it with `PDD_NO_UPDATE_CHECK=1`.\n\n**How to update:**\n\n| Installed via | Update command |\n|---|---|\n| Claude Code plugin | `claude plugin update pdd@parity-driven-development` (then `pdd init` to refresh other agents' commands) |\n| `install.sh` / git clone | `pdd update` — pulls the latest and re-generates your agents' command files |\n| Codex / Cursor / Copilot / Gemini | re-run `install.sh <harness>` (or `pdd update`) — the generated command files are static snapshots and don't auto-update |\n\n## Confidence tiers\n\nEvery finding carries a confidence tier describing the **quality of its evidence**.\n\n| Tier | Evidence | Label |\n|---|---|---|\n| **tier-0** | textual description only | 🔴 low |\n| **tier-1** | paired screenshots (reference vs new) | 🟡 medium |\n| **tier-2** | automated data-to-data diff (`/audit-compare`) | 🟠 high |\n| **tier-3** | tier-2 **plus** a passing characterization test | 🟢 max |\n\nThe tier lives in the finding's frontmatter (`confidence`) and in the `evidence` block of\n`resolution.md`. `audit-resolve` refuses to close a finding below `CONFIDENCE_MIN`\n(default `tier-1`, `tier-2` recommended), set during bootstrap.\n\n---\n\n## Philosophy\n\nPDD rests on **eight principles** that turn behavioral parity from a gut feeling into\ntracked evidence: **forced discipline / gates** (each command refuses to advance on\ninsufficient input), **state externalized in files** (`.audit/` is the source of truth, not\nthe model's context), **small composable commands**, **objective evidence over opinion**, **a\nhuman at the gate of every irreversible action**, **fast observable feedback**, **idempotent\nstate-aware commands**, and **progressive disclosure** (the cycle teaches itself). Together\nthey make a migration auditable by anyone, at any time, regardless of which agent or session\nproduced the work.\n\nFor the reasoning behind the method and a principle-by-principle deep dive, see\n[**What is PDD?**](docs/concepts/what-is-pdd.md) and\n[**The eight principles**](docs/concepts/the-eight-principles.md).\n\n---\n\n## The coverage map\n\n`.audit/coverage.md` is a **machine-readable** table — the single view of *how much of the\nlegacy behavior is already verified, and at what confidence*. Seeded by `audit-bootstrap`,\nmoved to `finding-open` by `audit-new`, to `resolved` by `audit-resolve`, and only to\n`verified` by `audit-qa` — once the target-environment QA is approved **and** the PR is merged.\n\n```markdown\n| Behavior / Area          | Reference case | Status        | Tier   | Finding |\n|--------------------------|----------------|---------------|--------|---------|\n| checkout: total          | order #123     | verified      | tier-3 | 007     |\n| login: total (local fix) | order #124     | resolved      | tier-2 | 009     |\n| login: lock after 3 fails| test user      | finding-open  | tier-1 | 012     |\n| export CSV               | —              | not-started   | —      | —       |\n```\n\nStatus is one of `not-started` · `finding-open` · `resolved` · `verified`. `resolved` is a\n**local, unguaranteed** claim (the fix landed, tests pass); only `verified` counts as a\nguarantee. **Parity coverage %** = verified / total — the headline metric on the panel.\n\n---\n\n## The `pdd` CLI\n\nAn **optional** terminal dashboard that renders the same state as `/audit-status`. It runs on\n**Node** or **Bun** — **no npm**. The whole PDD *method* needs no runtime at all; this is just a\nnicer way to watch progress. (`/audit-status` gives the same info in-chat with zero dependencies.)\n\n![pdd dashboard](demo/pdd.gif)\n\n> The GIF above is generated from [`demo/pdd.tape`](demo/pdd.tape) with\n> [VHS](https://github.com/charmbracelet/vhs) — reproducible, always matching the current UI.\n> See [`demo/README.md`](demo/README.md) to regenerate it.\n\n### Getting the `pdd` command\n\nThe CLI ships with the plugin / repo — it runs `dist/pdd.js` on **Node**, or the source on **Bun**.\n**CLI only, one line** (no command files, nothing written into your project — it clones the repo to\n`~/.pdd` and drops the `pdd` wrapper in `~/.local/bin`):\n\n```bash\ncurl -fsSL https://pdd.openvibes.tech/cli | bash -s -- cli\n```\n\nAlready have the plugin or a clone? Install the same PATH wrapper from there instead:\n\n```bash\nbash ~/.claude/plugins/cache/parity-driven-development/pdd/*/scripts/install-cli.sh\n# installs `pdd` to ~/.local/bin\n```\n\nThen, from any project that ran `/audit-bootstrap`:\n\n```\npdd                  # interactive, navigable dashboard (default) — ↑/↓ move, →/enter expand, ←/esc collapse, q quit\npdd tui              # same interactive dashboard, explicit\npdd board            # static ANSI snapshot (good for piping/CI)\npdd board --watch    # static auto-refresh whenever .audit/ changes (fs.watch)\npdd prune            # remove stale/orphaned activity records (from crashed sessions)\n```\n\nWith no path argument, `pdd` walks up from the current directory to find `.audit`, so it\nworks from any subfolder of the project.\n\nThe interactive TUI shows a collapsible tree: **Coverage**, **Worktrees** (expand a worktree\nto see its branch, full path and findings), **Findings** grouped by lifecycle (open /\nin-progress / done, each listing the finding ids), and **Active now** (live executions across\nagents and worktrees). It refreshes live as `.audit/` changes.\n\nIt reads `board.md`, the findings' frontmatter, `coverage.md`, and the `evidence` blocks of\nthe resolutions. The CLI is optional — `/audit-status` covers the same ground in chat if\nBun isn't available.\n\n---\n\n## Generated `.audit/` structure\n\nPDD keeps all state in the project under `.audit/` — it survives across sessions and devs.\n\n```\n.audit/\n├── BOOTSTRAP.md            reference/new adapters, preview mode, coverage baseline, thresholds\n├── board.md               tasks and cross-finding state\n├── coverage.md            the parity coverage map\n├── findings/NNN-<slug>/\n│   ├── README.md          finding frontmatter (id, title, slug, area, severity,\n│   │                      status, discovered-at/by, confidence, worktree)\n│   ├── investigation.md   root cause\n│   ├── resolution.md      fix + machine-readable `evidence` block + PR URL\n│   └── refs/              parity-<date>.diff, parity-reference.png, parity-new.png\n└── resolved/NNN-<slug>/   findings that shipped\n```\n\nThe `evidence` block inside `resolution.md`:\n\n```yaml\nevidence:\n  confidence: tier-3\n  parity_diff: refs/parity-2026-07-01.diff\n  characterization_test: tests/audit/007_checkout.test.ts\n  screenshots: [refs/parity-reference.png, refs/parity-new.png]\n  checks: { check: pass, test: pass }\n  pr_url: https://github.com/org/repo/pull/42\n```\n\n---\n\n## Language\n\nThe framework files are written in **English** because PDD is meant to be shared. But\nlanguage ≠ behavior: every skill instructs the AI to **interact with the dev in their\nworking language** — the example phrases in the skills are templates, not literal scripts.\n\n---\n\n## Learn more\n\nThe full docs live at **[pdd.openvibes.tech/docs](https://pdd.openvibes.tech/docs)** and, as\nsingle-source markdown, in **[`docs/`](docs/)**. Organized by [Diátaxis](https://diataxis.fr/):\n\n**Concepts** — the *why* behind the method:\n[What is PDD?](docs/concepts/what-is-pdd.md) ·\n[The eight principles](docs/concepts/the-eight-principles.md) ·\n[Evidence & tiers](docs/concepts/evidence-and-tiers.md) ·\n[The coverage model](docs/concepts/coverage-model.md) ·\n[Multi-phase QA](docs/concepts/multi-phase-qa.md) ·\n[State lives in files](docs/concepts/state-in-files.md)\n\n**Guides** — task-oriented how-tos:\n[Refactor a legacy monolith](docs/guides/refactor-legacy-monolith.md) ·\n[Port to a new language](docs/guides/port-to-new-language.md) ·\n[Parallel findings with worktrees](docs/guides/parallel-findings-worktrees.md) ·\n[Set up QA environments](docs/guides/qa-environments.md) ·\n[Handle a rejected QA](docs/guides/handling-rejected-qa.md) ·\n[PDD in a monorepo](docs/guides/monorepo.md) ·\n[Golden-master adapters](docs/guides/golden-master-adapters.md)\n\n**Reference** — dry and exhaustive:\n[Command reference](docs/reference/commands.md) ·\n[The `.audit/` structure](docs/reference/audit-structure.md) ·\n[Configuration](docs/reference/configuration.md) ·\n[The `pdd` CLI](docs/reference/cli.md)\n\n**Contributing:** [`CONTRIBUTING.md`](CONTRIBUTING.md) ·\n[`DEVELOPMENT.md`](DEVELOPMENT.md) ·\n[`SECURITY.md`](SECURITY.md) ·\n[`SUPPORT.md`](SUPPORT.md) ·\n[`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md)\n\n---\n\n## License\n\nReleased under the [MIT License](LICENSE).\n",
  "bytes": 25062,
  "sha": "3447c83e6ca3afe0534e68851f0b8afd59d82e23fa359a8e23d4f1e209c568e0",
  "repo_slug": "blpsoares/parity-driven-development",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_blpsoares_parity_driven_development_99fa0b52/readme"
}