Skip to content
/ template Public template

TypeScript monorepo with automatic release support via changesets

License

Notifications You must be signed in to change notification settings

remirror/template

Repository files navigation

svg logo from undraw.co

Add your motivational tagline here.


Getting Started · Why? · Documentation · Contributing


Continuous integration badge for github actions


Getting Started

Use the following steps when first using this template.

  • Find and replace remirror/template with user/repo across the whole project.
  • Replace << TEMPLATE NAME >> in the LICENSE file with the name of your choosing.
  • Replace the template package in the packages folder with a package of your choosing.
  • OPTIONAL: For automatic publishing add your npm token to to your github repo secrets with the name NPM_TOKEN.

Why

I've created this template primarily for my work with remirror, to prevent from constantly reinventing the wheel when starting a new project. I've often had ideas and then delayed because the pain of starting from scratch is too high. This toolkit hopefully helps to reduce the friction.

This template repo comes with the following tools:

  • pnpm monorepo.
  • preconstruct - Automated builds and great support for JS tooling.
  • TypeScript - For typesafe code, great editor support and simpler refactoring.
  • eslint - for code linting.
  • prettier - for code formatting.
  • babel - used by preconstruct for the compilation of code and macros.
  • vscode - as the preferred editor integration with recommended plugins.
  • codespaces - with a dev container which is ready to use. You can launch this codebase as it is or configure as needed for your project.
  • changesets - for automating releases to GitHub and NPM.
  • GitHub Actions - as the primary continuous integration (deployment) tool.
  • husky - for git hooks.
  • lint-staged - for automated precommit checks.
  • Minimal files at the top level via symlinks to a directory in support/root.

Contributing

Please read our contribution guide for details on our code of conduct, and the process for submitting pull requests. It also outlines the project structure so you can find help when navigating your way around the codebase.

In addition each folder in this codebase a readme describing why it exists.

You might also notice there are surprisingly few files in the root directory of this project. All the configuration files have been moved to the support/root directory and are symlinked to the root directory in a preinstall hook. For more information take a look at folder and readme.


Versioning

This project uses SemVer for versioning. For the versions available, see the tags on this repository.


License

This project is licensed under the MIT License - see the LICENSE file for details