Build with us

A small port of a large design system, transcribed one component at a time — and there is a great deal left to transcribe.
A Svelte port is a long transcription, done a component at a time.
Everyone who lands one is on this wall.
See contributors

How we build together

Contributing here means matching Astryx, not improving on it — an invented prop or a nicer default is a defect. Each step has a gate, and the third one is a script rather than an opinion. This is the Svelte port's process, not upstream's. Astryx incubates new components in @astryxdesign/lab; there is no @astryx-svelte/lab, so the gate here is the class oracle instead.
01

Read upstream first

Astryx’s source is cloned at reference/astryx-upstream. Read the component, its .doc.mjs, its tests and the compiled dist/ before writing a line. If it is not in Astryx, it is not here.
02

Port it

Author the .stylex.ts against the same token references upstream uses, then the component around it. React idioms translate; the public API does not change on the way across.
03

Prove the CSS

The class oracle compiles your module and diffs the emitted atomic classes against upstream’s published dist/. Byte-identical, or it does not land. A deferral is an explicit skip with a reason.
04

Audit

Three agents read the result: astryx-parity for the API surface, astryx-idiom for the Svelte translation, astryx-test-parity for the suite — ported case for case, because the count is the contract.

Fix a bug

A crash, a wrong render, a prop that does nothing. File it with a reproduction and the form asks for the rest. ~2 hours

Improve the docs

This site is docs/ in the repo. Fix a typo, sharpen an example, or write down a translation that took you three reads. ~30 min

Port a page template

The biggest opening here: 43 of upstream’s whole-page templates are still React only. The block templates are all done — the pages are not. ~half day

Build a theme

Full visual control through defineTheme(). Tokens, component overrides, and mode switching. ~1 day
  • Aa Neutral
  • Aa Stone
  • Aa Gothic
  • Aa Matcha
  • Aa Y2k
  • Aa Butter
  • Aa Chocolate
  • Aa Liquid Glass

Resources