facebook/astryxPublic

An open source design system that's fully customizable and agent ready

AI summary: An open-source, highly customizable design system built on React 19 and StyleX, designed for both human developers and AI agents.

Stars
13.5K
+35 today
Forks
1.2K
Watchers
91
Open issues
233
Open PRs
217
Contributors
~99
Commits
4.1K
Branches
187

TypeScriptMITCreated Jan 9, 2026Last push 2d agoLatest release v0.6.3+190 stars this week+847 this month

Quick answers

What is astryx?
An open-source, highly customizable design system built on React 19 and StyleX, designed for both human developers and AI agents.
What does astryx do?
Astryx is a massive open-source design system originating from Meta, engineered to be the foundational UI layer for both human developers and AI assistants. Built on top of React 19 and StyleX, it provides over 150 accessible, ready-to-use components alongside robust brand-level theming and native dark mode support. Unlike traditional design systems, Astryx features open internals that allow components to be composed at any level, and includes a swizzle CLI command to eject source code directly into a project. It explicitly aims to provide unified tooling that AI coding agents can understand and manipulate as effectively as human engineers.
Who is astryx for?
Frontend engineers, design technologists, and teams building large-scale React applications who want a deeply customizable, AI-friendly design system.
How do I get started with astryx?
See documentation at astryx.atmeta.com
How popular is astryx on GitHub?
facebook/astryx has 13,526 stars and 1,166 forks on GitHub, and gained 190 stars in the last 7 days.
What license does astryx use?
facebook/astryx is released under the MIT license.

Star history

since Jul 29, 2026
05K10KJul 2026Aug 2026Sep 2026Oct 2026
13.5K stars as of Oct 2, 2026. Measured daily since Jul 29, 2026; GitHub no longer exposes earlier star timestamps.

Contribution activity

