Skip to content

Add a Makefile #24

@ruancomelli

Description

@ruancomelli

Is your improvement request related to a problem? Please describe.

It is currently hard to discover and execute the development scripts. They are inside the scripts/ directory, but discoverability could be even simpler.

Describe the improvement you'd like

Create a Makefile at the root of the project with the following rules:

.PHONY: init
init:
    bash scripts/init.sh

.PHONY: lint
lint:
    bash scripts/lint.sh src/

.PHONY: format
format:
    bash scripts/format.sh src/

.PHONY: type-check
type-check:
    bash scripts/type-check.sh src/

.PHONY: test
test:
    bash scripts/test.sh

.PHONY: test-cov
test-cov:
    bash scripts/test-cov.sh

Describe alternatives you've considered

I also considered:

  • doing nothing (i.e. relying on the scripts/ directory directly)
  • using the just task runner, which is better suited to this but is not as well-known and documented
  • using the mise task runner, which is also better suited to this but is not as well-known and documented; it also allows us to control other tools like uv, cargo etc. from a unified mise.toml config file

Benefits

  1. Easier discoverability: all development commands live in the Makefile
  2. Easy extendability: soon, when we add docs, we can very easily add doc-building commands to the Makefile
  3. Popularity: among the alternatives, make is much more widely known and documented, making it easier for anyone to contribute to this project

Additional context
None.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions