Thank you for considering contributing to Scrumboy. This document explains how to get started.
You must sign the Contributor License Agreement (CLA) before your contributions can be accepted. By submitting a pull request, you agree to the terms in CLA.md.
- Fork the Scrumboy repository on GitHub.
- Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/scrumboy.git cd scrumboy
Create a branch for your work:
git checkout -b feature/your-feature-nameUse descriptive branch names (e.g. fix/login-redirect, feat/sprint-filter).
go run ./cmd/scrumboyThe server starts on :8080 by default. Data is stored in ./data unless overridden by env vars (see internal/config/config.go).
go build ./cmd/scrumboyThe web UI lives in internal/httpapi/web. Build it with:
cd internal/httpapi/web
npm install
npx tscThe output goes to web/dist and is embedded by the Go server at build time. The Docker build and CI run this step before building the binary.
go test ./...docker compose up --buildBinds 127.0.0.1:8080:8080 and uses the config in docker-compose.yml.
- Go: Follow standard
gofmtformatting. Rungo fmt ./...before committing. - TypeScript: Use consistent formatting; the project uses TypeScript in
internal/httpapi/web. - Keep changes focused and avoid unrelated edits.
- CLA: Ensure you have agreed to the CLA. Your first PR serves as your signature.
- Tests: Run
go test ./...and ensure all tests pass. - Build: Ensure
go build ./cmd/scrumboysucceeds. If you change the frontend, runnpx tscininternal/httpapi/weband include the built output. - Description: Provide a clear description of the change and why it is needed.
- Scope: One logical change per PR when possible.
If you have questions, open an issue in the repository.