commits per day, last 52 weeks
SepOctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 11 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 2 commits2026-01-13: 6 commits2026-01-14: 4 commits2026-01-15: 2 commits2026-01-16: 2 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 3 commits2026-01-22: 7 commits2026-01-23: 1 commit2026-01-24: 0 commits2026-01-25: 3 commits2026-01-26: 1 commit2026-01-27: 0 commits2026-01-28: 5 commits2026-01-29: 1 commit2026-01-30: 3 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 6 commits2026-02-03: 3 commits2026-02-04: 5 commits2026-02-05: 2 commits2026-02-06: 1 commit2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 3 commits2026-02-10: 0 commits2026-02-11: 7 commits2026-02-12: 2 commits2026-02-13: 5 commits2026-02-14: 1 commit2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 9 commits2026-02-18: 10 commits2026-02-19: 16 commits2026-02-20: 10 commits2026-02-21: 17 commits2026-02-22: 9 commits2026-02-23: 5 commits2026-02-24: 21 commits2026-02-25: 14 commits2026-02-26: 10 commits2026-02-27: 7 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 6 commits2026-03-03: 8 commits2026-03-04: 19 commits2026-03-05: 12 commits2026-03-06: 13 commits2026-03-07: 15 commits2026-03-08: 25 commits2026-03-09: 8 commits2026-03-10: 5 commits2026-03-11: 0 commits2026-03-12: 9 commits2026-03-13: 19 commits2026-03-14: 6 commits2026-03-15: 5 commits2026-03-16: 7 commits2026-03-17: 15 commits2026-03-18: 25 commits2026-03-19: 18 commits2026-03-20: 23 commits2026-03-21: 14 commits2026-03-22: 11 commits2026-03-23: 6 commits2026-03-24: 20 commits2026-03-25: 17 commits2026-03-26: 16 commits2026-03-27: 10 commits2026-03-28: 14 commits2026-03-29: 11 commits2026-03-30: 14 commits2026-03-31: 20 commits2026-04-01: 16 commits2026-04-02: 19 commits2026-04-03: 18 commits2026-04-04: 16 commits2026-04-05: 4 commits2026-04-06: 22 commits2026-04-07: 14 commits2026-04-08: 12 commits2026-04-09: 22 commits2026-04-10: 22 commits2026-04-11: 15 commits2026-04-12: 16 commits2026-04-13: 28 commits2026-04-14: 17 commits2026-04-15: 22 commits2026-04-16: 28 commits2026-04-17: 17 commits2026-04-18: 16 commits2026-04-19: 26 commits2026-04-20: 28 commits2026-04-21: 47 commits2026-04-22: 49 commits2026-04-23: 57 commits2026-04-24: 19 commits2026-04-25: 25 commits2026-04-26: 8 commits2026-04-27: 6 commits2026-04-28: 18 commits2026-04-29: 21 commits2026-04-30: 21 commits2026-05-01: 22 commits2026-05-02: 31 commits2026-05-03: 47 commits2026-05-04: 24 commits2026-05-05: 4 commits2026-05-06: 0 commits2026-05-07: 5 commits2026-05-08: 7 commits2026-05-09: 9 commits2026-05-10: 8 commits2026-05-11: 8 commits2026-05-12: 6 commits2026-05-13: 6 commits2026-05-14: 6 commits2026-05-15: 10 commits2026-05-16: 1 commit2026-05-17: 3 commits2026-05-18: 13 commits2026-05-19: 20 commits2026-05-20: 13 commits2026-05-21: 29 commits2026-05-22: 12 commits2026-05-23: 9 commits2026-05-24: 1 commit2026-05-25: 11 commits2026-05-26: 3 commits2026-05-27: 14 commits2026-05-28: 7 commits2026-05-29: 15 commits2026-05-30: 7 commits2026-05-31: 5 commits2026-06-01: 2 commits2026-06-02: 12 commits2026-06-03: 11 commits2026-06-04: 15 commits2026-06-05: 5 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 21 commits2026-06-09: 10 commits2026-06-10: 39 commits2026-06-11: 31 commits2026-06-12: 37 commits2026-06-13: 6 commits2026-06-14: 0 commits2026-06-15: 3 commits2026-06-16: 12 commits2026-06-17: 13 commits2026-06-18: 17 commits2026-06-19: 12 commits2026-06-20: 12 commits2026-06-21: 9 commits2026-06-22: 6 commits2026-06-23: 25 commits2026-06-24: 61 commits2026-06-25: 40 commits2026-06-26: 24 commits2026-06-27: 21 commits2026-06-28: 10 commits2026-06-29: 34 commits2026-06-30: 3 commits2026-07-01: 18 commits2026-07-02: 72 commits2026-07-03: 41 commits2026-07-04: 22 commits2026-07-05: 1 commit2026-07-06: 7 commits2026-07-07: 31 commits2026-07-08: 30 commits2026-07-09: 27 commits2026-07-10: 28 commits2026-07-11: 66 commits2026-07-12: 24 commits2026-07-13: 18 commits2026-07-14: 4 commits2026-07-15: 8 commits2026-07-16: 7 commits2026-07-17: 15 commits2026-07-18: 10 commits2026-07-19: 26 commits2026-07-20: 10 commits2026-07-21: 16 commits2026-07-22: 21 commits2026-07-23: 39 commits2026-07-24: 19 commits2026-07-25: 18 commits2026-07-26: 16 commits2026-07-27: 22 commits2026-07-28: 34 commits2026-07-29: 36 commits2026-07-30: 49 commits2026-07-31: 32 commits2026-08-01: 7 commits2026-08-02: 14 commits2026-08-03: 14 commits2026-08-04: 16 commits2026-08-05: 25 commits2026-08-06: 14 commits2026-08-07: 19 commits2026-08-08: 4 commits2026-08-09: 1 commit2026-08-10: 10 commits2026-08-11: 33 commits2026-08-12: 31 commits2026-08-13: 26 commits2026-08-14: 20 commits2026-08-15: 30 commits2026-08-16: 30 commits2026-08-17: 15 commits2026-08-18: 8 commits2026-08-19: 25 commits2026-08-20: 15 commits2026-08-21: 19 commits2026-08-22: 11 commits2026-08-23: 47 commits2026-08-24: 56 commits2026-08-25: 31 commits2026-08-26: 41 commits2026-08-27: 38 commits2026-08-28: 19 commits2026-08-29: 3 commits2026-08-30: 55 commits2026-08-31: 32 commits2026-09-01: 33 commits2026-09-02: 42 commits2026-09-03: 37 commits2026-09-04: 47 commits2026-09-05: 11 commits2026-09-06: 6 commits2026-09-07: 30 commits2026-09-08: 13 commits2026-09-09: 22 commits2026-09-10: 21 commits2026-09-11: 19 commits2026-09-12: 7 commits2026-09-13: 13 commits2026-09-14: 4 commits2026-09-15: 15 commits2026-09-16: 4 commits2026-09-17: 1 commit2026-09-18: 4 commits2026-09-19: 10 commits2026-09-20: 21 commits2026-09-21: 20 commits2026-09-22: 20 commits2026-09-23: 41 commits2026-09-24: 95 commits2026-09-25: 14 commits2026-09-26: 0 commits
4,127 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Widely adopted

    13,526 stars

  • Very active

    4,127 commits in 52 weeks

  • Well documented

    High community health score

  • Permissive license

    MIT

  • Continuous integration

    Automated checks passing

  • Repeat trending

    10 trending appearances

