DevOps - CI/CD Pipeline & Branching Model
DevOps — CI/CD Pipeline & Branching Model
Trystpilot uses GitHub Actions for CI/CD with Vercel handling automated deployments on
branch push and PR open. The pr-commit-comments.yml workflow is the only workflow currently
active; it posts a commit summary comment on every PR. Additional workflows (lint, type-check,
test) are planned for Phase 1.
Branching Model
gitGraph
commit id: "main (prod)"
branch development
checkout development
commit id: "dev base"
branch claude/feature-branch
checkout claude/feature-branch
commit id: "feat work"
commit id: "more work"
checkout development
merge claude/feature-branch id: "PR merged"
branch claude/another-feature
checkout claude/another-feature
commit id: "feature 2"
checkout development
merge claude/another-feature id: "PR2 merged"
checkout main
merge development id: "Release vX.Y.Z"
Branch Naming Convention
| Branch | Purpose |
|---|---|
main | Production — deploys to trystpilot.xyz |
development | Integration branch — merges from feature branches |
claude/<description>-<sessionId> | Agent-driven feature/fix branches |
hotfix/<description> | Emergency production patches |
CI/CD Workflow Map
flowchart TD
subgraph "Developer / Agent Push"
Push["git push origin claude/branch"]
end
subgraph "GitHub Actions (.github/workflows/)"
PR_Comment["pr-commit-comments.yml\nPosts commit summary on PR"]
Lint["lint.yml (planned)\nnpm run lint"]
TypeCheck["typecheck.yml (planned)\ntsc --noEmit"]
Tests["tests.yml (planned)\nvitest run"]
DepScan["deps.yml (planned)\nnpm audit"]
end
subgraph "Vercel Automation"
Preview["Preview deployment\n*.vercel.app"]
Prod["Production deployment\ntrystpilot.xyz"]
end
Push --> PR_Comment
Push --> Preview
Push --> Lint
Push --> TypeCheck
Push --> Tests
Push --> DepScan
Lint & TypeCheck & Tests & DepScan -->|all pass| MergeGate{PR merge allowed}
MergeGate -->|merge to main| Prod
Planned Automation Workflows
| Workflow | File | Trigger | Status |
|---|---|---|---|
| PR commit comments | pr-commit-comments.yml | PR push | ✅ Active |
| ESLint + Prettier | lint.yml | PR + push | ❌ Planned |
| TypeScript type-check | typecheck.yml | PR + push | ❌ Planned |
| Vitest unit tests | tests.yml | PR + push | ❌ Planned |
npm audit dep scan | deps.yml | PR + weekly | ❌ Planned |
| Secret scanning | secrets.yml | PR + push | ❌ Planned |
| Changelog enforcement | changelog.yml | PR to main | ❌ Planned |
| Version tag automation | release.yml | Merge to main | ❌ Planned |
Semantic Versioning Policy
MAJOR.MINOR.PATCH — current: 0.5.0
| Bump | When |
|---|---|
PATCH | Bug fixes, dependency updates, copy changes |
MINOR | New features, non-breaking API additions |
MAJOR | Breaking changes, database migrations, major redesigns |
Pre-1.0: all changes are technically 0.x.y — minor bumps for significant features.