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.
- Host: GitHub
- URL: https://github.com/duyluann/github-repo-template
- Owner: duyluann
- License: mit
- Created: 2023-12-09T03:34:39.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-22T03:53:41.000Z (over 1 year ago)
- Last Synced: 2025-02-24T06:32:41.648Z (over 1 year ago)
- Topics: github, template
- Homepage:
- Size: 142 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Codeowners: CODEOWNERS
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.