What astryx does

Astryx is a massive open-source design system originating from Meta, engineered to be the foundational UI layer for both human developers and AI assistants. Built on top of React 19 and StyleX, it provides over 150 accessible, ready-to-use components alongside robust brand-level theming and native dark mode support. Unlike traditional design systems, Astryx features open internals that allow components to be composed at any level, and includes a swizzle CLI command to eject source code directly into a project. It explicitly aims to provide unified tooling that AI coding agents can understand and manipulate as effectively as human engineers.

Frontend engineers, design technologists, and teams building large-scale React applications who want a deeply customizable, AI-friendly design system.

  • Extensive component library: Ships with over 150 fully accessible, typed React components ready for production use.
  • Agent-ready architecture: Designed with predictable patterns and tooling specifically tailored for AI coding assistants to utilize.
  • Open internals: Allows developers to compose building blocks directly or use the swizzle command to eject raw component source code.
  • StyleX foundation: Leverages StyleX for highly performant, zero-runtime CSS-in-JS styling without complex build plugins.
  • Comprehensive theming: Includes robust support for brand-level customization, strict design tokens, and automatic dark mode.

Where teams use it

Enterprise application scaling

Standardizing the UI layer across thousands of internal applications using a highly performant and accessible component library.

AI-assisted UI development

Providing an AI coding agent with a predictable design system to rapidly prototype complex interfaces from mockups.

Custom design system foundation

Ejecting base components via the CLI to heavily customize logic and styling for a unique brand identity.

Performance-critical interfaces

Building fast-loading web applications that leverage StyleX's atomic CSS generation for minimal styling overhead.

Getting started: See documentation at astryx.atmeta.com

README

main branch
Astryx

Astryx

An open source design system that's fully customizable and built for how we build now:
by people and the agents working alongside them.

Currently in Beta · Built on React 19+ and StyleX

npm version license MIT PRs welcome

Docs Storybook Sandbox

Docs · Storybook · Sandbox · Contributing · Discord

Overview

Astryx is an open source design system that grew inside Meta over the last eight years, where it became the most-used and largest design system in the company — powering 13,000+ apps and shaped by the engineers, designers, and product teams who depend on it every day.

It ships 150+ accessible components, brand-level theming, dark mode, ready-to-ship templates, and a CLI as one cohesive system. You import pre-built CSS and use typed React components — no build plugin, no styling library to adopt — and both people and AI assistants build with the same tooling.

What makes Astryx different:

  • Open internals. Components are built to be composed at any level, not locked behind a closed top-level API. The building blocks you'd reach for are exported directly, and when you need to go deeper, swizzle ejects a component's full source into your project to own.
  • No styling lock-in. Astryx authors its styles with StyleX, but that's invisible to consumers. Override with className using Tailwind, CSS modules, or plain CSS — whatever your project already uses.
  • Customize without wrapping. A theme is a set of CSS custom property overrides, so a designer can make Astryx unmistakably theirs without forking or wrapping component source.
  • Built for people and agents. The API, docs, and CLI are designed together so a person and an AI assistant build the same way, from the same reference.

Getting Started

Astryx requires React 19 or later (react and react-dom are peer dependencies of @astryxdesign/core).

Install Astryx, a theme, and its peer dependencies:

# npm
npm install @astryxdesign/core @astryxdesign/theme-neutral @stylexjs/stylex
npm install -D @astryxdesign/cli

# pnpm
pnpm add @astryxdesign/core @astryxdesign/theme-neutral @stylexjs/stylex
pnpm add -D @astryxdesign/cli

# yarn
yarn add @astryxdesign/core @astryxdesign/theme-neutral @stylexjs/stylex
yarn add -D @astryxdesign/cli

