A stack that stops you from starting over
ShockStack is a convention-first monorepo template. Every default is chosen so you can stop bikeshedding and ship.
Built-in themes
Components
JS animation deps
License
principles
The rules we refuse to break
Every default traces back to one of these. If a feature fights them, it doesn't ship.
Conventions over configuration
Opinions are a feature. A sensible default beats three good options you have to pick between.
Tokens all the way down
Every color, radius, and shadow routes through a single source. Themes are composable; overrides are rare.
Zero-cost abstractions
Shipping JS is a tradeoff. Astro islands + CSS animations mean the runtime footprint stays near zero.
Optional depth
The .NET backend is opt-in. The token pipeline is opt-in. Use what you need, delete the rest without regret.
milestones
How we got here
-
The idea
Years of wiring up the same stack for every new project finally boiled over. A convention-first template was the fix.
-
First prototype
Astro + Vue + CF Workers on the frontend. .NET 10 with Aspire on the backend. Design tokens stitched through the whole tree.
-
Design system lands
19 themes, full token pipeline via Style Dictionary, and a component library that re-skins itself on a single attribute change.
-
Open-sourced
Released under MIT on GitHub with a semantic-release pipeline and docs site. First outside contributions rolling in.
-
Shipping weekly
Steady cadence of component, docs, and DX improvements driven by usage and community feedback.
team
People behind the stack
Ada Placeholder
Creator & maintainer (example)
Fictional teammate. Swap in your real maintainer's bio when adopting the template.
Ben Example
Frontend & design (example)
Fictional teammate. Replace with your design-systems lead — gradient, bio, and all.
Cora Sample
Backend & infra (example)
Fictional teammate. Stand-in for whoever owns your backend and deploy pipeline.
Ready to stop bikeshedding?
Clone the template, run one command, and ship.