[{"data":1,"prerenderedAt":124},["ShallowReactive",2],{"project:php-booster":3},{"id":4,"title":5,"body":6,"demo":86,"description":87,"docs":88,"draft":89,"extension":90,"highlights":91,"image":86,"language":101,"meta":102,"navigation":103,"order":104,"path":105,"repo":106,"seo":107,"site":86,"stack":108,"stem":117,"tagline":118,"tags":119,"__hash__":123},"projects\u002Fprojects\u002Fphp-booster.md","Booster",{"type":7,"value":8,"toc":79},"minimark",[9,14,18,21,25,66,70,76],[10,11,13],"h2",{"id":12},"the-argument","The argument",[15,16,17],"p",{},"Every team relitigates the same setup: which static analyzer, at what level,\nwhich formatter, which git hooks, and who fixes the 400 pre-existing violations.\nThe discussion costs more than the decision. Booster is that decision made once,\nwith the configuration that makes it survive contact with an existing codebase.",[15,19,20],{},"One command adds the whole stack to a project, with an interactive wizard for\nchoosing which tools you actually want.",[10,22,24],{"id":23},"what-it-installs","What it installs",[26,27,28,36,42,48,54,60],"ul",{},[29,30,31,35],"li",{},[32,33,34],"strong",{},"Static analysis"," - PHPStan and Psalm, configured at a level a real\ncodebase can adopt rather than the maximum that forces a mass baseline",[29,37,38,41],{},[32,39,40],{},"Formatting"," - EasyCodingStandard, applied automatically",[29,43,44,47],{},[32,45,46],{},"Refactoring"," - Rector, for mechanical language-version upgrades",[29,49,50,53],{},[32,51,52],{},"Git hooks"," - quality gates before the commit, not after the review",[29,55,56,59],{},[32,57,58],{},"IDE config"," - VS Code and PhpStorm settings, so the editor agrees with CI",[29,61,62,65],{},[32,63,64],{},"DDEV integration"," - optional, but the tools run inside the container when\nit is there",[10,67,69],{"id":68},"the-part-i-think-is-right","The part I think is right",[15,71,72,75],{},[32,73,74],{},"Formatting and modernization are fixed in CI, not in code review."," A GitHub\nAction applies the automated fixes and pushes them back. Style is never a review\ncomment, because a human arguing about brace placement is a human not reviewing\nthe logic.",[15,77,78],{},"The bundle versions itself, updates its own dependencies through a scheduled\nworkflow, and ships a documentation site. Integration tests verify the installer\nactually works against a fresh project, which is the test that matters for\nsomething whose entire job is installation.",{"title":80,"searchDepth":81,"depth":81,"links":82},"",2,[83,84,85],{"id":12,"depth":81,"text":13},{"id":23,"depth":81,"text":24},{"id":68,"depth":81,"text":69},null,"The PHP quality toolchain I bring to a team, packaged as one installable bundle: PHPStan, Psalm, Rector, ECS, git hooks, CI, and IDE config, pre-wired and ready on day one.","https:\u002F\u002Fterrorsquad.github.io\u002Fphp-booster\u002F",false,"md",[92,95,98],{"value":93,"label":94},"1","command to add the full toolchain to a project",{"value":96,"label":97},"Auto","formatting and modernization fixed in CI, not review",{"value":99,"label":100},"5","CI workflows, including integration tests","PHP \u002F Shell",{},true,4,"\u002Fprojects\u002Fphp-booster","https:\u002F\u002Fgithub.com\u002FTerrorSquad\u002Fphp-booster",{"title":5,"description":87},[109,110,111,112,113,114,115,116],"PHP","PHPStan","Psalm","Rector","ECS","DDEV","GitHub Actions","Python","projects\u002Fphp-booster","A PHP quality toolchain, packaged",[120,121,109,122],"Developer Experience","Standards","Automation","h1tQbiBW43kLeOk-OKxZVQn9MEMyzJy9mKyg94KUG1M",1785847686117]