React 19 · Tailwind v4 · MIT
Components you actually own.
346 components with no headless-UI dependency underneath them. A CLI copies the source into your repo and stops there — nothing phones home, nothing to upgrade, nothing that breaks the week you change your mind about a border radius.
Three commands.
The CLI resolves what a component imports and copies that too. It installs the npm packages a component actually needs, and skips any file you have already edited unless you tell it otherwise.
Full setup- 1
$ npm i -D astralyx-uiThe CLI. No runtime dependencies. - 2
$ npx astralyx-ui initWrites components.json, the theme and two helpers. - 3
$ npx astralyx-ui add data-gridBrings table, checkbox and empty with it.
Props you would have written yourself.
Money is integer minor units everywhere, because a basket that has been through a float has already lost. Stock limits are enforced at the stepper, not rejected at checkout. Every string is a prop.
Aeron chair
Size B · Graphite
1£1,495.00 each£1,495.00Monitor arm
Silver
2£219.00 each£438.00Only 2 in stock.
- Subtotal
- £1,933.00
- Discount — WELCOME10
- -£193.30
- DeliveryDepends on your address
- calculated at next step
- Total
- £1,739.70+
Final total confirmed once delivery details are entered.
<Cart
lines={lines}
currency="GBP"
onQuantityChange={setQuantity}
onRemove={remove}
/>
<CheckoutSummary
subtotal={193_300}
currency="GBP"
lines={[
{ id: 'discount', label: 'WELCOME10', amount: -19_330 },
// null, not 0 — a charge you cannot promise yet
{ id: 'delivery', label: 'Delivery', amount: null },
]}
footer={<Button className="w-full">Continue</Button>}
/>Built for the screens that are hard.
Assistant threads, session lists, ledgers, queue depth, order books, flame graphs. The parts of a product that get built badly because nobody ships components for them.
AI
{
"period": "2026-08",
"group_by": "model"
}[
{ "model": "astralyx-small", "usd": 462 },
{ "model": "astralyx-large", "usd": 3720 }
]Security
Chrome 141on macOS 27This device
London, UK (approx.)81.2.69.142active
Safarion iOS 27
London, UK (approx.)81.2.69.142active
Firefox 139on Windows 11Unusual
Frankfurt, DE (approx.)45.83.220.11active
Settings
Where security alerts are sent.
Six whole products.
Not marketing pages, and not one screen each. Every one has a rail, sub-pages, records that open, a command palette, forms that validate and dialogs that commit — a deployment console, an agent studio, a workflow canvas with an agent editing it, an on-call room, the back office of a shop, and a review where every page you open stays open as a tab.
A deployment platform: projects that open, builds that open under them, a permissions matrix, a plan you can switch, and dialogs that commit — invite someone and the members table says so.
19 components
Where an agent is written, run, watched and argued with: a thread with tool calls and reasoning, a run that opens into its own trace and guardrails, versioned prompts with a diff, and a tool policy you can actually change.
21 components
A workflow builder where the graph is the document: drag steps onto the canvas, and an agent in the right-hand rail proposes changes to the same graph as a diff you can accept.
20 components
One Tuesday morning from five angles: the alert that fired, the incident it became, the runbook someone is halfway through, the cause tree they landed on, and the query underneath all of it.
19 components
The back office of a shop: an order you can refund line by line, stock counted per variant, and a report whose answer changes with the attribution model you pick.
18 components
Reviewing a pull request, with the files you open kept as browser tabs across the top — a rail picks what to read, and the strip is the record of where you have been.
16 components
All 346, running.
138 basics — the buttons, fields and dialogs every screen needs — and 208 blocks built on them, each already knowing what a commit is, or a wallet, an invoice, a span. None of them a screenshot: every card below is the live component.
Basics
138 across 11 categoriesThe vocabulary. Buttons, fields, dialogs, tables, charts — components that encode no business concept, so they belong in any product.
Blocks
208 across 25 categoriesBuilt on the basics, for one job each. A block already knows what a commit is, or a wallet, an invoice, a span — the part normally rebuilt from scratch on every project.