Easy to use front-end boilerplate to start developing your Next.js application right away π―
- Features all of the benefits of Next.js
- Typescript support
- Blazing fast package manager
- Lint your code with
husky
&lint-staged
- Normalizes default browser styles
- Automatically formats your code by using
Prettier
- JavaScript Testing Framework
- Friendly errors & warnings
- Automated releases with
semantic-release
andGithub Actions
- Includes Tailwind CSS & shadcn/ui to quickly build user-friendly interfaces
- Automatically optimizes all your SVGs
βββ .github # Workflows for Github Actions
βββ .husky # Git hooks
βββ docs # Documentation
β βββ CHANGELOG.md # the changelog
β βββ ci.md # docs for CI
β βββ commit-convention.md # docs for commit convention
βββ e2e # E2E tests
β βββ example.spec.ts # Example E2E test
βββ public # Folder for static assets
βββ src # Source folder
β βββ __tests__ # Test folder
β βββ app # App folder
β βββ components # Components folder
β βββ lib # Lib folder
β βββ svgs # SVGs folder
βββ .commitlintrc # commitlint config (package)
βββ .czrc # Config to commitizen
βββ .editorconfig # Config to normalize editors
βββ .env.example # Example file with required .env variables
βββ .eslintrc # Eslint config
βββ .gitignore # Files that will be ignored by git
βββ .lintstagedrc.js # Config file for "lint-staged" (package)
βββ .npmrc # Config file for npm
βββ .nvmrc # Compatible node version
βββ .prettierignore # Files that will be ignored by Prettier (package)
βββ .prettierrc # Prettier config (package)
βββ .releaserc # semantic-release config
βββ .svgrrc # config for SVGR
βββ CODE_OF_CONDUCT.md # the CODE OF CONDUCT
βββ LICENSE # License information
βββ README.md # README documentation
βββ components.json # Shadcn UI config
βββ jest.config.js # Config file for jest
βββ jest.setup.js # Used for __tests__/testing-library.js
βββ next-env.d.ts # Next.js Typescript declaration file (leave unchanged)
βββ package.json # The package.json of this project
βββ playwright.config.ts # Config file for playwright
βββ pnpm-lock.yaml # Lock file for packages (leave unchanged)
βββ postcss.config.js # the postcss config file
βββ tailwind.config.ts # the tailwind css config
βββ tsconfig.json # Typescript config
For new projects you should be using pnpm as your package manager. It has some advantages over yarn and npm but it's main purpose is to be a fast and disk space efficient.
If you are new to pnpm you need to install it on your local machine, afterwards you can follow the instructions below.
# Install dependencies
pnpm install
# Install playwright for end-to-end tests
pnpm exec playwright install --with-deps
# Start local webserver at port 3000
pnpm dev
# Run linters
pnpm lint
# Run unit tests
pnpm test
# Run end-to-end tests
pnpm test:e2e
# Build app for production (gets output in the 'dist' directory)
pnpm build
# Start production server
pnpm start
To learn more about Next.js and the other tools, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Typescript - Introduction to TypeScript
- pnpm - Fast, disk space efficient package manager
- Tailwind CSS - A utility-first CSS framework packed with classes that can be composed to build any design, directly in your markup.
- Eslint - Find and fix problems in your JavaScript code.
- Prettier - Prettier is an opinionated code formatter.
- Jest - Jest is a delightful JavaScript Testing Framework with a focus on simplicity.
- React Testing Library - Simple and complete testing utilities that encourage good testing practices
- Conventional Commits - A specification for adding human and machine readable meaning to commit messages
- semantic-release - Fully automated version management and package publishing
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
- CHANGELOG - Changelog with all notable changes made to a project
- CI - Short explanation of the continuous integration process
- Commit Convention - Short introduction of the commit convention
- Write README.md
- Add UI Library e.g. Chakra UI
- Add React Testing Library
- Add automated releases
- Add more examples