# Catalyst
Catalyst logo
Catalyst is a React framework for building performant web apps and universal apps for Android and iOS. It provides server-side rendering, route-level data fetching, app shell primitives, styling conventions, and native WebView packaging tools. ## Quick Start Create a new Catalyst app with: ```sh npx create-catalyst-app@latest ``` Then start the generated app: ```sh cd npm run start ``` The development server starts at `http://localhost:3005`. ## Documentation Read the full documentation at [catalyst.1mg.com](https://catalyst.1mg.com). Useful starting points: - [Getting Started](https://catalyst.1mg.com/public_docs/content/Introduction/getting-started) - [First Catalyst App](https://catalyst.1mg.com/public_docs/content/Guides%20and%20Tutorials/First%20Catalyst%20App/quick-start) - [Universal App Setup](https://catalyst.1mg.com/public_docs/content/Guides%20and%20Tutorials/First%20Universal%20App/first-universal-app) ## Packages - [`catalyst-core`](./packages/catalyst-core): the framework package used by Catalyst applications. - [`create-catalyst-app`](./packages/create-catalyst-app): the CLI for scaffolding new Catalyst apps. ## Requirements - Node.js `20.4.0` or later for generated Catalyst apps. - macOS or Linux for local development. ## Repository This repository is a monorepo containing the framework package, scaffolding CLI, docs app, and internal test fixture. - `packages/catalyst-core`: framework package - `packages/create-catalyst-app`: CLI and scaffold templates - `examples/catalyst-core-test`: standalone fixture app used to test `catalyst-core` - `docs`: Catalyst documentation app ## Contributing See [CONTRIBUTING.md](./CONTRIBUTING.md) for issue and pull-request templates and the review checklist. Install dependencies and create local docs config before running build/test commands: ```sh npm run setup ``` Common development commands: ```sh npm run core:build npm run core:test npm run cca:test npm run docs:build ``` To scaffold a real app from the current branch packages: ```sh npm run sandbox:create -- --name release-test ``` The sandbox app is created under `.sandbox/` and uses a local packed `catalyst-core` from the current branch.