
Security News
The Code You Didn't Write Is Still Yours to Defend
AI agents are pulling packages into environments no scanner is watching, creating exposure before security teams can see it.
design-math
Advanced tools
design-math is a Rust-powered design math toolkit for AI agents, automation, CI, and human workflows.
It turns the parts of design systems that are easy to hand-wave and easy to get wrong into deterministic tools:
This repo is not just a small color utility. It is a product-shaped workspace built around a shared Rust engine as the source of truth for design calculations, with a CLI plus in-repo Node and WASM bindings sharing the same implementation.
When an agent or automation script needs to do design work, mental math is not reliable enough for tasks like:
design-math exists to make those calculations repeatable, inspectable, and safe to automate.
crates/core
The shared Rust calculation engine for color, typography, and shadow logic.crates/cli
The CLI layer for argument parsing, formatting, exports, and release distribution.bindings/node
The design-math-node native Node binding package built with napi-rs.bindings/wasm
The design-math-wasm fallback package built with wasm-bindgen.bindings/python
The design-math-python PyO3 binding crate for Python-native dict/list results.If you are new to the repo, these docs are the best starting points:
This repository is licensed for free use, copying, and redistribution in unmodified form for personal or commercial purposes. Modification and derivative works are not permitted. See LICENSE for the full terms.
npm install -g design-math
Or run it without a global install:
npx design-math color convert "#c96442" --json
The npm distribution uses a main package plus platform-specific binary packages, all resolved through the npm registry.
brew tap eric8810/design-math
brew install design-math
design-math color convert "#c96442" --json
design-math color analyze "#c96442" --json
design-math color contrast "rgba(255,255,255,0.72)" "#111111" --json
design-math color palette --bg "#f5f4ed" --fg "#141413" --brand "#c96442" --format css
design-math type letter-spacing 24 --json
design-math type convert 24px --to rem --json
design-math type scale --base 16 --ratio major-third --json
design-math shadow generate --levels 5 --inset --json
design-math completion zsh > _design-math
design-math
The end-user CLI package for terminals, scripts, CI, and npm/Homebrew installs.design-math-node
The native Node binding package that wraps the core API with a small JS layer.design-math-wasm
The WASM package that exposes the same API shape for JS runtimes that want a non-native fallback.design-math-python
The Python binding crate in this repo. It is implemented and buildable locally, but not yet published to PyPI.If you want function calls instead of shelling out to the CLI, there are two JS-facing bindings:
design-math-wasm
The easiest integration path for JS and TS consumers. It exposes the shared design-math API without requiring a native Node addon toolchain.design-math-node
The native Node binding with the same public API shape. It is published as a main npm package plus platform-specific optional dependency packages.The shared API includes:
convertColoranalyzeColorcontrastColormanipulateColormixColorsgenerateColorScalegenerateColorHarmonygeneratePalettegenerateSchemegenerateTypeScalegenerateFluidScalegenerateFluidTypequeryLetterSpacingconvertTypeUnitsgenerateShadowSystemFor integration examples and API notes, see docs/javascript-bindings.md.
The core product line from M0 through M10 is now in place:
color analyze, standalone letter-spacing, and px/rem conversion are usableThe next focus areas are:
FAQs
Agent-friendly design math CLI for color, typography, and shadow systems.
The npm package design-math receives a total of 6 weekly downloads. As such, design-math popularity was classified as not popular.
We found that design-math demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
AI agents are pulling packages into environments no scanner is watching, creating exposure before security teams can see it.

Security News
GitHub Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.

Product
Socket now supports Custom Roles and Repository Access Permissions so organizations can control who can access specific repositories and actions.