Archoleat Repo Template is a template repository designed for quickly starting new projects with pre-configured tools and best development practices.
This template includes ready-made solutions for integration with:
- Git.
- GitHub.
- Commitizen.
- Commitlint.
- Conventional Commits.
- Husky & Lint Staged.
- GitHub Actions.
- Semantic Release.
- PNPM.
- CodeQL.
- EditorConfig.
- ESLint.
- Remark.
- Prettier.
- Vitest.
- TypeScript.
- Dependabot.
Tip
A good solution for your business!
Now you don't have to worry about unnecessary costs. Everything is already set up and prepared for you!
And also the template is very good for teams, because you can easily standardize projects with this template.
-
Create a Repository: Use this template to create a new repository on GitHub.
Since this is a Public Template you can click the button Use this template for a faster and more convenient cloning.
-
Clone the Repository: Clone your new repository to your local machine.
-
Start Development: Develop your project, making changes according to your project's needs.
-
Configure GitHub Actions: Modify GitHub Actions settings to fit your requirements.
For those unfamiliar with GitHub Actions, our workflows use chain, if you want to add more workflows to this chain, workflows, it won't work, because the chain only supports only three levels, example:
workflow A
>workflow B
>workflow C
>workflow D
, if you addworkflow E
to the chain. it won't work!
-
Flexibility: Easily customizable template to adapt to different project types.
-
Git and GitHub Integration: Pre-configured
.gitignore
,.gitmodules
and.gitattributes
for efficient work with Git and GitHub.-
Conventional Commits, Commitlint & Commitizen: If you don't want to think about how to write a commit every time, these plugins will help you.
It will be especially useful for teams that have an ongoing debate about writing commits.
-
Husky & Lint Staged: Won't let you submit bad code to the repository!
-
-
Continuous Integration (CI): Built-in CI support using GitHub Actions for automatic linting, testing and building of your code with each change.
Also suitable for private repositories! GitHub Actions use cache, timeout-minutes, path filters and workflow run to reduce the execution time, which means it will significantly reduce your costs!
-
Security: Included CodeQL workflow for detecting and preventing potential vulnerabilities in your code.
-
Linters: Help you maintain a consistent code writing style and find errors.
-
Specs: Automated testing will help you focus on writing better code!
-
Semantic Release: For those who are tired of writing changelogs and thinking about what the next version number will be.
If you have Branch and Tag Protection rules configured, please read this article.
-
-
TypeScript: Pre-configured TypeScript setup for improved reliability and development convenience.
-
Bots:
- Dependabot: No more wasting time updating dependencies!
-
init
: Installs dependencies and Husky. -
spec
: Runs Vitest and the tests in the specs/ folder.Also runs using the
spec.yaml
workflow. -
spec:coverage
: Runs Vitest with Coverage-V8. -
release
: Runs Semantic Release. -
lint:editorconfig
: Runs Editorconfig Checker and checks all files in the project.Also runs with the
editorconfig.yaml
workflow. -
lint:formatting
: Runs Prettier with the--check
flag for all files.Runs with the
prettier.yaml
Also run with a
pre-commit
hook. -
lint:md
: Runs Remark with the--quiet
flag and checks all Markdown files.Also runs with the
markdown.yaml
workflow. -
lint:ts
: Runs ESLint with the flag--fix
for all TypeScript files.Runs with the
eslint.yaml
workflow.Also run with a
pre-commit
hook. -
prettify
: Runs Prettier with the--write
flag for all files. -
commit
: Runs Commitlint to create commits according to Conventional Commits standards.
-
codeql.yaml
: Checks JavaScript and TypeScript for vulnerabilities. -
commitlint.yaml
: Checks the commit message according to the Conventional Commits standard. -
create-pull-request.yaml
: Automatically creates a Pull Request when pushing a branch to the repository. -
auto-merge-dependabot-pull-request.yaml
: Automatically merges dependabot Pull Requests to the main branch. -
editorconfig.yaml
: Checks all files with Editorconfig Checker. -
eslint.yaml
: Checks all TypeScript files with ESLint. -
markdown.yaml
: Checks all Markdown files with Remark. -
pre-commit.yaml
: Runs a check on the contents of the Pull Request before merging. -
prettier.yaml
: Checks all files with Prettier. -
release.yaml
: Creates release. -
semantic-pull-request.yaml
: Validates the Pull Request title against the conventional commits standard. -
stale.yaml
: Removes Issues and Pull Requests that have not been active for more than 60 days. -
spec.yaml
: Tests all TypeScript files with Vitest.
Warning
You need to install the Prettier extension for it to work.
You can see all necessary extensions for Visual Studio Code in .vscode.
Tip
If you want to change the rules in prettier.config.js
you can do it
in .editorconfig
, prettier will automatically pick up the rules
from Editorconfig.
Note
All Markdown and .*ignore files ignored.
The following files use the names Archoleat and nikkeyl by default:
Before using this template, replace this name with your name, name of your team or the name of your organization.
Caution
Don't forget to change your license!
Please read CONTRIBUTING to start contributing.
This project is licensed under the MIT license.