Quick Start¶
Get up and running with this template in just 5 minutes.
1. Create Repository (1 minute)¶
Click "Use this template" on GitHub and create your new repository.
2. Install Pre-commit (1 minute)¶
Verification
You should see: pre-commit installed at .git/hooks/pre-commit
3. Make Your First Commit (2 minutes)¶
# Make a change (e.g., update README)
echo "# My Project" > README.md
# Stage changes
git add README.md
# Commit with conventional commit message
git commit -m "docs: update project name"
# Push to GitHub
git push origin main
Pre-commit Hooks
Pre-commit hooks will run automatically. The first run may take longer as it sets up environments.
4. Configure Repository Settings (1 minute)¶
Enable Branch Protection¶
- Go to Settings → Branches
- Click Add rule
- Set branch name pattern:
main - Enable:
- ✅ Require pull request reviews
- ✅ Require status checks to pass
Set Up Dependabot Auto-merge (Optional)¶
- Go to Settings → Secrets and variables → Actions
- Add new secret:
GH_TOKEN - Value: Personal Access Token with
repoandworkflowscopes
5. Verify Automation (Bonus)¶
Check that everything is working:
✅ Pre-commit Hooks¶
All hooks should pass ✓
✅ GitHub Actions¶
- Go to Actions tab
- You should see workflows running or completed
- All workflows should be green ✓
✅ Semantic Release¶
After your first conventional commit to main:
- Go to Releases tab
- You should see a new release created
- Check CHANGELOG.md for updates
What's Next?¶
Now that you're set up, explore these topics:
Understand the full development workflow, from forking to merging.
Learn how to write commits that trigger correct version bumps.
Discover all 12 automated workflows and how they work.
Tailor the template to your project's needs.
Common First Steps¶
Update Project Information¶
# Edit README.md with your project details
vim README.md
# Update license if needed
vim LICENSE
# Set code owners
vim CODEOWNERS
Configure for Your Language¶
If using Python:
If using JavaScript/Node:
If using Go:
Create Your First Feature¶
# Create feature branch
git checkout -b feat/my-feature
# Make changes and commit
git add .
git commit -m "feat: add awesome feature"
# Push and create PR
git push origin feat/my-feature
Quick Reference¶
Commit Message Format¶
type(scope): subject
Examples:
feat: add user authentication
fix: resolve login bug
docs: update installation guide
chore: bump dependencies
Version Bumps¶
| Commit Type | Version Change | Example |
|---|---|---|
fix: |
Patch (0.0.1) | 1.0.0 → 1.0.1 |
feat: |
Minor (0.1.0) | 1.0.0 → 1.1.0 |
BREAKING CHANGE: |
Major (1.0.0) | 1.0.0 → 2.0.0 |
Useful Commands¶
# Update pre-commit hooks
pre-commit autoupdate
# Run specific hook
pre-commit run gitleaks --all-files
# Skip hooks (use sparingly)
git commit --no-verify -m "message"
# Check workflow status
gh run list
# View workflow logs
gh run view
Troubleshooting¶
"Pre-commit not found"¶
"Workflow not running"¶
- Check Actions are enabled: Settings → Actions
- Verify workflow syntax:
yamllint .github/workflows/*.yaml - Check Actions tab for errors
"Release not created"¶
- Ensure commits follow Conventional Commits format
- Check if
GH_TOKENis properly configured - Review release workflow logs
Get Help¶
Congratulations! You now have a fully automated, production-ready repository. Happy coding! 🚀