About
DevForgeKit started as a personal answer to a universal problem: setting up a development machine is undocumented, unrepeatable tribal knowledge. It grew into a platform that treats your workstation like production infrastructure.
The story
Every developer has lived it: a new machine arrives, and the next two days disappear into installing tools, copying dotfiles from an old laptop, and discovering, weeks later, the one PATH entry that was never restored. The knowledge of how your environment works lives nowhere except your shell history.
DevForgeKit began as a bootstrap script that could provision a factory-fresh Mac in one command. But provisioning turned out to be the easy part. The hard part is everything after: knowing what’s installed and why, whether tools work together, what breaks if you upgrade, and how to switch identities between a client project and your open-source work without leaking the wrong git email.
Thirty-plus releases later, those questions each have an engine: 261 registry packages with dependency resolution, 196 compatibility rules, an environment graph, a repair engine with rollback, workspaces with encrypted secrets, and an AI assistant grounded in real environment state, all held together by 1,354 tests.
Principles
Your environment state, secrets, AI memory, and benchmark history live on your machine. Nothing phones home; telemetry is a config field that defaults to honest.
If a capability isn't real, the docs say so. No fabricated install sizes, no fake AI responses without a key, no 'sandbox' claims beyond what a timeout actually provides.
Every provisioning step can run twice safely. Nothing is reinstalled, recopied, or restarted unless it's actually missing or different.
Four layers (bash bootstrap, Node CLI, plugins, registry) where each layer only reaches downward. The bootstrap must run on a factory-fresh Mac with nothing installed.
Author & license
MIT: free for personal and commercial use. Contributions welcome via the usual channels.
Boring is the goal: one command, and everything is where it belongs.