Opinionated frontend monorepo with focus on best practices and painless developer experience.
Easily set up a local development environment
npm install
npm run dev
- Start all NextJs apps 🚀
Visit one of the monorepo apps localhost:3100
- Turborepo v1 remote cache build system, with blazingly fast execution of commands (build, lint, test etc.) on your local machine and CI
- TypeScript v4 codebase with Strict Configuration
- NextJs apps
- Depending on your preference to build custom UI components, monorepo includes 3 separate packages with respective configs.
Any UI package can be easily imported into Nextjs app:- Vanilla CSS package - ui
- MUI v5 package - ui-mui
- Tailwind v3 package - ui-tailwind
- Unit and integration tests with Jest
- Linting with ESLint
- Prettier code formatter
- Git hooks with Husky and lint-staged
- Commit messages must meet conventional commits format.
After staging changes just runnpm run commit
and get instant feedback on your commit message formatting and be prompted for required fields by Commitizen
Bellow commands will be executed on monorepo level - on all apps and packages where npm script exists.
Command | Description |
---|---|
prepare | Setup git hooks with Husky (executes on npm install) |
build | Build all apps and packages |
dev | Start all apps |
lint | Lint all apps and packages |
lint-stage-husky | Run lint-staged on every commit |
tsc | Run TypeScript compiler |
test | Run tests on all apps and packages |
storybook | Start storybooks on all apps and packages |
format-lint | Lint formatting with Prettier |
format-fix | Fix formatting with Prettier |
commit | Run Commitizen on staged file |
clean | Remove installed, generated and cached folders (node_modules, coverage, .next etc.) |
update-dependencies | Update dependencies to their latest versions |