@Malix-Labs General Repository Template
After creating a repository from the @Malix-Labs repository template, this file has to be cleared. It is accessible online at https://github.com/Malix-Labs/Template#readme
- Create a repository from this template
- Search "
github.com/<USERNAME>/<REPOSITORY>" and replace all "<USERNAME>" by the User/Organization name and "<REPOSITORY>" by the Repository name - Copy all this repository GitHub Settings
- Copy all this repository GitHub Labels
Inspired by Trunk-Based Development / GitHub Flow
- Default (
main/master): the single source of truth, fully protected - Issues (
issue/*): short-lived branches for individual issues - Archives (
archive/**/*): branches for archival purposes - Releases (
release/*): branches for preparing a release- Releases' Issues (
release/*/issue/*): issue work scoped under a specific release - Releases' Archives (
release/*/archive/**/*): archival work scoped under a specific release
- Releases' Issues (
Optimized for Continuous Deployment (CD)
Using Semantic Versioning (SemVer) (current: v2)
Each push to the default branch should be tagged with a SemVer Tag
Non-SemVer Tags are not encouraged (at least not for long-lived purposes) but allowed
Optimized for Continuous Deployment (CD)
Each SemVer Tag pushed to the default branch is meant to be released
Optimized for Continuous Deployment (CD)
Each GitHub Release is meant to be deployed
Deployments are meant to be executed from a pipeline (preferably GitHub Workflow) triggered by the GitHub Deployments
Rulesets Files Directory (download)
| Type | Name | Status | Bypass | Targets | Rules | File |
|---|---|---|---|---|---|---|
| Branch | Archives | Active |
|
|
|
File |
| Branch | Issues | Active |
|
|
|
File |
| Branch | Production - Constructive | Active |
|
|
|
File |
| Branch | Production - Destructive | Active |
|
|
|
File |
| Tag | Semantic Versioning - Constructive | Active |
|
|
|
File |
| Tag | Semantic Versioning - Destructive | Active |
|
|
|
File |
| Name | Description | Color |
|---|---|---|
| Feature | #00FF00 | |
| Enhancement | #00FFFF | |
| Fix | #FF8000 | |
| Update | #FFFF00 | |
| Deprecation | #FF0000 |
- "v1.0.0"
The best starting GitHub project template for any project scale
| Name | Emoji | Categories |
|---|---|---|
| Development | 🧑💻 | None |
| Usage | ✔️ | None |
| Name | Emoji | Description | Format | Section |
|---|---|---|---|---|
| Announcements | 📣 | Announcement | None | |
| General | 💬 | Open-ended discussion | None | |
| Questions | ❔ | Question / Answer | None | |
| Poll | 🗳️ | Poll | None |
Optimized for Trunk-Based Development / GitHub Flow
- On issue create:
- Create a branch named as the issue ID and link it to the created issue
- On first commit push to this branch:
- Create a draft pull request to the parent issue if any, else master
- On first commit push to this branch:
- Create a branch named as the issue ID and link it to the created issue
- On push to master:
- Create a draft release with a tag annoted with the latest semver tag incremented by one patch
Fully featued with GitHub files
GitHub Settings cannot be embeded in a GitHub repository template copied data, therefore, you have to copy them manually
- Allow merge commits Default commit message: Pull request title
- Allow squash merging Default commit message: Default message
- Allow rebase merging