-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
Ben Higham edited this page Oct 1, 2025
·
2 revisions
Get up and running with reusable workflows in just 5 minutes.
This .github repository provides reusable workflows, templates, and configurations that you can use across all your repositories. This guide will help you start using them quickly.
Pick workflows based on your project type:
- ✅
ci.yml- Lint, test, and build - ✅
release-changesets.yml- Automated releases - ✅
dependency-review.yml- Security checks - ✅
auto-merge-dependabot.yml- Auto-merge safe updates
- ✅
ci.yml- Lint, test, and build - ✅
codeql.yml- Security scanning - ✅
dependency-review.yml- Security checks - ✅
auto-merge-dependabot.yml- Auto-merge safe updates
- ✅
labeler.yml- Auto-label PRs - ✅
stale.yml- Close inactive issues
See the Workflow Decision Guide in the repository README for a complete workflow selection decision tree.
Create .github/workflows/ci.yml in your repository:
name: CI
on:
pull_request:
push:
branches: [main]
jobs:
ci:
uses: benhigham/.github/.github/workflows/ci.yml@main
with:
node-version: '20'
run-lint: true
run-typecheck: true
run-test: trueFor npm packages, create .github/workflows/release.yml:
name: Release
on:
push:
branches: [main]
jobs:
release:
uses: benhigham/.github/.github/workflows/release-changesets.yml@main
with:
node-version: '20'
needs-build: true
secrets:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}Copy .github/labels.yml and create .github/workflows/sync-labels.yml:
name: Sync Labels
on:
push:
branches: [main]
paths: ['.github/labels.yml']
workflow_dispatch:
permissions:
issues: write
jobs:
sync:
uses: benhigham/.github/.github/workflows/sync-labels.yml@mainThen copy the labels configuration:
curl -o .github/labels.yml \
https://raw.githubusercontent.com/benhigham/.github/main/.github/labels.yml- Go to your repository Settings → Secrets and variables → Actions
- Click New repository secret
- Name:
NPM_TOKEN - Value: Your npm access token (create one at npmjs.com)
# Install Changesets
pnpm add -D @changesets/cli
# Initialize
pnpm changeset init
# Configure .changeset/config.json (optional)- Create a new branch
- Make a small change
- Open a pull request
- Check the Actions tab - your CI workflow should run!
- The PR should be automatically labeled by size
- Labels like
documentation,dependencies, etc. will be added based on changed files
# Create a changeset
pnpm changeset
# Select version bump type (patch/minor/major)
# Write a description
# Commit the changeset fileYour repository now has:
- ✅ Automated CI checks
- ✅ Security scanning (if configured)
- ✅ Auto-labeling (if configured)
- ✅ Release automation (if configured)
- Quick Reference - All workflow syntax examples
- Advanced Usage - Complex configurations
- Troubleshooting - Common issues and solutions
-
Security: Add
codeql.ymlanddependency-review.yml -
Automation: Add
auto-merge-dependabot.ymlandstale.yml -
Community: Add
first-time-contributor.yml
- Edit
.github/labels.ymlto add custom labels - Edit
.github/labeler.ymlto customize path-based labeling - Adjust workflow inputs to match your needs
- Copy and customize templates from Templates Guide
- Update your README with workflow badges
- Add a
CHANGELOG.mdusing Keep a Changelog format
- Start simple - Add one workflow at a time
- Test in a branch - Don't push directly to main
- Check the logs - Actions tab shows detailed output
- Use workflow_dispatch - Add manual triggers for testing
-
Pin versions - Use
@v2instead of@mainfor stability
- Common issues? See Troubleshooting
- Advanced setup? See Advanced Usage
- Found a bug? Open an issue
- Have questions? Start a discussion
Last Updated: 2025-10-01
💬 Discussions · 🐛 Issues · 📝 Contributing