An open API service indexing awesome lists of open source software.

https://github.com/duyluann/github-repo-template

The repository template includes the best practices configurations on GitHub.
https://github.com/duyluann/github-repo-template

github template

Last synced: 12 months ago
JSON representation

The repository template includes the best practices configurations on GitHub.

Awesome Lists containing this project

README

          

# ๐Ÿ› ๏ธ GitHub Repo Template

Welcome to the Template Repository on GitHub! This repository is designed to serve as a starting point for creating new Git repositories with best practices and configurations already set up. Below is a brief overview of the structure and the purpose of each file and directory in this repository.

## ๐Ÿ“ Repository Structure

```text
.
โ”œโ”€โ”€ .editorconfig # ๐Ÿ–Š๏ธ Configuration for consistent coding styles
โ”œโ”€โ”€ .github # ๐Ÿ› ๏ธ GitHub-specific configurations
โ”‚ โ”œโ”€โ”€ ISSUE_TEMPLATE # ๐Ÿ“ GitHub issue template
โ”‚ โ”‚ โ””โ”€โ”€ issue_template.md # ๐Ÿ“ Issue template file
โ”‚ โ”œโ”€โ”€ dependabot.yml # ๐Ÿค– Dependabot configuration
โ”‚ โ”œโ”€โ”€ pull_request_template.md # ๐Ÿ“ Pull request template
โ”‚ โ””โ”€โ”€ workflows # โš™๏ธ GitHub Actions workflows
โ”‚ โ”œโ”€โ”€ deps-review.yaml # ๐Ÿ“‹ Dependency review workflow
โ”‚ โ”œโ”€โ”€ lint-pr.yaml # ๐Ÿงน Linting workflow for pull requests
โ”‚ โ”œโ”€โ”€ pre-commit-auto-update.yaml # ๐Ÿ”„ Pre-commit hook auto-update workflow
โ”‚ โ”œโ”€โ”€ release.yaml # ๐Ÿš€ Release workflow
โ”‚ โ”œโ”€โ”€ stale.yaml # โณ Stale issue management workflow
โ”‚ โ””โ”€โ”€ template-repo-sync.yaml # ๐Ÿ”„ Template repository sync workflow
โ”œโ”€โ”€ .gitignore # ๐Ÿšซ Files and directories to be ignored by Git
โ”œโ”€โ”€ .pre-commit-config.yaml # ๐Ÿ› ๏ธ Pre-commit hooks configuration
โ”œโ”€โ”€ .releaserc.json # ๐Ÿš€ Semantic release configuration
โ”œโ”€โ”€ .vscode # ๐Ÿ–ฅ๏ธ VSCode-specific configurations
โ”‚ โ””โ”€โ”€ extensions.json # ๐Ÿ› ๏ธ Recommended extensions for VSCode
โ”œโ”€โ”€ CHANGELOG.md # ๐Ÿ“ Change log of the project
โ”œโ”€โ”€ CODEOWNERS # ๐Ÿ‘ฅ Defines the code owners for the repository
โ”œโ”€โ”€ LICENSE # โš–๏ธ License for the project
โ””โ”€โ”€ README.md # ๐Ÿ“– Project documentation (this file)
```
## โš™๏ธ Semantic Commit Messages
This project uses [Semantic Commit Messages](https://www.conventionalcommits.org/) to ensure meaningful and consistent commit history. The format is as follows:

```php
():
```

### Types

- `feat`: A new feature (e.g., `feat: add login functionality`).
- `fix`: A bug fix (e.g., `fix: resolve login button issue`).
- `docs`: Documentation changes (e.g., `docs: update API documentation`).
- `style`: Code style changes (formatting, missing semi-colons, etc.) without changing logic (e.g., `style: fix indentation`).
- `refactor`: Code changes that neither fix a bug nor add a feature (e.g., `refactor: update user controller structure`).
- `test`: Adding or updating tests (e.g., `test: add unit tests for login service`).
- `chore`: Changes to build process, auxiliary tools, or libraries (e.g., `chore: update dependencies`).

### Scope

Optional: The part of the codebase affected by the change (e.g., `feat(auth): add OAuth support`)

### Subject

A brief description of the change, using the imperative mood (e.g., `fix: resolve issue with user authentication`).

## ๐Ÿš€ Semantic Release

This project is configured with [Semantic Release](https://semantic-release.gitbook.io/semantic-release) to automate the release process based on your commit messages.

### How It Works

1. Analyze commits: Semantic Release inspects commit messages to determine the type of changes in the codebase.
2. Generate release version: Based on the commit type, it will automatically bump the version following semantic versioning:
- fix โ†’ Patch release (e.g., 1.0.1)
- feat โ†’ Minor release (e.g., 1.1.0)
- BREAKING CHANGE โ†’ Major release (e.g., 2.0.0)
3. Create release notes: It generates a changelog from the commit messages and includes it in the release.
4. Publish: It automatically publishes the new version to the repository (and any other configured registries, e.g., npm).

## ๐Ÿค Contributing

If you find any issues or have suggestions for improving this template repository, please feel free to open an issue or submit a pull request. Contributions are always welcome!

## ๐Ÿ“œ License

This repository is licensed under the MIT License. See the [LICENSE](LICENSE) file for more information.