Before pushing to GitHub, ensure the following:
- No
.envfiles are committed (check withgit ls-files | grep .env) - No hardcoded secrets in code (only fallback defaults for local dev)
- No API keys or credentials in code
- Database URLs use environment variables
- All sensitive configs use
process.envwith fallbacks only for local dev
- TypeScript compiles without errors (
npx tsc --noEmit) - No console.log statements in production code
- No TODO/FIXME comments without issue references
- Code follows project style guidelines
-
node_modules/is in.gitignore -
dist/andbuild/directories are ignored -
.DS_Storeand other OS files are ignored - Log files are ignored
- Generated Prisma files are handled correctly
- README.md is up to date
- API endpoints are documented
- Environment variables are documented
- Setup instructions are clear
- Meaningful commit messages
- No large files (>100MB)
- No merge conflicts
- Branch is up to date with main/develop
# Check for secrets
grep -r "supersecretlocal\|refreshsecret" --include="*.ts" --include="*.js" services/ libs/
# Check for .env files
git ls-files | grep .env
# Type check
npx tsc --noEmit
# Check git status
git status
# Verify .gitignore is working
git check-ignore -v libs/prisma/.env