The simplest setup is a few CSS imports plus a theme provider — no build plugin, no PostCSS or Babel config. See the @astryxdesign/core README for the full guide (Next.js, Tailwind, Vite, and CDN).

For reliable CLI access, add a script to your package.json:

"scripts": {
  "astryx": "node node_modules/@astryxdesign/cli/clients/cli/bin/astryx.mjs"
}

Then use it as npm run astryx -- component --list. This avoids path errors when AI assistants or new developers invoke the CLI directly.

Packages

Package Description README
@astryxdesign/core Components, theme system, and utilities README
@astryxdesign/cli CLI tooling: component docs, templates, scaffolding, themes, and codemods README
@astryxdesign/build Build plugins for StyleX source builds README
@astryxdesign/theme-* Seven ready-made, fully customizable themes (neutral, butter, chocolate, matcha, stone, gothic, y2k) README

@astryxdesign/lab (experimental components) is used internally for Storybook and the sandbox and is not published to npm. @astryxdesign/vega (Vega/Vega-Lite chart wrapper) and @astryxdesign/charts (chart components) are published to npm only under the @canary dist-tag — there is no stable release yet.

Principles

These are the promises Astryx makes to the people building on it.

  • Guidance over enforcement. Components give you capability rather than guardrails that fight you. Design opinions live in docs and examples — if you pass a value, the component renders it.
  • Strong, documented conventions. Every component follows the same naming, prop, and composition rules, and every one is thoroughly documented — so once you've learned a few, the rest feel familiar, and both people and AI can predict how an unfamiliar component behaves.
  • One system for humans and AI. The API, conventions, docs, and CLI are designed together so people and AI assistants build the same way. Every change that made Astryx easier for AI made it easier for people too.
  • Earned by measurement. We test conventions rather than assert them, hold the results loosely, and revisit them when a new situation proves them wrong.

Architecture

Foundations

The building blocks for visually cohesive and accessible interfaces: typography, color, layout, and accessibility.

Components

A library of 150+ reusable UI building blocks with full TypeScript support.

Patterns

Battle-tested design solutions for common interactions and workflows: table pages, detail page layouts, form wizards, navigation patterns, data entry flows.

Project Structure

Directory Purpose
apps/ Example apps, the docsite, and Storybook
packages/ Published packages: core, cli, build, themes
internal/ Internal tooling: test utilities, eslint plugin, vibe tests

Contributing

We welcome contributions! See CONTRIBUTING.md for the full guide.

Questions, or want a hand with a PR? Come find us in Discord.

Our conventions and review rubrics live in the Contributing wiki — including API Conventions, Design Conventions, the Component Lifecycle, and the Contributing Templates and Blog Review rubrics. Read the relevant one before opening a PR.

Quick start for contributors: this repo uses Node 22+ on an active LTS line and pnpm 11. Install pnpm directly, or enable Corepack once so the pinned pnpm version installs automatically:

corepack enable
pnpm install

If corepack is missing, install pnpm directly or install Corepack manually; see the troubleshooting notes in CONTRIBUTING.md.

License

MIT

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

