Thank you for your interest in contributing! This project is a monorepo containing Go and JavaScript/TypeScript (Next.js, Vite React) applications. Please follow these guidelines to help us maintain a high-quality codebase and smooth collaboration.
- Code of Conduct
- How to Contribute
- Development Setup
- Coding Standards
- Pull Requests
- Issue Reporting
- Commit Messages
- Branching Model
- Code Reviews
Please be respectful and considerate. Harassment or abusive behavior will not be tolerated.
- Fork the repository and clone your fork.
- Create a new branch for your feature or bugfix (
feature/your-feature,fix/your-bug). - Make your changes, following the coding standards below.
- Add or update tests as needed.
- Run all tests and linters locally.
- Submit a pull request (PR) to the
mainbranch.
- Install Go (version 1.20+ recommended).
- Use
go mod tidyto manage dependencies. - Run
go test ./...to test all packages. - Use
gofmtorgo fmt ./...to format code.
- Install Node.js (LTS recommended) and npm.
- Run
npm installin each frontend directory (e.g.,apps/checkout/frontend). - Use
npm run lintandnpm run testbefore submitting changes. - Use Prettier and ESLint for formatting and linting.
- Follow Effective Go.
- Use clear, descriptive names and comments.
- Keep functions small and focused.
- Write table-driven tests where possible.
- Use ES6+ features and TypeScript where possible.
- Prefer functional components and hooks in React/Next.js.
- Keep components and files small and focused.
- Use consistent formatting (Prettier, ESLint).
- Reference related issues in your PR description (e.g.,
Closes #123). - Provide a clear summary of your changes.
- Ensure your branch is up to date with
mainbefore submitting. - Address all review comments and suggestions.
- Search for existing issues before opening a new one.
- Provide clear, descriptive titles and steps to reproduce.
- Include logs, screenshots, or code samples if helpful.
- Use clear, concise messages (e.g.,
fix: correct typo in README). - Use Conventional Commits if possible.
- Use feature branches (
feature/xyz), bugfix branches (fix/xyz), or hotfix branches (hotfix/xyz). - Do not commit directly to
main.
- All PRs require at least one approval before merging.
- Be constructive and respectful in reviews.
- Suggest improvements, but also acknowledge good work.
Thank you for helping make Portcall better!