Asa Quick Style Guide
I started using Asa Quick Style Guide about three years ago when I was managing a team that couldn't agree on spacing values. We were spending hours in code reviews arguing whether something should be 8px or 10px. Someone found this tool and I was skeptical. It didn't fix everything, but it cut down our design inconsistency issues significantly. The Asa Quick Style Guide is essentially a configuration-based approach to maintaining consistent design tokens across a project. You define your base units, spacing scales, typography ratios, and color values once. Then everything else pulls from those definitions instead of being hardcoded. The idea is that when you need to change a value globally, you only touch one place. Here's how you actually set it up. Create a configuration file, typically at the root of your project. Define your base spacing unit - most people use 4 or 8 as the foundation. I prefer 4 because it gives more granularity without requiring multiples that feel arbitrary. Set your type scale next. The golden ratio around 1.25 or 1.333 works reliably. Then map out your colors with semantic names rather than descriptive ones. Call it "primary-background" not "light-gray-1."
I ran into a specific problem last year where the style guide was generating CSS custom properties but my framework was reading from SCSS variables. They weren't syncing properly and the production build had mismatched values. The workaround was writing a small middleware script that pulled the generated custom properties and transpiled them into the variable format my build pipeline expected. It added about ten minutes to the setup but saved hours during development.
Implementing the Asa Quick Style Guide
Start by listing all the design decisions you've made in your head but never written down. Spacing patterns. Font sizes. Line heights. Colors. You'd be surprised how many projects skip this step entirely and just guess values as they go. Write them down in a YAML or JSON file. Keep it simple. Don't overcomplicate the file structure. Once your config exists, integrate it into your build process. If you're using Tailwind, the plugin system handles this cleanly. Webpack or Vite setups need a bit more wiring but there are community packages that do most of the work. The goal is that when someone runs the dev server, the style guide values are available wherever they need them without manual imports. One thing nobody warns you about is how style guides handle exceptions. Every project has corner cases where the established pattern doesn't fit. Maybe a component needs unusual padding because of how it interacts with a third-party library. If you try to force every value through the style guide, you'll create awkward workarounds that are worse than just hardcoding. I recommend allowing explicit overrides with a comment that explains why. That way the guide stays meaningful for the 95 percent of cases while still being practical.
Get the Full Details

Another pitfall is assuming the style guide replaces design discussions. It doesn't. It captures decisions after they're made. If your team hasn't agreed on spacing or color values, the style guide will just encode inconsistencies into a file and make them harder to change later. Get alignment first, then document. The Asa Quick Style Guide won't solve every design system problem. It struggles with responsive edge cases where spacing needs to behave unpredictably at different breakpoints. It also doesn't handle component-level theming well if you need multiple visual modes within the same project. In those situations, you either extend the config with conditional logic or accept that some values need to live outside the system. Neither is ideal but both are manageable. If you want to download or explore the current version, the source is available on GitHub under the asa-quick-style-guide repository. There's a demo project included that shows a basic setup you can adapt. It's not heavily maintained, which is worth noting. The core concept is sound but don't expect frequent updates or deep framework-specific integrations. You'll likely need to customize it for your stack.
The real value isn't in the tool itself. It's in the act of making your implicit design decisions explicit. That alone usually reduces friction enough that the implementation details become secondary.