28 total
  1. v0.6.3v0.6.3Sep 23, 2026

    Astryx 0.6.3 — all `@astryxdesign/*` packages ship at this version. ```bash npx astryx upgrade --apply ``` ## @astryxdesign/core ### New Features - Show each shared InputClearButton's contextual action label in a tooltip, giving sighted users the same specific action name already available to assistive technology. (#6354) - Add a `collapsedSummary` composition slot to ChatComposerDrawer that replaces the complete collapsed-summary anatomy when provided; omitting it preserves the existing Badge and label. (#5399) - Add `endContentEdgeCompensation` to DialogHeader so callers can select which axes receive fixed compensation while preserving automatic close-action compensation by default. (#6465) - Add a Canvas Editor page template with a layered artboard, resizable layer and property panels, live text/image controls, zoom, document tabs, and a themed fixed-size canvas. (#6237) - Markdown: add native typed frontmatter metadata (#6381) Use `createMarkdownFrontmatter()` from `@astryxdesign/core/Markdown/plugins` to decode a document-start key/value block into typed metadata, keep unfinished streaming metadata hidden, and remove completed metadata syntax from rendered Markdown. - Ma

  2. Astryx 0.6.2v0.6.2Sep 15, 2026

    Astryx 0.6.2 — all `@astryxdesign/*` packages ship at this version. ```bash npx astryx upgrade --apply ``` ## @astryxdesign/core ### New Features - Markdown: add an opt-in math renderer (#6312) Supply `components.math` to parse `$…$` inline math and `$$…$$` display math. The renderer receives the delimiter-free expression as `value` and its placement as `display: 'inline' | 'block'`, so applications can connect their preferred math typesetter without preprocessing Markdown or accepting raw HTML. Math is off unless the renderer is present. Direct parser callers can opt in with `MathParseOptions` (`{math: true}`) and incremental callers create `IncrementalParseState<true>` via `createIncrementalState<true>()`. Those overloads return `InlineNodeWithMath` or `BlockNodeWithMath`; default, legacy-set, `math: false`, and `ParseOptions`- annotated calls retain the existing `InlineNode` and `BlockNode` unions, so exhaustive consumers do not gain a case unless they opt in. Existing Markdown parsing and rendering stay unchanged by default; code stays opaque, escaped and unmatched delimiters stay literal, and inline plugins skip math. Incremental parsing preserves full-parse results w

  3. v0.6.1v0.6.1Sep 13, 2026

    Astryx 0.6.1 — all `@astryxdesign/*` packages ship at this version. ```bash npx astryx upgrade --apply ``` ## @astryxdesign/core ### New Features - Remove the prefix requirement from theme-local tokens (#6285) - Add ScrollableArea and useScrollableArea for accessible, logical-axis native scrolling with explicit overscroll policy. (#6262) Scrollable viewports now become keyboard reachable only while content effectively overflows, preserve logical edge state across writing modes, apply contained overscroll only on active axes, avoid capturing Sticky while fitting unless explicitly requested, expose standard container sizing props, and integrate optional content padding plus opt-in full bleed with the shared container geometry system. ### Fixes - BaseTypeahead: preserve input props and keep results accessible in narrow layouts (#6179) BaseTypeahead now forwards its inherited DOM and styling props to the combobox input, preserves native input attributes unless a defined legacy alias overrides them, keeps empty result lists valid for assistive technology, counts visible characters for `minQueryLength`, and keeps both the popup and long result content within viewport gutters. -

  4. Astryx v0.6.0v0.6.0Sep 10, 2026

    Astryx 0.6.0 — all `@astryxdesign/*` packages ship at this version. ```bash npx astryx upgrade --apply ``` ## @astryxdesign/core ### Breaking Changes - Remove deprecated focus-direction overrides, the hooks-path `isImeKeyEvent` re-export, and Resizable pixel-bound aliases. **Codemod:** Run `npx astryx upgrade --apply` before updating to 0.6.0. It removes focus-hook `isRtl`, moves `isImeKeyEvent` imports to `@astryxdesign/core/utils`, and renames `minSizePx`/`maxSizePx` to `minSize`/`maxSize`. - Stop emitting deprecated bare prop and state classes such as `.primary`, `.sm`, and `.checked`. Components retain their stable `astryx-*` target classes and reflect visual props and runtime states through explicit `data-*` attributes; generated runtime and built theme CSS now uses that same selector contract. Run `astryx upgrade --apply` to migrate safely identifiable selectors in `.css` files when a known Astryx target and v0.5.4 value have one or more known meanings. For example: - `.astryx-button.primary` → `.astryx-button:is(.primary, [data-variant="primary"])` - `.astryx-button.sm` → `.astryx-button:is(.sm, [data-size="sm"])` - `.astryx-switch.checked` → `.astryx-switch:i

  5. Astryx v0.5.4v0.5.4Sep 7, 2026

    > [!WARNING] > **Stepper context compatibility:** v0.5.3 changed the package-exported `StepperContextValue` / `useStepperContext` shape, and v0.5.4 does not repair that compatibility break. Ordinary `<Stepper>` and `<Step>` usage is unaffected, but consumers that call the context hook directly or construct `StepperContextValue` should remain on v0.5.2 while a source-compatible repair is evaluated. See [#5659](https://github.com/facebook/astryx/pull/5659). Astryx 0.5.4 updates the fixed-version core package family. ```bash npx astryx upgrade --apply ``` ## Fixes - DropdownMenu keeps focus where it is when a controlled menu mounts already open. ArrowDown on the focused trigger enters an already-open menu without requiring a close and reopen. ([#5976](https://github.com/facebook/astryx/pull/5976)) - DropdownMenuRadioGroup now renders a working, selectable menu in the docsite properties preview. ([#5976](https://github.com/facebook/astryx/pull/5976)) ## CLI and docsite - CLI integrations preserve block showcase metadata, letting packages ship their own docsite previews. Charts now includes its primary bar-chart showcase. ([#5583](https://github.com/facebook/astryx/pull/5583)) - S

Code frequency

additions and deletions
+3.1M-3.1MWeek of 2026-01-04: +11,444 linesWeek of 2026-01-04: -436 linesWeek of 2026-01-11: +3,143,431 linesWeek of 2026-01-11: -3,133,227 linesWeek of 2026-01-18: +5,413 linesWeek of 2026-01-18: -2,644 linesWeek of 2026-01-25: +16,303 linesWeek of 2026-01-25: -684 linesWeek of 2026-02-01: +20,466 linesWeek of 2026-02-01: -3,638 linesWeek of 2026-02-08: +18,469 linesWeek of 2026-02-08: -1,689 linesWeek of 2026-02-15: +34,250 linesWeek of 2026-02-15: -8,593 linesWeek of 2026-02-22: +21,427 linesWeek of 2026-02-22: -16,174 linesWeek of 2026-03-01: +33,699 linesWeek of 2026-03-01: -17,043 linesWeek of 2026-03-08: +43,880 linesWeek of 2026-03-08: -18,975 linesWeek of 2026-03-15: +28,979 linesWeek of 2026-03-15: -8,495 linesWeek of 2026-03-22: +25,026 linesWeek of 2026-03-22: -8,133 linesWeek of 2026-03-29: +55,561 linesWeek of 2026-03-29: -19,357 linesWeek of 2026-04-05: +57,297 linesWeek of 2026-04-05: -15,135 linesWeek of 2026-04-12: +111,992 linesWeek of 2026-04-12: -70,789 linesWeek of 2026-04-19: +88,224 linesWeek of 2026-04-19: -68,696 linesWeek of 2026-04-26: +29,802 linesWeek of 2026-04-26: -11,053 linesWeek of 2026-05-03: +17,871 linesWeek of 2026-05-03: -6,391 linesWeek of 2026-05-10: +15,904 linesWeek of 2026-05-10: -5,021 linesWeek of 2026-05-17: +57,088 linesWeek of 2026-05-17: -22,638 linesWeek of 2026-05-24: +29,091 linesWeek of 2026-05-24: -6,598 linesWeek of 2026-05-31: +14,965 linesWeek of 2026-05-31: -9,905 linesWeek of 2026-06-07: +42,702 linesWeek of 2026-06-07: -43,405 linesWeek of 2026-06-14: +153,722 linesWeek of 2026-06-14: -145,959 linesWeek of 2026-06-21: +49,582 linesWeek of 2026-06-21: -41,996 linesWeek of 2026-06-28: +47,671 linesWeek of 2026-06-28: -12,062 linesWeek of 2026-07-05: +38,603 linesWeek of 2026-07-05: -10,922 linesWeek of 2026-07-12: +16,220 linesWeek of 2026-07-12: -4,328 linesWeek of 2026-07-19: +88,661 linesWeek of 2026-07-19: -55,163 linesWeek of 2026-07-26: +163,837 linesWeek of 2026-07-26: -123,051 linesWeek of 2026-08-02: +36,779 linesWeek of 2026-08-02: -6,068 linesWeek of 2026-08-09: +65,510 linesWeek of 2026-08-09: -16,895 linesWeek of 2026-08-16: +85,876 linesWeek of 2026-08-16: -15,403 linesWeek of 2026-08-23: +139,419 linesWeek of 2026-08-23: -29,976 linesWeek of 2026-08-30: +130,238 linesWeek of 2026-08-30: -18,277 linesWeek of 2026-09-06: +107,513 linesWeek of 2026-09-06: -15,594 linesWeek of 2026-09-13: +22,485 linesWeek of 2026-09-13: -2,510 linesWeek of 2026-09-20: +117,516 linesWeek of 2026-09-20: -19,082 linesJan 4, 2026Sep 20, 2026
+5.2M lines added, -4M removed over the last year.

Commits per week

last 52 weeks
2570Week of 2025-09-27: 0 commitsWeek of 2025-10-04: 0 commitsWeek of 2025-10-11: 0 commitsWeek of 2025-10-18: 0 commitsWeek of 2025-10-25: 0 commitsWeek of 2025-11-01: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 11 commitsWeek of 2026-01-11: 16 commitsWeek of 2026-01-18: 11 commitsWeek of 2026-01-25: 13 commitsWeek of 2026-02-01: 17 commitsWeek of 2026-02-08: 18 commitsWeek of 2026-02-15: 62 commitsWeek of 2026-02-22: 66 commitsWeek of 2026-03-01: 73 commitsWeek of 2026-03-08: 72 commitsWeek of 2026-03-15: 107 commitsWeek of 2026-03-22: 94 commitsWeek of 2026-03-29: 114 commitsWeek of 2026-04-05: 111 commitsWeek of 2026-04-12: 144 commitsWeek of 2026-04-19: 251 commitsWeek of 2026-04-26: 127 commitsWeek of 2026-05-03: 96 commitsWeek of 2026-05-10: 45 commitsWeek of 2026-05-17: 99 commitsWeek of 2026-05-24: 58 commitsWeek of 2026-05-31: 50 commitsWeek of 2026-06-07: 144 commitsWeek of 2026-06-14: 69 commitsWeek of 2026-06-21: 186 commitsWeek of 2026-06-28: 200 commitsWeek of 2026-07-05: 190 commitsWeek of 2026-07-12: 86 commitsWeek of 2026-07-19: 149 commitsWeek of 2026-07-26: 196 commitsWeek of 2026-08-02: 106 commitsWeek of 2026-08-09: 151 commitsWeek of 2026-08-16: 123 commitsWeek of 2026-08-23: 235 commitsWeek of 2026-08-30: 257 commitsWeek of 2026-09-06: 118 commitsWeek of 2026-09-13: 51 commitsWeek of 2026-09-20: 211 commitsSep 27, 2025Sep 20, 2026
4.1K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 12 commitsSun 1:00 — 10 commitsSun 2:00 — 6 commitsSun 3:00 — 11 commitsSun 4:00 — 19 commitsSun 5:00 — 6 commitsSun 6:00 — 14 commitsSun 7:00 — 6 commitsSun 8:00 — 31 commitsSun 9:00 — 25 commitsSun 10:00 — 14 commitsSun 11:00 — 44 commitsSun 12:00 — 26 commitsSun 13:00 — 16 commitsSun 14:00 — 20 commitsSun 15:00 — 30 commitsSun 16:00 — 15 commitsSun 17:00 — 9 commitsSun 18:00 — 35 commitsSun 19:00 — 20 commitsSun 20:00 — 14 commitsSun 21:00 — 20 commitsSun 22:00 — 25 commitsSun 23:00 — 28 commitsMon 0:00 — 19 commitsMon 1:00 — 14 commitsMon 2:00 — 5 commitsMon 3:00 — 6 commitsMon 4:00 — 5 commitsMon 5:00 — 8 commitsMon 6:00 — 7 commitsMon 7:00 — 15 commitsMon 8:00 — 13 commitsMon 9:00 — 36 commitsMon 10:00 — 27 commitsMon 11:00 — 20 commitsMon 12:00 — 41 commitsMon 13:00 — 28 commitsMon 14:00 — 32 commitsMon 15:00 — 32 commitsMon 16:00 — 28 commitsMon 17:00 — 47 commitsMon 18:00 — 28 commitsMon 19:00 — 38 commitsMon 20:00 — 18 commitsMon 21:00 — 17 commitsMon 22:00 — 14 commitsMon 23:00 — 4 commitsTue 0:00 — 12 commitsTue 1:00 — 2 commitsTue 2:00 — 5 commitsTue 3:00 — 5 commitsTue 4:00 — 9 commitsTue 5:00 — 12 commitsTue 6:00 — 14 commitsTue 7:00 — 13 commitsTue 8:00 — 22 commitsTue 9:00 — 42 commitsTue 10:00 — 30 commitsTue 11:00 — 52 commitsTue 12:00 — 23 commitsTue 13:00 — 26 commitsTue 14:00 — 33 commitsTue 15:00 — 22 commitsTue 16:00 — 39 commitsTue 17:00 — 25 commitsTue 18:00 — 30 commitsTue 19:00 — 35 commitsTue 20:00 — 25 commitsTue 21:00 — 31 commitsTue 22:00 — 29 commitsTue 23:00 — 18 commitsWed 0:00 — 17 commitsWed 1:00 — 18 commitsWed 2:00 — 19 commitsWed 3:00 — 9 commitsWed 4:00 — 5 commitsWed 5:00 — 13 commitsWed 6:00 — 8 commitsWed 7:00 — 7 commitsWed 8:00 — 20 commitsWed 9:00 — 21 commitsWed 10:00 — 36 commitsWed 11:00 — 48 commitsWed 12:00 — 46 commitsWed 13:00 — 51 commitsWed 14:00 — 60 commitsWed 15:00 — 53 commitsWed 16:00 — 69 commitsWed 17:00 — 51 commitsWed 18:00 — 39 commitsWed 19:00 — 32 commitsWed 20:00 — 21 commitsWed 21:00 — 22 commitsWed 22:00 — 34 commitsWed 23:00 — 33 commitsThu 0:00 — 16 commitsThu 1:00 — 14 commitsThu 2:00 — 13 commitsThu 3:00 — 11 commitsThu 4:00 — 5 commitsThu 5:00 — 8 commitsThu 6:00 — 9 commitsThu 7:00 — 21 commitsThu 8:00 — 36 commitsThu 9:00 — 48 commitsThu 10:00 — 70 commitsThu 11:00 — 66 commitsThu 12:00 — 24 commitsThu 13:00 — 87 commitsThu 14:00 — 57 commitsThu 15:00 — 37 commitsThu 16:00 — 50 commitsThu 17:00 — 56 commitsThu 18:00 — 42 commitsThu 19:00 — 40 commitsThu 20:00 — 30 commitsThu 21:00 — 50 commitsThu 22:00 — 30 commitsThu 23:00 — 14 commitsFri 0:00 — 6 commitsFri 1:00 — 9 commitsFri 2:00 — 15 commitsFri 3:00 — 11 commitsFri 4:00 — 9 commitsFri 5:00 — 18 commitsFri 6:00 — 24 commitsFri 7:00 — 23 commitsFri 8:00 — 19 commitsFri 9:00 — 14 commitsFri 10:00 — 32 commitsFri 11:00 — 29 commitsFri 12:00 — 32 commitsFri 13:00 — 43 commitsFri 14:00 — 42 commitsFri 15:00 — 37 commitsFri 16:00 — 50 commitsFri 17:00 — 46 commitsFri 18:00 — 28 commitsFri 19:00 — 32 commitsFri 20:00 — 32 commitsFri 21:00 — 28 commitsFri 22:00 — 18 commitsFri 23:00 — 26 commitsSat 0:00 — 15 commitsSat 1:00 — 8 commitsSat 2:00 — 9 commitsSat 3:00 — 2 commitsSat 4:00 — 2 commitsSat 5:00 — 30 commitsSat 6:00 — 18 commitsSat 7:00 — 24 commitsSat 8:00 — 16 commitsSat 9:00 — 16 commitsSat 10:00 — 22 commitsSat 11:00 — 20 commitsSat 12:00 — 19 commitsSat 13:00 — 21 commitsSat 14:00 — 34 commitsSat 15:00 — 23 commitsSat 16:00 — 41 commitsSat 17:00 — 15 commitsSat 18:00 — 7 commitsSat 19:00 — 15 commitsSat 20:00 — 20 commitsSat 21:00 — 18 commitsSat 22:00 — 24 commitsSat 23:00 — 16 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Aug 7, 2026monthly#16+6,191
Aug 6, 2026monthly#16+6,191
Aug 5, 2026monthly#13+6,591
Aug 4, 2026monthly#9+7,387
Aug 3, 2026monthly#9+8,233
Jul 22, 2026daily#14+4
Jul 4, 2026daily#14+29
Jul 3, 2026daily#5+19
Jul 2, 2026daily#8+33
Jul 1, 2026daily#16+19
  • freeCodeCamp/freeCodeCamp

    freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.

    456.7K stars · TypeScript

  • openclaw/openclaw

    The AI that really does things. Any OS. Any Platform. The lobster way. 🦞

    391.3K stars · TypeScript

  • anomalyco/opencode

    The open source coding agent.

    211.7K stars · TypeScript

  • n8n-io/n8n

    Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

    206.7K stars · TypeScript

  • microsoft/vscode

    Visual Studio Code

    193.5K stars · TypeScript

  • firecrawl/firecrawl

    Supercharge your AI agents with data from the web and beyond. Building the library for superintelligence. 🔥

    188.6K stars · TypeScript