Building a great product often starts with a robust foundation. But setting up new projects from scratch can be a time-consuming and repetitive process, often leading to inconsistent configurations, missed best practices, and wasted development hours. You deserve to focus on innovation, not boilerplate.
That's where @devsantara/kit
comes in. It's more than just a template; it's a meticulously crafted, opinionated boilerplate designed to give developers like you a significant head start. We've baked in well-thought-out setups, easy maintenance, and up-to-date tooling so you can jump straight into building your next big idea with confidence and speed.
We believe developers should spend their time solving unique problems, not re-solving common setup challenges. @devsantara/kit
is your go-to starting point, providing the clarity and efficiency you need to transform your vision into a tangible product. Focus on the "what" and let us handle the "how to get started."
- ⚡️ Blazing Fast Project Initialization: Ditch the repetitive setup tasks. Get a fully configured project ready to code in minutes, not hours or days.
- 🛠️ Robust & Well-Structured Foundation: Benefit from a logical and scalable project architecture, which ensures maintainability as your product grows, designed with experience and iterative learning in mind.
- 🚀 Modern & Up-to-Date Tooling: We keep
@devsantara/kit
aligned with the latest industry standards and best practices, so your project is always up to date with all the benefits it provides. - ✅ Production-Ready Configuration: From development to deployment, our sensible defaults and configurations minimize common pitfalls, letting you focus on feature development.
- Next.js with App Router.
- A robust type system with Typescript.
- Maintain the best quality commit messages with Commitlint.
- Using Prettier as a formatter to unify code writing styles.
- With a strict linter system using Eslint with various strict rules to maintain the quality of your code.
- Will never forget to maintain code quality with Lint-staged.
- Husky, Ultra-fast modern native git hooks.
- Easily create changelogs and perform application releases using Release-it.
- Using TailwindCSS, unapologetically modern styling solution, and takes advantage of all the latest and greatest CSS features to make the developer experience as pleasant as possible.
- ...And many more to come
Let's take a look and get to know more about some of the tools and configurations used.
Before you begin, ensure you have the following installed on your local development machine:
- Navigate to the main page of this repository on GitHub.
- Above the file list, click the green "Use this template" button, and then select "Create a new repository".
- On the "Create a new repository" page that opens, select an
Owner
(your personal account or an organization) and enter a unique repository name for your new project.
Once your new repository is created, you need to clone it to your local machine.
This project uses pnpm
for package management. To install all the necessary dependencies defined in the package.json
file, run:
pnpm install
Now you can start developing your ideas, with several scripts available:
Script name | Description |
---|---|
dev |
Runs the Next.js development server with Turbopack . |
build |
Creates an optimized production build of your application. |
start |
Starts the production server for your built application. |
lint |
Analyzes code for potential errors and style issues using Next.js's built-in ESLint configuration. |
lint:fix |
Automatically fixes linting errors and warnings that are fixable. |
lint:inspect |
Allows you to inspect the final ESLint configuration being used. |
format |
Formats non-code /js /ts (json /markdown /css /... ) files in the project with Prettier. |
commitlint |
Checks if your commit messages meet the conventional commit format. (Used on commit-msg git hooks) |
postinstall |
A script that runs automatically after pnpm install is completed. (Put any postinstall command/scripts on scripts/postinstall.sh) |
release:patch |
Creates a new patch release (e.g., v1.0.0 -> v1.0.1) . |
release:minor |
Creates a new minor release (e.g., v1.0.1 -> v1.1.0) . |
release:major |
Creates a new major release (e.g., v1.1.0 -> v2.0.0) . |
All information regarding configurations, extensions and code snippets for Visual Studio Code can be seen here.
Here are some eslint plugins/tools that are used to support the quality of your code (full support for eslint flat config):
@eslint/compat
@eslint/js
@next/eslint-plugin-next
@stylistic/eslint-plugin
@typescript-eslint/parser
eslint-plugin-import
eslint-plugin-jsx-a11y
eslint-plugin-react
eslint-plugin-react-hooks
typescript-eslint
eslint-plugin-better-tailwindcss
This project adheres to the Conventional Commits specification. A specification for adding human and machine readable meaning to commit messages, make commit messages easier to read and understand.
To ensure the quality and consistency of commit messages,
commitlint
is used to validate that all commits follow this standard. see the commitlint config here
We welcome contributions from the community! If you have suggestions for improvements, new features, or bug fixes, please open an issue or submit a pull request.
This project is licensed under the MIT License.