Problem Statement
Currently the codebase does not provide a central Makefile for common development commands. Contributors need to manually discover setup, test, lint, format, build, and Docker-related commands from different files or docs.
The contribution documentation also does not reference a single command workflow, which can make onboarding and local development less consistent.
Proposed Solution
Add a root-level Makefile with common project commands, then update the contribution documentation to use those commands.
Suggested commands:
make help
make install
make test
make lint
make format
make check
make build
make clean
make docker-up
make docker-down
Also update contribution files such as CONTRIBUTING.md and CONTRIBUTIONS.md so contributors can follow the Makefile-based workflow.
Alternatives Considered
The project could continue documenting raw commands directly in Markdown files, but this creates duplication and makes commands easier to drift over time.
Another option is to rely only on package-specific scripts, but a Makefile gives contributors one consistent entry point regardless of the underlying tools.
Additional Context
A Makefile would improve contributor onboarding, local development consistency, and command discoverability.
Implementation Ideas
- Add
.PHONY targets for all Makefile commands.
- Include a
make help target that lists available commands.
- Keep each target aligned with the existing project tooling.
- Update contribution docs to prefer
make <command> examples.
- Avoid changing runtime behavior; this should be a developer-experience improvement only.
Problem Statement
Currently the codebase does not provide a central
Makefilefor common development commands. Contributors need to manually discover setup, test, lint, format, build, and Docker-related commands from different files or docs.The contribution documentation also does not reference a single command workflow, which can make onboarding and local development less consistent.
Proposed Solution
Add a root-level
Makefilewith common project commands, then update the contribution documentation to use those commands.Suggested commands:
make helpmake installmake testmake lintmake formatmake checkmake buildmake cleanmake docker-upmake docker-downAlso update contribution files such as
CONTRIBUTING.mdandCONTRIBUTIONS.mdso contributors can follow the Makefile-based workflow.Alternatives Considered
The project could continue documenting raw commands directly in Markdown files, but this creates duplication and makes commands easier to drift over time.
Another option is to rely only on package-specific scripts, but a
Makefilegives contributors one consistent entry point regardless of the underlying tools.Additional Context
A Makefile would improve contributor onboarding, local development consistency, and command discoverability.
Implementation Ideas
.PHONYtargets for all Makefile commands.make helptarget that lists available commands.make <command>examples.