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
โโโ app # Pages folder
โโโ __tests__ # Test folder
โ โโโ __snapshots__ # Snapshot folder
โ โโโ snapshot.tsx.snap # The saved snapshots
โ โโโ index.test.tsx # Sample test file
โ โโโ components # Components folder
โ โโโ lib # Library folder
โ โโโ svgs # SVG folder
โ โโโ favicon.ico # The favicon
โ โโโ globals.css # The main css file to configure globals such a tailwind
โ โโโ layout.tsx # The main layout files
โ โโโ page.tsx # Sample page
โโโ docs # Documentation
โ โโโ CHANGELOG.md # the changelog
โ โโโ ci.md # docs for CI
โ โโโ commit-convention.md # docs for commit convention
โโโ public # Folder for static assets
โโโ .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)
โโโ .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 # the CODE OF CONDUCT
โโโ jest.config.js # Config file for jest
โโโ jest.setup.js # Used for __tests__/testing-library.js
โโโ LICENSE # License information
โโโ next-env.d.ts # Next.js Typescript declaration file (leave unchanged)
โโโ package.json # The package.json of this project
โโโ pnpm-lock.yaml # Lock file for packages (leave unchanged)
โโโ postcss.config.js # the postcss config file
โโโ README.md # README documentation
โโโ 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