SkillAgentSearch skills...

Stator

Stator, your go-to template for the perfect stack. 😍🙏

Install / Use

/learn @chocolat-chaud-io/Stator

README

<div align="center"> <h1>Stator</h1> </div> <div align="center"> <strong>Stator, your go-to template for the perfect stack.</strong> </div> </br> <div align="center"> <a href="https://badge.fury.io/gh/chocolat-chaud-io%2Fstator"> <img src="https://badge.fury.io/gh/chocolat-chaud-io%2Fstator.svg" alt="GitHub version" /> </a> <a href="https://github.com/chocolat-chaud-io/stator/actions"> <img src="https://github.com/chocolat-chaud-io/stator/workflows/stator%20CI/badge.svg" alt="Github action status" /> </a> <a href="https://codecov.io/gh/chocolat-chaud-io/stator"> <img src="https://codecov.io/gh/chocolat-chaud-io/stator/branch/master/graph/badge.svg?token=3XN225FUIT" alt="Coverage Status" /> </a> <a href="http://commitizen.github.io/cz-cli/"> <img src="https://img.shields.io/badge/commitizen-friendly-ff69b4.svg" alt="Commitizen friendly" /> </a> <a href="https://renovatebot.com"> <img src="https://img.shields.io/badge/renovate-enabled-blue.svg" alt="Renovate" /> </a> <a href="https://github.com/semantic-release/semantic-release"> <img src="https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg" alt="semantic-release" /> </a> <a href="https://github.com/nestjs/nest"> <img src="https://raw.githubusercontent.com/nestjsx/crud/master/img/nest-powered.svg?sanitize=true" alt="Nest Powered" /> </a> <a href="https://github.com/juliandavidmr/awesome-nestjs#resources"> <img src="https://raw.githubusercontent.com/nestjsx/crud/master/img/awesome-nest.svg?sanitize=true" alt="Awesome Nest" /> </a> <a href="https://opensource.org/licenses/MIT"> <img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT" /> </a> <a href="http://makeapullrequest.com"> <img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg" alt="PRs Welcome" /> </a> <a href="https://github.com/chocolat-chaud-io/stator"> <img src="https://img.shields.io/badge/Made%20With-Love-orange.svg" alt="Made With Love" /> </a> </div> </br>

🚀 Quick Start

The interactive CLI will guide you to easily setup your project.

npm run get-started
</br>

📋 Table of Contents

</br>

📚 About the Project

Have you ever started a new project by yourself?<br/> If so, you probably know that it is tedious to set up all the necessary tools.<br/> Just like you, the part I enjoy the most is coding, not boilerplate.

Say hi to stator, a full-stack TypeScript template that enforces conventions, handles releases, automates deployments and much more!

If you want more details about how this idea was implemented, I recommend reading the series of blog articles I wrote on the topic.

</br>

🦄 Demo Application

This template includes a demo todo application that serves as an example of sound patterns. Of course, you won't be creating a todo application for your project, but you can use this as an example of useful patterns and learn how to use the technologies presented in this project.

demo application

Technical Stack

For a detailed list of all those technologies, you can read this blog article.

| Deployment | Database | Backend | Frontend | Testing | Conventions | | -------------------------------------------------------------------------------- | ------------------------------------------------ | ------------------------------------------------------------- | ------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | | DigitalOcean App Platform | Postgres | Nest | React | jest | commitlint | | semantic-release | Mongo | Fastify | React Router | cypress | eslint | | docker-compose | TypeORM | Swagger | Redux | | prettier | | | NestJs CRUD | ReDoc | Redux Toolkit | | | | | | | Material UI | | |

</br>

💥 Getting Started

Prerequisites

Copy the template

This repository is a repository template, which means you can use the Use this template button at the top to create your project based on this.

use template button

*Note: If you have an existing repository, this will require more work. I would recommend using the use template button and migrating your current code to the newly created projects.

Make it yours

You will now want to make this project yours by replacing all organization and project naming occurrences with your own names. Thankfully, we have a script just for that:

npm run rename-project -- --organization {YOUR_ORGANIZATION_NAME} --project {YOUR_PROJECT_NAME}

*Note: I highly recommend that the project name is the same as your git repository.

On completion, you will see the following message:

project appropriation success

Run the application

First, install the dependencies:

npm i

Then, run the whole stack:

npm run postgres
npm start api
npm start webapp

Finally, why not test it:

npm test api && npm run e2e webapp-e2e

For a full list of available commands, consult the package.json.

Continuous Integration

This templates integrates Github Actions for its Continuous Integration. The existing workflows are under .github/workflows. Currently, the CI will ensure all your apps work properly, by building and testing. For your pull requests, it will create a review application which will basically host your whole stack on a VM. Once everything is ready a new comment will be added to your pull request with the deployment URL. When the PR is closed, your review app will be destroyed as it's purpose will have been served. It's sacrifice will be for the greater good and also your wallet. To have the CI working, you must:

  1. (Optional) If you want review apps to work, you should follow the instruction provided by the get-started CLI.
  2. (Optional) Link your repository with Codecov by inserting your CODECOV_TOKEN in github secrets.
  3. (Optional) Insert your Nx Cloud access token in github secrets under NX_CLOUD_TOKEN. This enables for caching and faster build times.

Deployment

The application can be deployed in two different ways, depending on your objectives.

Digital Ocean App Platform

For a simple and fast deployment, the new App Platform from Digital

Related Skills

View on GitHub
GitHub Stars300
CategoryDevelopment
Updated4mo ago
Forks19

Languages

TypeScript

Security Score

97/100

Audited on Nov 15, 2025

No findings