Repository navigation
packages token
Scope. Root authoring source for Sentra tokens. ADR 0006: a standalone capsule must own a local snapshot or pin an independently distributable version. Extraction must not resolve
packages/token. Rootscripts/check-tokens.mjsis a root gate, not a capsule lifecycle command.
Sentra design tokens. Agents building UI must use approved Sentra tokens. Raw colour or radius values are forbidden outside the owning token file (packages/token/src/tokens.css in the root authoring tree, or the capsule-local equivalent).
Root enforcement: node scripts/check-tokens.mjs (raw-value scan + WCAG 2.2 AA contrast). packages/token/scope.txt currently lists packages/token, packages/ui, golden-path web, academic-smartboard apps, and projects/product/sentrabot/apps/web/src. SentraBot is excluded from the root pnpm workspace; do not assume that scope line means SentraBot runtime-depends on this package.
Ported from abyss-monorepo/packages/token (Sentraverse Foundation Tokens v1.0). Do not re-derive measured contrast annotations.
| File | Purpose |
|---|---|
packages/token/src/tokens.css |
The only file that may contain a hex value (:root + [data-theme="dark"] blocks) |
packages/token/src/tokens.json |
Same values, machine-readable; the contrast gate reads this |
packages/token/src/tailwind.css |
Tailwind v4 @theme bridge exposing token utilities |
packages/token/src/fonts.ts |
Self-hosted Geist / Geist Mono font loading |
packages/token/scope.txt |
Paths under enforcement; added when migrated, never removed |
packages/token/AGENTS.md |
Package mandate and rules |
packages/token/UI-RULES.md |
Full UI ruleset (colour zones, layout, type, states, a11y) |
docs/design-system/reference/ |
Six worked reference screens to match, not invent |
A workspace member depends on @sentra/token and imports it once:
@import "tailwindcss";
@import "@sentra/token/tokens.css";
@import "@sentra/token/tailwind.css";Import semantic tokens only. Anything named --p-* is a private primitive; if a semantic token is missing, add it to the package with its measured contrast ratio — never bypass with a primitive or a literal.
- Read
packages/token/UI-RULES.mdbefore writing UI code. - Raw colour/radius values are forbidden outside
src/tokens.css; usevar(--color-*),var(--radius-*), or Tailwind utilities. - Import semantic tokens only;
--p-*primitives are private. -
src/tokens.jsonis generated fromsrc/tokens.css— keep them in sync in the same change. - Changing a token value is R2: re-measure affected WCAG pairs and obtain designated review.
- Dark theme values are authored, never derived — a new semantic token goes into both
:rootand[data-theme="dark"], and into bothcolorandcolorDarkmaps intokens.json. - Migrated paths are added to
scope.txtand never removed.
-
Zone rule — vermilion
--color-accent*is for chrome (wordmark, navigation, corner marks); crimson--color-status-*is for content verdicts (failing rows, gates). A block carrying both is a defect. - Colour never carries meaning alone — every status has a distinct glyph and a word beside it; the UI must survive greyscale.
-
Tint the worst state only — failing rows get
--color-surface-critical; warnings get nothing. -
Four data series is the ceiling —
--color-data-1..4step in lightness. - Layout — 12 columns, gutter 24, margin 40, max width 1440; column 8 stays empty; body text ≤ 68 chars/line.
-
Shape —
--radius-structure0 (tables, panels);--radius-control2px (buttons/inputs only). No third radius. Buttons carry a 3px solid ledge, no blur. - Type — Geist + Geist Mono, self-hosted variable fonts (OFL), weights 400/500/600, left-aligned, tabular figures in numeric columns.
- States are part of the component — default, hover, focus-visible, active, disabled, loading, error, and empty (three distinct empty states) must all be defined.
-
Accessibility floor — WCAG 2.2 AA as a build condition: contrast measured (
check-tokens.mjsrecomputes every semantic pair), keyboard reachable, 44px minimum target,prefers-reduced-motionhonoured, live regions on async content.
pnpm --filter @sentra/token lint
node scripts/check-tokens.mjs # raw-value scan + WCAG 2.2 AA recomputation- UI package — React primitives built on the tokens
- UI rules — the full UI convention document
- Reference screens — worked examples to match
- Shared packages
SAFRS — the Sentra Agent-First Repository Standard — defines how a software repository should be structured, governed, and enforced when autonomous Artificial Intelligence agents perform a substantial share of engineering work by Sentra Artificial Intelligence.
SAFRS v1.1 addresses that problem through five coupled mechanisms:
- a six-layer repository architecture from Trust Boundary to Human Authority;
- a role-based permission model in which capability never implies trust;
- a four-tier risk model with cumulative mandatory controls;
- a multi-agent execution protocol with explicit task states and one mutation owner per bounded scope;
- a knowledge governance model that distinguishes current architecture, historical decisions, execution plans, Git history, and running code.
Built in Indonesia as part of the Sentra Artificial Intelligence ecosystem.
Sentra Artificial Intelligence · Source Repository · Official Website
Dr Ferdi Iskandar — Creator & Maintainer
LinkedIn ·
ORCID ·
Hugging Face ·
Kaggle ·
Medium ·
Substack ·
X ·
Threads
MyPrompt · Sentra Artificial Intelligence · Indonesia
- SentraBot
- Kediri History
- Academic Smartboard
- Avery
- Portfolio Dr. Novia
- Golden Path (legacy demonstrator)
- Control Center
- Capsule template
- Risk model (R0–R3)
- Agent roles and permissions
- Capsule sovereignty
- Multi-agent protocol
- Document lifecycle
- Sensitive paths
- Verification integrity
Lore — how this repository grew
- Schemas (
@safrs/schemas) - Environment (
@safrs/env) - Database (
@safrs/database) - API (
@safrs/api) - UI (
@safrs/ui) - Telemetry (
@safrs/telemetry) - Token (
@sentra/token) - Config (
@safrs/config) - Auth (
packages/auth)
- SAFRS governance checkers
- SAFRS Automation Control Plane
- Gaffer Runtime
- Doctor
- Project wizard
- project-standalone
- Capabilities
- Codegen
- Deps-graph
- Status CLI
- Task CLI