π
Setup Date: March 2, 2026
π¦ Project: ClyCites API
π Repository: Clycites-api-upgrade
| Workflow | File | Purpose | Triggers |
|---|---|---|---|
| CI Pipeline | ci.yml |
Test, lint, build | Push to main/develop, PRs |
| Build Artifacts | build-and-push.yml |
Build & release artifacts | Push to main, git tags |
| Release | release.yml |
Automated GitHub releases | Git tags (v*..) |
| Code Quality | code-quality.yml |
SonarCloud, security checks | Push/PR to main/develop |
| Deployment | deploy.yml |
Deploy to staging/production | Manual dispatch, main push |
| Scheduled Tests | schedule-tests.yml |
Extended test suite | Daily 2 AM UTC, weekly |
| PR Checks | pull-request.yml |
PR validation | PR opened/updated |
| Commit Lint | lint-commit.yml |
Validate commit messages | PR submitted |
commitlint.config.js- Commit message validation rules (Conventional Commits).github/CODEOWNERS- Code ownership by path/module.github/README.md- GitHub workflows directory overview
GITHUB_ORGANIZATION_SETUP.md- Complete step-by-step GitHub organization setupGITHUB_WORKFLOWS.md- Detailed workflow documentationGITHUB_QUICK_REFERENCE.md- Quick reference for developers
github-setup.sh- Automated setup for macOS/Linuxgithub-setup.bat- Automated setup for Windows (batch)github-setup.ps1- Automated setup for Windows (PowerShell)
-
Create GitHub Organization:
https://github.com/organizations/new -
Run Setup Script:
# macOS/Linux chmod +x github-setup.sh ./github-setup.sh # Windows (PowerShell) ./github-setup.ps1 # Windows (Batch) github-setup.bat
-
Follow Guide:
- Read
GITHUB_ORGANIZATION_SETUP.md - Configure secrets
- Set branch protection rules
- Read
-
Read Quick Reference:
GITHUB_QUICK_REFERENCE.md -
Follow Branch Naming:
feature/{name} fix/{name} docs/{name} -
Follow Commit Format:
type(scope): description
- Create GitHub organization at https://github.com/organizations/new
- Add team members
- Create teams:
platform-core,devops,qa - Transfer repository to organization
- Add organization secrets:
SONAR_TOKENSLACK_WEBHOOKAWS_ROLE_TO_ASSUME(optional)CODECOV_TOKEN(optional)
- Add repository variables:
AWS_REGIONREGISTRYNODE_VERSION
- Create repository environments:
staging,production
- Configure
masterbranch protection:- β Require 2+ PR approvals (production safety)
- β Require status checks:
lint-and-test,code-quality - β Require signed commits
- β Require up-to-date branches
- Configure
stagingbranch protection:- β Require 1+ PR approvals
- β Require status checks (same as master)
- Enable Secret Scanning
- Enable Push Protection
- Enable Dependabot Alerts
- Enable Code Scanning (if using Advanced Security)
- Create test PR
- Verify all workflows run and pass
- Get approvals and merge
- Require branches to be up to date before merging
- Verify push to
mastertriggers build and deployment workflows - Verify push to
stagingtriggers CI workflows - Verify deployments to appropriate environments
- Create test tag (v0.1.0)
- Verify release created automatically
These are shared across all repositories in the organization.
# Code Quality
SONAR_TOKEN: <from SonarCloud>
CODECOV_TOKEN: <from Codecov> (optional)
# Deployments
AWS_ROLE_TO_ASSUME: arn:aws:iam::ACCOUNT:role/github-actions
# Monitoring
SLACK_WEBHOOK: https://hooks.slack.com/services/...AWS_REGION: us-east-1
REGISTRY: ghcr.io
NODE_VERSION: "22"
PNPM_VERSION: "8"Configure in Repository β Environments β staging/production
# Staging
DEPLOYMENT_ROLE_ARN: arn:aws:iam::STAGING:role/...
DATABASE_URL: postgresql://...
# Production
DEPLOYMENT_ROLE_ARN: arn:aws:iam::PROD:role/...
DATABASE_URL: postgresql://...GITHUB_ORGANIZATION_SETUP.md- Complete setup guide with detailed stepsGITHUB_WORKFLOWS.md- In-depth workflow documentation
GITHUB_QUICK_REFERENCE.md- Branch naming, commits, PR workflow.github/README.md- Quick overview of workflows directory
.github/CODEOWNERS- Code ownership rulescommitlint.config.js- Commit validation rules
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]on:
push:
branches: [ main ]
tags:
- 'v*.*.*'on:
push:
tags:
- 'v*.*.*'on:
schedule:
- cron: '0 2 * * *' # Daily 2 AM UTC
- cron: '0 8 * * 1' # Weekly Monday 8 AM UTCFor main branch, require these status checks to pass before merging:
- lint-and-test (18.x) - Node.js 18 tests
- lint-and-test (20.x) - Node.js 20 tests
- code-quality / sonarcloud - Code quality analysis
- code-quality / type-check - TypeScript validation
- Read
GITHUB_QUICK_REFERENCE.md - Review branch naming conventions
- Review commit message format
- Setup git hooks (optional):
npm install husky @commitlint/cli @commitlint/config-conventional --save-dev npx husky install npx husky add .husky/commit-msg 'npx --no -- commitlint --edit "$1"'
- Create GitHub organization
- Run setup script to get instructions
- Configure all secrets and variables
- Set branch protection rules
- Test with a PR
- Document access instructions for team
- Create teams in organization
- Assign members to teams
- Review and update CODEOWNERS file
- Share
GITHUB_QUICK_REFERENCE.mdwith team - Schedule onboarding session
.github/workflows/- All workflow definitionsGITHUB_ORGANIZATION_SETUP.md- Setup guideGITHUB_WORKFLOWS.md- Workflow detailsGITHUB_QUICK_REFERENCE.md- Developer referencecommitlint.config.js- Commit rules.github/CODEOWNERS- Code ownership
-
Test Workflows Locally: Use
actto run GitHub Actions locallynpm install -g act act push # Simulate push event -
Quick Merges: Use "Squash and merge" to keep history clean
-
Semantic Releases: Tag with
v1.2.3format for automatic releases -
Breaking Changes: Use commit message:
feat!: breaking change description -
Dependency Updates: Enable Dependabot for automatic updates
For questions or issues:
- Check relevant documentation file
- Review workflow logs in Actions tab
- Check GitHub Actions documentation
- Contact DevOps team (@devops on GitHub)
Created: March 2, 2026
For: ClyCites API
Organization: clycites-org
Repository: clycites-api-upgrade