Saas UI for React and Chakra UI application development
The React component library for startups, built with Chakra UI.
At a glance
- What is it?
- Saas UI adds design tokens, recipes, editable compositions, and a registry CLI to React applications built with Chakra UI. It fits teams that want source-owned SaaS interface patterns, but its prerelease packages and editable component model add migration considerations.
- Who is it for?
- Saas UI is a reasonable fit for startup teams already using React and Chakra UI that want editable SaaS layouts without building every design token and composition internally. It is less suitable for projects committed to Chakra UI alone, teams that prefer a stable package release, or developers who cannot absorb changes during the v3 transition.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 7 days ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 20, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Saas UI's place beside Chakra UI primitives
Saas UI addresses a specific frontend problem: startup teams often need common B2B application patterns such as navigation sidebars, settings screens, account areas, and data-oriented views, but they do not want every product team to define those patterns independently. It is intended for developers building React applications and dashboards on top of Chakra UI. The repository positions itself as both a design system and a source component registry rather than as an unrelated replacement for Chakra UI.
The division of responsibility matters. Chakra primitives come from `@chakra-ui/react`. Saas UI supplies tokens and recipes through `@saas-ui/chakra-preset`, while editable compositions such as Sidebar are placed into an application by `@saas-ui/cli`. This makes Saas UI a layer above Chakra UI. Applications that need a different foundation would first have to change their primitive layer, which is a larger adoption decision than adding application compositions.
The source registry approach also differs from treating a package as an opaque dependency. Registry components are installed as source, so the receiving team owns and can edit the resulting files. That is useful when product requirements make a fixed component API restrictive. The tradeoff is that changes in application code cannot be repaired simply by upgrading a package. The repository includes update and diff workflows, but teams still need ownership rules for locally edited files.
Tokens, recipes, packages, and the registry compiler
Based on the repository layout, Saas UI is implemented as a pnpm workspace with separate packages, applications, templates, examples, tests, and registry tooling. The README identifies the open-source distribution as Chakra tokens, recipes, semantic styling, system configuration, editable registry items, CLI workflows, and supporting packages for hooks, forms, authentication, and modals. The `packages/` directory houses this package-oriented code, while `tooling/registry/` contains registry generation infrastructure referenced by the root package scripts.
The data flow begins with design decisions represented as tokens, recipes, and semantic styling in the preset. Component compositions then consume that system. The CLI resolves registry items such as Sidebar and installs their source into the target application. Initialization also creates `components.json` and local provider setup, giving the CLI a project-level place to recognize its configuration. This architecture separates shared styling foundations from editable application code.
The repository contains several example frontends under `examples/`, including Next.js, React Router, TanStack, and tsc-router variants. That breadth indicates attention to multiple React application environments, but the README does not claim identical feature support for every example. It also does not document a public registry API beyond the CLI operations and linked CLI README. Consumers who need programmatic registry access should inspect `packages/saas-ui-cli/README.md` rather than assuming one.
Initializing an existing React project with Saas UI
The README directs developers with an existing React project to initialize Saas UI through its release candidate CLI. This command is intended to install compatible Chakra, Emotion, and preset dependencies, create `components.json`, and add the local provider setup. A successful initialization should therefore leave project configuration and source files changed, not merely create an external cache.
Run this from the existing React project:
npx @saas-ui/cli@rc initAfter initialization, the documented way to add an editable Sidebar composition is:
npx @saas-ui/cli@rc add sidebarThe second command installs source code for that composition into the application. Review the generated files, provider configuration, and dependency changes before committing them. The README points to `packages/saas-ui-cli/README.md` for command details, so consult that file when the CLI needs interactive options or when the application already has Chakra configuration.
For people changing this monorepo rather than consuming its packages, the README requires pnpm 10 or newer. The repository-level install command is:
pnpm installThat installs the workspace rather than initializing a separate application. The repository also documents local Storybook, package build, and website commands through its root `package.json`.
Running Storybook, packages, and the documentation site
Saas UI provides repository-level workflows for inspecting components and maintaining the workspace. Storybook is the documented destination for reviewing components outside the documentation website. The root script filters the workspace to `saas-ui-storybook` and starts its development server. The README gives the command but does not state a fixed port, so the terminal output should be treated as the source for the local URL.
Start Storybook with:
pnpm storybookThe package build uses the workspace build script:
pnpm build:packagesThis builds the repository packages through the configured workspace tooling. It is separate from the Storybook process and should not be interpreted as a published release.
The documentation site has a more restrictive dependency boundary. The README states that it depends on the private package `@saas-ui-pro/react` and cannot build fully without access to the private Git submodule. Run the documented website command only in an environment that has the required private dependency access:
pnpm dev:webThis constraint matters for forks and contributors without the private submodule. The public components may remain usable, but the complete documentation site is not self-contained. It would be misleading to treat a failed public-only website build as evidence that all open-source registry components are broken.
Release state and upgrade costs for existing React users
The repository is not archived, and the last push was on 2026-10-15. The recent package records show release candidates rather than a stable v3 line: `@saas-ui/react` and `saas-ui-storybook` were published as `3.0.0-next.56`, while `@saas-ui/modals` appeared as `3.0.0-next.59` on 2026-08-14. The initialization commands also use `@saas-ui/cli@rc`. These are concrete signals that teams should plan for a transition rather than treating the documented setup as a pinned stable installation.
Existing `@saas-ui/react` users are explicitly directed to `MIGRATION.md`. The README also clarifies that the package remains available during the transition and does not claim that npm deprecation or removal has occurred. That distinction matters because migration may require application changes, but package disappearance should not be asserted without additional evidence.
Upgrade cost depends on which part of the system a team uses. Moving between compatible package versions may involve provider, token, or recipe changes. Updating an editable registry component can instead involve source-level differences, especially where application developers have customized it. The CLI includes diff and update workflows according to the README, but the documentation excerpt does not explain how those workflows merge local edits. That is the first maintenance question to resolve for heavily customized components.
The repository is licensed under MIT. The README states that all code is MIT licensed except Saas UI branding assets. This permits broad code reuse under the license terms, while the separate treatment of branding means a team should not assume every image or logo is covered identically. This is a licensing boundary, not legal advice.
When direct Chakra UI is the better alternative
The most direct alternative is building with `@chakra-ui/react` alone and maintaining application components internally. Chakra already supplies the primitives identified in the README. A team that has its own token architecture, component governance, and navigation patterns can compose those primitives directly without adopting Saas UI's preset, registry compiler, editable installs, or v3 migration path.
The practical difference is ownership. Saas UI packages common SaaS decisions as tokens, recipes, semantic styling, and source compositions, then uses a CLI to add them. Direct Chakra development keeps those decisions inside the application but requires the team to define and maintain them. Saas UI reduces the amount of initial interface scaffolding a team must create, while direct Chakra work offers fewer Saas UI-specific layers to track.
Saas UI is the wrong choice when standardized startup patterns do not match the product, when source components would become difficult to reconcile with product-specific edits, or when using prerelease packages is unacceptable. It also does not fit a non-React frontend. Its Pro catalog should not be mistaken for the MIT repository's open-source distribution: authenticated editable blocks and the private documentation dependency belong to a separate paid offering.
Editorial conclusion
Saas UI is a reasonable fit for startup teams already using React and Chakra UI that want editable SaaS layouts without building every design token and composition internally. It is less suitable for projects committed to Chakra UI alone, teams that prefer a stable package release, or developers who cannot absorb changes during the v3 transition. Evaluate `@saas-ui/cli@rc init` in a branch, inspect the files it writes, and review `MIGRATION.md` before adopting it as an application standard.
Frequently asked questions
How do I initialize Saas UI in an existing React project?
Run `npx @saas-ui/cli@rc init`. According to the README, initialization installs compatible Chakra, Emotion, and preset dependencies, creates `components.json`, and adds local provider setup.
How does the Saas UI CLI add an editable component?
The README gives `npx @saas-ui/cli@rc add sidebar` as the example. It installs the Sidebar composition as editable source in the application rather than relying only on a packaged component.
Is Saas UI currently using stable or prerelease packages?
The documented CLI commands use `@saas-ui/cli@rc`, and the listed v3 package releases use `3.0.0-next` versions. Existing `@saas-ui/react` users are directed to `MIGRATION.md`.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/saas-js-saas-ui)