Context
The README says "run python -m unittest discover -s tests -v"
and "run streamlit run app.py", but a new contributor has
to copy-paste those. There's no single entry point. A
Makefile (or tasks.py if you'd rather stay Python-native)
gives the project a make test, make run, make lint,
make clean surface that's familiar to anyone who's used
to one.
What to change
Add a Makefile at the repo root with these targets (and a
short comment header explaining the file isn't required —
python -m unittest … still works without it):
.PHONY: install test run lint clean
install:
pip install -r requirements.txt
test:
python -m unittest discover -s tests -v
run:
streamlit run app.py
lint:
python -m py_compile Agent.py app.py app_helpers.py theme.py
clean:
rm -rf __pycache__ */__pycache__ .pytest_cache
How to verify
make test exits 0 on a clean checkout.
make run starts the app at the URL Streamlit prints.
make clean removes only the listed caches; git status
is clean afterwards.
- The targets are
.PHONY (no conflict with files named
test or run).
Skill: build tooling, ergonomics.
Estimated effort: S.
Context
The README says "run
python -m unittest discover -s tests -v"and "run
streamlit run app.py", but a new contributor hasto copy-paste those. There's no single entry point. A
Makefile(ortasks.pyif you'd rather stay Python-native)gives the project a
make test,make run,make lint,make cleansurface that's familiar to anyone who's usedto one.
What to change
Add a
Makefileat the repo root with these targets (and ashort comment header explaining the file isn't required —
python -m unittest …still works without it):How to verify
make testexits 0 on a clean checkout.make runstarts the app at the URL Streamlit prints.make cleanremoves only the listed caches;git statusis clean afterwards.
.PHONY(no conflict with files namedtestorrun).Skill: build tooling, ergonomics.
Estimated effort: S.