{"id":50602758,"url":"https://github.com/leonardocandiani/keepwright","last_synced_at":"2026-06-05T20:00:45.565Z","repository":{"id":358679987,"uuid":"1240093027","full_name":"leonardocandiani/keepwright","owner":"leonardocandiani","description":"Skill Claude Code que aplica arquitetura de qualidade alta em qualquer projeto git. Rules estruturadas + CI/CD com auto-review OAuth + validators portáveis + deploy adaptado à stack.","archived":false,"fork":false,"pushed_at":"2026-06-05T19:04:46.000Z","size":2128,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-05T19:24:09.707Z","etag":null,"topics":["automation","ci-cd","claude-code","claude-skill","devops","engineering","github-actions","oauth","open-source","pr-review","quality","setup"],"latest_commit_sha":null,"homepage":"https://github.com/leonardocandiani/setup-projeto-qualidade","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leonardocandiani.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-15T19:00:32.000Z","updated_at":"2026-06-05T19:04:48.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/leonardocandiani/keepwright","commit_stats":null,"previous_names":["leonardocandiani/setup-projeto-qualidade"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/leonardocandiani/keepwright","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonardocandiani%2Fkeepwright","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonardocandiani%2Fkeepwright/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonardocandiani%2Fkeepwright/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonardocandiani%2Fkeepwright/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leonardocandiani","download_url":"https://codeload.github.com/leonardocandiani/keepwright/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leonardocandiani%2Fkeepwright/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33957499,"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-05T02:00:06.157Z","response_time":120,"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":["automation","ci-cd","claude-code","claude-skill","devops","engineering","github-actions","oauth","open-source","pr-review","quality","setup"],"created_at":"2026-06-05T20:00:20.930Z","updated_at":"2026-06-05T20:00:45.559Z","avatar_url":"https://github.com/leonardocandiani.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"assets/keepwright-forge.gif\" alt=\"keepwright\" width=\"300\"\u003e\n\n# keepwright\n\n**Set up and keep a high-quality engineering architecture in any git repo.**\n\n\u003c/div\u003e\n\nA Claude Code plugin that implants a constitution, structured rules, GitHub\nActions (CI, AI PR review, `@claude` mention, safe auto-merge), portable\nvalidators, and git hooks — detecting your stack and adapting. After setup it\nkeeps maintaining: it audits the repo and uses multi-agent workflows to derive\nyour design and writing-voice patterns, then turns them into rules and validators.\n\n## Install\n\nRun each `/plugin` command on its own — don't paste both at once.\n\n**1. Add the marketplace**\n\n```\n/plugin marketplace add leonardocandiani/keepwright\n```\n\n**2. Install the plugin**\n\n```\n/plugin install keepwright\n```\n\n**3. Reload to activate**\n\n```\n/reload-plugins\n```\n\nLoads keepwright's commands, skills, and agents into the current session — no Claude Code restart needed.\n\n## Commands\n\n| Command | What it does |\n|---------|--------------|\n| `/keepwright:setup` | Interactive wizard. Detects the stack and installs the full architecture. |\n| `/keepwright:audit` | Checks integration coverage of an existing repo against the architecture. |\n| `/keepwright:review` | Compares repo state against the patterns derived from your code and docs. |\n\n## Workflows\n\nMulti-agent orchestration the commands run under the hood — each fans out parallel agents and synthesizes the result. You normally don't call these directly (the commands trigger them), but they're invocable on their own for advanced use:\n\n| Workflow | What it does | Triggered by |\n|----------|--------------|--------------|\n| `/keepwright:map-brownfield` | Parallel read-only analysis of a large repo, synthesized into a config enrichment. | `setup` (large repos) |\n| `/keepwright:derive-patterns` | Mines the repo's design + writing-voice patterns into rules and validator specs. | `setup`, `review` |\n| `/keepwright:verify-setup` | Adversarially verifies a fresh setup in parallel: secrets, equalization, workflow YAML, validators, the P1–P5 hierarchy. | `audit --deep` |\n\n## Skills \u0026 agents\n\n- **Skills** — `keepwright` (the methodology behind the wizard) and `pr-review` (the review procedure the CI calls as `/pr-review #N`).\n- **Agents** — `design-auditor` and `voice-auditor`: read-only auditors that inspect the repo's design and writing-voice dimensions.\n\n## Three layers\n\n- **Wizard** (`/keepwright:setup`) — an interactive command that detects git,\n  stack (Node/Deno/Python/etc), Claude config, and existing CI, then installs\n  the constitution, rules, workflows, validators, and hooks. Destructive steps\n  ask for explicit approval.\n- **Engine** — the deterministic part: portable validators and git hooks that\n  run the same way on every machine and in CI. No model in the loop, no flaky\n  output.\n- **Workflows** — multi-agent orchestration that audits an existing repo, derives\n  its design and writing-voice patterns, and writes them back as rules and\n  validators.\n\n## What it installs\n\n- **Constitution** — `CLAUDE.md` as an equalized index of the rules, with the\n  always-loaded invariants inline.\n- **Rules** — `.claude/rules/`: invariants, pipeline equalization, the P1–P5\n  epistemic hierarchy, PR flow, lesson catalysis, parallel work streams, safe\n  merge, and empirical proof before merge.\n- **GitHub Actions** — `ci.yml` (type-check, lint, validators), `pr-auto-review.yml`\n  (heuristic + Claude review over OAuth), `claude-mention.yml` (`@claude` on\n  demand), `pr-auto-merge.yml` (auto-merge only for inert changes), and a deploy\n  template picked by stack.\n- **Validators** — portable TypeScript checks: secret scanning, CLAUDE.md sync,\n  epistemic-hierarchy gate, empirical-proof gate, webhook-active check.\n- **Hooks** — lefthook (pre-commit validators + type-check, conventional\n  commit-msg, force-push guard on main) plus structure and TODO generators.\n\n## Auth\n\nThe AI workflows use `CLAUDE_CODE_OAUTH_TOKEN`. Run `/install-github-app` and\npick the subscription/OAuth option — it wires the token for you. Without the\nsecret, the AI jobs skip gracefully. An API key is a documented fallback, not\nrecommended.\n\nIf you need to set the secret by hand, `scripts/setup-oauth-secret.sh\n\u003cowner\u003e/\u003crepo\u003e` reads the token from the macOS Keychain or\n`CLAUDE_CODE_OAUTH_TOKEN`, validates its shape, and sets it without mangling.\n\n## Double merge gate\n\nReal auto-merge runs only for inert changes (docs, chronology, work-stream\nnotes). Anything touching code, CI, rules, deploy, or config is human-gated: the\nAI prepares the PR, a human gives a one-line go. Detail in\n`templates/rules/07-safe-merge.md.template`.\n\n## License\n\nMIT. See [LICENSE](LICENSE) and [AUTHORS.md](AUTHORS.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleonardocandiani%2Fkeepwright","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleonardocandiani%2Fkeepwright","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleonardocandiani%2Fkeepwright/lists"}