Run all validation checks before tagging a new release
Run this before tagging a new version to ensure everything works.
Do this first, before any local checks.
# Must be on main
git branch --show-current # expect: main
# Check the latest CI run on main
gh run list --branch main --limit 1 --json conclusion,displayTitle,databaseId
Expected: conclusion: "success". If CI is failing or in-progress, stop and resolve before continuing. All branches should already be merged to main before starting the pre-release process.
Nuke the shared dist to simulate CI's clean checkout. This catches missing build steps.
rm -rf shared/dist shared/tsconfig.tsbuildinfo
cd shared && npm run build
Expected: Build succeeds and shared/dist/ is populated.
Run steps 2a-2e in parallel where possible (server and client checks are independent).
cd server && npm test
Expected: All tests pass
cd server && npm run lint
cd server && npx tsc --noEmit
Expected: No errors (warnings OK)
cd client && npm test
Expected: All tests pass
cd client && npm run lint
Expected: No errors (warnings OK)
cd server && npm run test:integration
Expected: All tests pass Note: Requires testEntities.ts to be configured
cd client && npm run build
Expected: Build succeeds without errors
docker build -f Dockerfile.production -t peek:test .
Expected: Image builds successfully
When a check fails, invoke the relevant skill for guidance before attempting fixes:
| Failure | Skill to invoke |
|---|---|
| Test failures (writing/fixing tests) | writing-tests |
| TypeScript type errors | typescript-advanced-types |
| Prisma/migration issues | prisma-sqlite-expert |
| Docker build failures | docker-best-practices |
| React/client lint or build errors | vercel-react-best-practices |
| Server lint or runtime errors | nodejs-backend-patterns |
Report summary:
Ready to proceed with release tagging.
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer