Thank you for your interest in contributing! Here's how you can help.
- Fork the repository
- Clone your fork locally
- Create a feature branch from
main - Set up your local development environment (see README)
- .NET 10 SDK
- Node.js 22+
- PostgreSQL 16 (or Docker)
cd src/CloudInvoiceApp.Backend
dotnet restore
dotnet runcd src/CloudInvoiceApp.Web
npm install
npm run dev- Backend: Follow standard C# conventions. Use the existing patterns in the codebase (FastEndpoints, EF Core).
- Frontend: TypeScript strict mode. Use existing patterns (React contexts, Axios services, Tailwind CSS).
- Use clear, descriptive commit messages
- Start with a verb in imperative mood (e.g., "Add", "Fix", "Update")
- Keep the subject line under 72 characters
- Ensure your code builds without errors (
dotnet build,npm run build) - Run the linter (
npm run lintfor frontend) - Run type checks (
npx tsc --noEmitfor frontend) - Write a clear PR description explaining what and why
- Link related issues if applicable
- Use GitHub Issues to report bugs or request features
- Include steps to reproduce for bug reports
- Check existing issues before creating duplicates
Please read and follow our Code of Conduct.
By contributing, you agree that your contributions will be licensed under the MIT License.