React Archetype is a cli tool designed to facilitate the creation of reactive applications. It allows you to generate apps based on different rendering strategies and architectural patterns.
Badges from Shields
Our aim is to make app generation as easy and compatible as possible. The goal is to provide unopinionated templates with the latest tools and technologies that are available in the market.
NOTE:
Ease of use: All you need to do is run a single command (usage) and answer a few questions.
Compatibility: The tool is built in such a way that it can be used in any project.
Flexibility: The generated templates are fairly opinionated but will be made more flexible very soon.
- REACT
- CSR with Webpack
- SSR with Webpack
- CSR with Vite
- SSR with Vite
- NEXT v14
Read this amazing blog by Flavien Bonvin to learn more about the different rendering strategies.
-
Install the package globally,
npm i -g @genesisx/react-archetype
-
Go to the directory where you want to use this tool.
-
Open up the terminal and run the command,
ra
react-archetype
-
Go to the directory where you want to use this tool.
-
Open up the terminal and run the command,
npx @genesisx/react-archetype
-
Provide the input to the prompts and finally, you should have your application ready.
This tool can be used to create a new standalone app/project. It can also be used as a micro app generator in a NX, Turbo or Lerna based monorepo workspaces.
You can rely on some of the custom cli arguments that react-archetype comes with.
If you have react-archetype globablly installed, you use the following command,
ra <cli-argument>
react-archetype <cli-argument>
If you are using npx, use the below command,
npx @genesisx/react-archetype <cli-argument>
where cli-argument is one of:
- --list, -l, --info, -i, --version, -v, --no-install, -ni
cli argument | description |
---|---|
--info or -i | logs necessary information on how to use the tool with different arguments |
--version or -v | logs the version of react-archetype package installed in the system or the version used to generate app |
--list or -l | logs the list of existing apps in a monorepo generated using react-archetype |
--no-install or -ni | generates app without installing the dependencies |
The steps to run the app will be displayed in the terminal.
-
New Project
-
Go inside the app directory
cd <appName>
-
Run the serve command
#using npm npm run dev #using yarn yarn dev #using pnpm pnpm dev
-
-
Existing Project - Run the serve command
# using npm npm run dev -w=<app_name> # using yarn yarn workspace <app_name> dev # using pnpm pnpm --filter <app_name> dev
Refer the
package.json
file of the generated app to learn more about the other commands.
Here are the templates and few items from the backlog that are in progress and will available in the next release:
- Static Site Generation with Next.js
- Incrementatal Static Regeneration with Next.js
- Other than these Nextjs based apps, we will be making the react-archetype generator more robust.
- More features will be added to the existing templates.
- Documentation improvement is also something that is on high priority along with the new templates.
- More modern rendering strategies and architectural patterns:
- Partial hydration
- Progressive hydration or Streaming SSR with Server Components
- SSR with Resumability
- Islands architecture
- Edge Side rendering
For the future releases, React Archetype will come up with "add-ons" , more versatility and Flexibility in terms of the technology of choice and more templates for different technologies.
See CONTRIBUTING.md on how to get started.