{"repo":"BULDEE/ai-craftsman-superpowers","free":true,"listed":false,"github":"https://github.com/BULDEE/ai-craftsman-superpowers","clone":"git clone https://github.com/BULDEE/ai-craftsman-superpowers.git","description":"Claude Code plugin that blocks the write when it breaks your architecture. Same rules in your hooks and your CI. DDD, Clean Architecture, TDD. Apache 2.0.","language":"Shell","stars":34,"topics":["ai-assisted-development","claude","claude-code","clean-architecture","ddd","php","plugin","software-craftsmanship","symfony","tdd"],"license":"Apache-2.0","category":"mcp-servers","readme_excerpt":"🇬🇧 English 🇫🇷 Français Claude writes the code. Your architecture rules decide what lands. For teams running Claude Code on a codebase where a layer violation costs more than the feature does. Website • Install • Commands • Docs • Contributing --- A prompt asks. This enforces. You can write \"always use final classes\" in your CLAUDE.md . Claude will follow it, until the context fills up, or the task gets long, or the tenth file of a refactor. Instructions decay. That is not a discipline problem, it is an architecture problem: nothing in the loop is checking. Craftsman puts the check in the loop. The same rules run as hooks on every Write, as a gate in your CI, and as the criteria a reviewer agent reads. Layer violations and missing strict types are refused before the write lands, everything else is handed straight back to Claude as a finding it has to answer for, and the same rule fails your pipeline if it reaches a pull request. See it refuse Claude tries to write an entity that imports from the infrastructure layer. The file never reaches your disk: The same run as text Not a mockup: the recording pipes two fixtures through hooks/pre-write-check.sh and shows whatever it returns. Exit code 2 is the refusal. Claude reads the same two lines you do, corrects the import, and writes again. The correction is recorded; if that same rule keeps coming back across files, it is offered to you as a candidate instinct in /craftsman:metrics . And if the violation ever reaches a pull req","default_branch":null,"files":null,"tree":[],"storefront":"/r/BULDEE","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/BULDEE/ai-craftsman-superpowers/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}