PartCAD
CAD 파일을 위한 최초의 패키지 매니저
Web Components·SwiftUI·Jetpack Compose·Flutter·React Native용 단일 토큰·스펙 기반 디자인 시스템
One design system for Web Components, SwiftUI, Jetpack Compose, Flutter and React Native, built from a single set of tokens and specs.
디자인TypeScript · MDXGitHub @chnotchy온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기One design system, five platforms, kept honest by machines.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗One design system, five platforms, kept honest by machines.
Tanrei (端麗 — "clean, well-formed") is an open-source, platform-neutral design system. It is not tied to an operating system or a vendor: the same tokens and the same component specs ship to the web (CSS custom properties and Web Components built with Lit, with generated React bindings), SwiftUI, Jetpack Compose, Flutter (widgets, no Material dependency) and React Native (pure TypeScript, the New Architecture).
Documentation: https://tanrei.chnotchy.com — guides for each platform, the foundations, the token reference and every component, in six languages.
npm install @tanrei/web # the tokens as CSS custom properties, and the Web Components
npm install @tanrei/react # React bindings for the same elements, beside @tanrei/web
import '@tanrei/web/tokens.css'; // the default system's tokens, once, as early as possible
import '@tanrei/web'; // every element; or one at a time: '@tanrei/web/components/button'
<tanrei-button variant="filled">Deploy</tanrei-button>
Without a bundler, serve the package's dist/ and link dist/tokens.css and dist/tanrei.bundle.js (Lit and every element in one module). Each platform's getting-started guide goes further: the presets, dark mode and contrast, your product's words, fonts and icons.
To build your own design system on Tanrei's vocabulary — one layer file in, tokens and code for every platform out — see Your own design system: @tanrei/cli (npx tanrei init, tanrei build), Theme Studio and the @tanrei/mcp server for AI agents.
Prerelease.
0.1.0-next.0is published under the npm dist-tagnext: until0.1.0, install@tanrei/web@next. During the 0.x prereleases backward compatibility is not kept: any prerelease may break anything, with no deprecation period first, and its changeset says what broke.
| Platform | Package | Components |
|---|---|---|
| Web Components | @tanrei/web · @tanrei/react (npm) | 13 alpha · 83 lagging |
| SwiftUI (paused) | Tanrei (Swift Package Manager) | 29 lagging · 67 planned |
| Jetpack Compose (paused) | io.github.chnotchy:tanrei (Maven) | 29 lagging · 67 planned |
| Flutter (paused) | tanrei (pub.dev) | 29 lagging · 67 planned |
| React Native (paused) | @tanrei/react-native (npm) | 29 lagging · 67 planned |
alpha: implemented and tested; the API may change · lagging: an implementation exists but has not caught up with the current spec · planned: nothing shippable yet. The component status matrix has every component on every platform; it is computed from the repository and cannot claim more than is there.
Paused: SwiftUI, Jetpack Compose, Flutter and React Native — not built by CI and not published until each catches up with the specs.
ref → sys → comp, with numeric dials underneath), color roles with guaranteed on-* pairings, generated tonal palettes, light/dark × three contrast levels, state layers, a typescale, a shape scale, elevation levels, spring motion, 48/44 minimum targets.display, heading-1…heading-6 (h1–h6), body-large / body / body-small (lead, p, small), label / label-small / caption, code / code-small, eyebrow — and emphasis is a weight step per family that every platform's text API takes as emphasized, not a second set of roles. Corner smoothing is an amount, 0–1 with Figma's meaning (0.6 = the iOS corner), and the web, Compose and Flutter draw the same curve for it.m3-like, m3-expressive-like and cupertino. How exactly a preset matches its reference is measured, not claimed.Tanrei is an independent project. Third-party notices: NOTICE.
tokens/ ─┐ ┌─► CSS · TypeScript · Swift · Kotlin · Dart · DTCG for design tools
├─► generators ─────────┤
specs/ ─┘ (committed output) └─► status matrix · docs tables · React bindings
▲
validate · parity · drift · snapshot + a11y tests (local hooks and CI)
Only tokens/ (DTCG 2025.10, including the layer file of each shipped design system) and specs/ (schema-validated component contracts) are authored. Everything else is generated — token code once per design system — or checked against them, so documentation, specs and five implementations cannot silently drift apart — including when the work is done by AI agents. Start with AGENTS.md and CONTRIBUTING.md, then docs/architecture/overview.md.
pnpm install # pnpm 12 (pinned via packageManager); Node ≥ 22.22
pnpm check # validate → generate → drift → build → test
pnpm status # component × platform matrix
pnpm docs:dev # documentation site (Astro Starlight, six languages)
Platform toolchains are only needed for the platform you touch: Xcode/Swift 6 (swift test from the repo root), JDK 17 + Android SDK (packages/compose/gradlew), Flutter ≥ 3.32 (flutter test in packages/flutter).
| Path | Contents |
|---|---|
tokens/, specs/, tanrei.config.json | Sources of truth. tokens/systems/ holds the design systems as layer files: the default tanrei and the presets m3-like, m3-expressive-like, cupertino; tokens/fidelity/ holds the maps a preset is measured against |
packages/token-engine | The isomorphic engine: palettes, derive rules, layers, vocabulary extensions, legal operations |
packages/tokens-build, packages/tools | Token pipeline and the five emitters; validation, parity, drift, status |
packages/web, react, swiftui, compose, flutter, react-native | Platform implementations |
packages/cli | @tanrei/cli — tanrei init · build · validate · explain · systems · studio: build a product's own design system from one layer file |
packages/mcp | @tanrei/mcp — a read-only Model Context Protocol server, so agents can query a design system and validate an edit |
packages/studio | @tanrei/studio — Theme Studio, a visual editor over the same layer file; hosted by the docs site and served locally by tanrei studio |
apps/docs | Documentation site |
design/ | Hand-off to Figma and other tools: generated, resolved DTCG per design system, and instructions |
docs/ | Architecture, governance, the registries the checks read, generated status |
.claude/ | Agent guard-rail hooks, skills and per-platform subagents |
Tanrei does not accept outside contributions: the maintainers make every change, for the supply chain's sake (CONTRIBUTING.md says why). Issues are for bug reports and questions. See also the governance and the Code of Conduct. Security reports go privately: SECURITY.md.