Next.js + Chakra UI + Turborepo boilerplate for Strangelove Ventures' projects 🐲
Table of contents
- Features
- Using template
- Setup repository
- Scripts
- GitHub Workflows
- Directory structure
- Notes
- References
- License
- pnpm as default package manager
- Monorepo structure
- Flat structure inside
website/
directory - Integrated git hooks with
husky
andlint-staged
- Premade issue templates and pull request templates
- Lint on latest push via GitHub Actions
via GitHub templates
- Click "Use this template" on this project's GitHub page
- Or click here to create a GitHub repository based on this template
via CLI using degit
$ npx degit strangelove-ventures/strangestarter new-project
$ cd new-project
- Install dependencies by running
pnpm install
- Update website information in
website/config/favicons.json
andwebsite/config/metadata.json
- Change website icon and social image in
website/public/icon.png
andwebsite/public/social.png
- Generate favicons assets by running
pnpm website favicons
pnpm build
- build websitepnpm dev
- run website dev instancePORT=12345 pnpm dev
- run website dev instance on custom port (non-windows, for windows usecross-env
)pnpm website tokens
- generate Chakra UI theme token typingspnpm website [...args]
- run website scoped commands
- Lint on latest push (view workflow schema)
- Manually trigger upgrade dependencies (view workflow schema)
├── packages/ # local packages
├── patches/ # package patches
└── website/ # main website entrypoint
├── config/ # various configuration files
├── constants/ # hardcoded constants and variables
├── hooks/ # custom react hooks
├── lib/ # 3rd party imports/exports (mdx, prisma, etc.)
├── pages/ # main next.js pages
├── public/ # static assets
│ └── assets/ # favicons assets
├── scripts/ # runnable scripts
├── store/ # application state providers/stores
├── styles/ # stylesheets and theme definitions
├── ui/ # components directory
└── utils/ # various utility declarations
- Make sure the root directory is
website/
and not/
(read more)