Organization-wide default configuration for all repositories in the ict-crew organization.
We provide 4 issue templates that apply to all repositories:
- Required fields: What happened, Steps to reproduce, Version
- Optional: Environment details
- Auto-labels:
bug
- Required fields: Feature description, Problem it solves, Proposed solution
- Optional: Alternatives considered
- Auto-labels:
enhancement
- Required fields: Issue description
- Optional: Documentation URL, Suggested fix
- Auto-labels:
documentation
- Required fields: Your question
- Optional: Additional context
- Auto-labels:
question
How to use: Go to any repo's Issues β New issue β Choose a template
All PRs automatically include a template with:
- Description and type of change
- Changes made checklist
- Testing checklist
- Code review checklist
- Related issues section with closing keywords
- Labels to add to issues
- Screenshots section
Use these keywords in your PR description to automatically close issues when merged:
Closes #123
Fixes #456
Resolves #789Reference issues and check labels to automatically apply them when PR is merged:
Example 1 - Close and label:
Closes #123
## Labels to Add
- [x] Fixed
- [x] To Be TestedExample 2 - Label without closing:
#123
## Labels to Add
- [x] Work In Progress
- [x] High PriorityAll repositories use these standard labels:
bug- Something isn't workingenhancement- New feature or requestdocumentation- Documentation improvementsquestion- Further information requested
Fixed- Issue has been resolvedNeed to Discuss- Requires discussionHold- On holdTo Be Tested- Ready for testingHigh Priority- High priority itemWork In Progress- Currently being worked on
Removed labels: duplicate, invalid, wontfix (cleaned up organization-wide)
Trigger: When a PR is merged
What it does: Automatically adds checked labels to referenced issues
Location: .github/workflows/auto-label-issues.yml
Note: This workflow must be copied to each repository where you want the automation.
Trigger: Manual workflow dispatch
What it does: Removes unwanted default labels from the current repository
Location: .github/workflows/cleanup-labels.yml
Note: This workflow is for single-repo cleanup. For organization-wide cleanup, use the script below.
Trigger: When a PR is opened or updated
What it does: Validates branch name follows naming convention
Location: .github/workflows/validate-branch-name.yml
Note: This workflow must be copied to each repository where you want branch name validation.
Removes unwanted labels (duplicate, invalid, wontfix) from all organization repositories.
Usage:
./cleanup-labels.shWhen to run:
- After creating new repositories
- To clean up default GitHub labels organization-wide
When creating a new repository in the organization:
- Issue templates (automatic)
- PR template (automatic)
- Clean up labels: Run
./cleanup-labels.shor manually trigger the cleanup workflow - Install git hooks: Run
./install-hooks.shto enable branch name validation - Add workflow automation (optional): Copy
.github/workflows/auto-label-issues.ymlto enable automatic issue labeling from PRs
- Go to any repo's Issues tab
- Click "New issue"
- Select appropriate template (Bug Report, Feature Request, etc.)
- Fill in required fields
- Submit
- Create PR as normal
- Template auto-fills in description
- Reference issues:
- To close:
Closes #123 - To just label:
#123
- To close:
- Check labels you want to add to issues
- Merge PR β labels auto-apply
Labels must be created in each repository. Common labels are listed above.
.github/
βββ ISSUE_TEMPLATE/
β βββ bug_report.yml
β βββ feature_request.yml
β βββ documentation.yml
β βββ question.yml
β βββ config.yml
βββ workflows/
β βββ auto-label-issues.yml
β βββ cleanup-labels.yml
β βββ validate-branch-name.yml
βββ pull_request_template.md
βββ README.md
hooks/
βββ pre-push
cleanup-labels.sh
install-hooks.sh
Follow this standard format for all branches:
<type>/<issue-number>-<short-description>
feature/- New featuresbugfix/- Bug fixeshotfix/- Urgent production fixesdocs/- Documentation updatesrefactor/- Code refactoringtest/- Test additions or updateschore/- Maintenance tasks
feature/123-add-user-authentication
bugfix/456-fix-login-error
hotfix/789-critical-security-patch
docs/101-update-api-docs
refactor/202-optimize-database-queries
test/303-add-unit-tests
chore/404-update-dependencies
- Use lowercase only
- Separate words with hyphens (-)
- Include issue number when applicable
- Keep descriptions short and clear
- No special characters except hyphens
To enforce branch naming, install the git hook:
# In your repository
cp hooks/pre-push .git/hooks/pre-push
chmod +x .git/hooks/pre-pushOr use the install script:
./install-hooks.shThe hook validates branch names before pushing and blocks invalid names.
- config.yml: Disables blank issues, forces template usage
- pull_request_template.md: Organization-wide PR template
- auto-label-issues.yml: Workflow for automated issue labeling
- cleanup-labels.yml: Workflow for label cleanup
- validate-branch-name.yml: Workflow for branch name validation (PR-level)
- pre-push: Git hook for branch name validation (pre-push)
- cleanup-labels.sh: Bash script for organization-wide label cleanup
- install-hooks.sh: Script to install git hooks in a repository
- Issue templates and PR template apply organization-wide automatically
- Workflows only work in repos where they exist (must be copied)
- Labels must be created in each repository individually
- Use the cleanup script after creating new repos to remove unwanted default labels