2.1 KiB
2.1 KiB
Contributing Guide
Thank you for considering contributing to GoodGo Microservices Platform!
Development Workflow
Branch Strategy
We follow Git Flow:
main- Production-ready codedevelop- Integration branch for featuresfeature/*- New featuresbugfix/*- Bug fixeshotfix/*- Critical production fixes
Commit Convention
We use Conventional Commits:
feat: add login endpoint
fix: resolve token expiration issue
docs: update API documentation
refactor: restructure auth module
test: add unit tests for auth service
chore: update dependencies
ci: add GitHub Actions workflow
perf: optimize database queries
Pull Request Process
- Create feature branch from
develop - Implement changes with tests
- Run linter and tests locally
- Push and create PR
- CI/CD will auto-run checks
- Code review required
- Merge into
develop(auto-deploy to staging) - QA testing on staging
- Merge into
main(manual deploy to production)
Code Standards
- TypeScript: Strict mode enabled
- Linting: ESLint with shared config
- Formatting: Prettier
- Testing: Minimum 80% coverage
- Documentation: JSDoc for public APIs
Running Tests
# All tests
pnpm test
# Specific package
pnpm --filter @goodgo/iam-service test
# With coverage
pnpm --filter @goodgo/iam-service test:coverage
Code Review Checklist
- Code follows style guidelines
- Tests added/updated
- Documentation updated
- No console.logs or debug code
- Environment variables documented
- Breaking changes documented
Adding a New Service
- Copy
services/_templatetoservices/new-service - Update package.json name and dependencies
- Implement service logic
- Add tests
- Update documentation
- Create CI/CD workflow
Adding a New Package
- Create package in
packages/new-package - Add to workspace
- Export from index.ts
- Add tests
- Document usage
Questions?
Feel free to open an issue or contact the maintainer:
- Maintainer: VelikHo
- Email: hongochai10@icloud.com
- GitHub: @hongochai10