Welcome to the Rush monorepo template provided by @akistack. This template helps you create a new monorepo that integrates our recommended standards and solutions with less effort.
Before you start, ensure you have the following tools installed and configured:
- Git
- Node.js (>= 22 LTS, We recommend using fnm to manage Node.js versions)
- Rush.js (Install:
npm i -g @microsoft/rush)
-
Create a new repository in GitHub (or other codebase services): https://github.com/new
-
Clone this repo:
git clone git@github.com:akistack/monorepo-starter.git my-project --depth 1
cd my-project- Install dependencies:
rush update- Run
akimomonorepo initialization wizard:
rush akimoSelect init, then follow the prompt to initialize the repo.
- Commit and push:
git add -A
git commit -m "feat(all): initialize monorepo from template"
git push -u origin mainRun rush init-project and select a template. Then fill the form with package name, author, project path, etc.
After completion, run rush update to install dependencies and update the shrinkwrap file.
├── apps # Applications (L4)
│ ├── server
│ └── web
├── common # Rush infra directory
│ ├── _templates # Template for init-project
│ ├── autoinstallers # CLI & Rush plugins
│ ├── config # Detailed configurations for Rush / PNPM
│ ├── git-hooks
│ ├── scripts
├── docs # Documents
├── packages # Shared packages
│ ├── business # Business modules / features (L3)
│ ├── domain # Domain packages (L2)
│ ├── infra # Infra packages (L0 / L1)
│ └── libs # Components / libs (L1)
└── rush.json # Global Rush configuration
This monorepo comes with our recommended stack. We aim to keep the technical stack consistent across the repo. See the table below:
| Area | Recommended Framework / Library |
|---|---|
| Language | TypeScript-first |
| UI Framework | React |
| Styling | CSS Modules and Tailwind CSS |
| Routing | Tanstack Router |
| Package Manager | PNPM |
| Monorepo Tool | Rush.js |
| Bundler | Rstack (Rsbuild / Rspack) |
| Library Build | Rslib |
| Lint | Biome |
| Unit Testing | Vitest |
| Component Testing | Testing Library |
| E2E Testing | Playwright |
| Target | Specification |
|---|---|
| Source-Control Branching Model | Follow Trunk Based Development |
| Branch | Follow Conventional Branch Specification |
| Commit | Follows Conventional Commits Specification |
Feel free to open an issue in akistack/monorepo-starter for help and feedback.