doc: extend README.md
All checks were successful
ci/woodpecker/push/workflow Pipeline was successful
All checks were successful
ci/woodpecker/push/workflow Pipeline was successful
closes #10
This commit is contained in:
parent
fe24b3bfbd
commit
5e3faa5367
1 changed files with 77 additions and 7 deletions
84
README.md
84
README.md
|
|
@ -1,9 +1,7 @@
|
||||||
# Teilchensammler
|
# Teilchensammler
|
||||||
|
|
||||||
This is a little TUI based on [Textual] for entering new Teilchen and for
|
This is a little TUI based on [Textual] for entering new Teilchen and for
|
||||||
searching for existing Teilchen.
|
searching for existing Teilchen. Data is kept in a sqlite database.
|
||||||
|
|
||||||
Data will eventuall be stored in a SQLite database.
|
|
||||||
|
|
||||||
## Running tests
|
## Running tests
|
||||||
|
|
||||||
|
|
@ -13,30 +11,102 @@ uv run pytest tests.py
|
||||||
|
|
||||||
## Observing the app's console
|
## Observing the app's console
|
||||||
|
|
||||||
You will need two terminals: one for showing the console, the other to run the app.
|
The console can be used to observe log messages, since those logs really should
|
||||||
|
not go to the terminal.
|
||||||
|
|
||||||
Since we use uv the incantation is bit different from the official documenation:
|
You will need two terminals:
|
||||||
|
|
||||||
|
1. one for showing the console,
|
||||||
|
2. the other to run the app.
|
||||||
|
|
||||||
|
Since we use uv, the incantation is bit different from the official documenation:
|
||||||
|
|
||||||
In one terminal:
|
In one terminal:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
textual console
|
uv run textual console
|
||||||
```
|
```
|
||||||
|
|
||||||
And in the other:
|
And in the other:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
|
# run,textual,run! ;)
|
||||||
uv run textual run --dev src/teilchensammler_cli/__init__.py
|
uv run textual run --dev src/teilchensammler_cli/__init__.py
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Developing
|
||||||
|
|
||||||
|
To re-create bronsen's development environment, you need several shiny new toys:
|
||||||
|
|
||||||
|
* [just] to run the recipes from `justfile` (think Makefile, but easier)
|
||||||
|
* [uv] for all the python executing stuff, also venv
|
||||||
|
* [prek] as a replacement for pre-commit
|
||||||
|
* [ruff] to lint and format the python code
|
||||||
|
* [markdownlint-cli2] to keep some sort of consistency in our markdowns
|
||||||
|
|
||||||
|
I use just; just uses uv, prek, ruff, and so on. It's indirection and
|
||||||
|
abstraction all the way down.
|
||||||
|
|
||||||
|
However, you can also do without all these!
|
||||||
|
|
||||||
|
### Merge Requests
|
||||||
|
|
||||||
|
You know how these work.
|
||||||
|
|
||||||
|
### Commit style
|
||||||
|
|
||||||
|
I prefer simple commit titles, and am not a fan of conventional commits. Do
|
||||||
|
provide as much detail as desired in the message's body. Commit early, commit
|
||||||
|
often; rebase frequently.
|
||||||
|
|
||||||
|
### Tests
|
||||||
|
|
||||||
|
Yes! Please write tests: simple ones, trivial ones; complicated ones, slow ones.
|
||||||
|
|
||||||
|
Tests must be written in pytest fashion. Use all the plugins. Tests and
|
||||||
|
fixtures should go into `tests.py`, until such time the file become too big and
|
||||||
|
unwieldy.
|
||||||
|
|
||||||
|
## Bug Reports, Feature Requests
|
||||||
|
|
||||||
|
Create them [under "Issues"] at the top the [repo page]. Do not worry too much
|
||||||
|
about labels.
|
||||||
|
|
||||||
|
Please be specific and provide logs, screenshots, a test that replicates the
|
||||||
|
problem.
|
||||||
|
|
||||||
|
### Architectural Changes
|
||||||
|
|
||||||
|
These are unlikely to be accepted. This tool is not intended to scale. There
|
||||||
|
might be web-frontend thing automatically provided by [Textual].
|
||||||
|
|
||||||
|
### Configs for tools the bronsen does not currently use
|
||||||
|
|
||||||
|
Oh sure, I'll accept those. Please create a merge request that adds the file.
|
||||||
|
I'll make an effort to update those to the best of my capabilities.
|
||||||
|
|
||||||
|
## AI
|
||||||
|
|
||||||
|
Please no: this is my little human-created thing.
|
||||||
|
|
||||||
## Creating a new release
|
## Creating a new release
|
||||||
|
|
||||||
|
(This is so bronsen can forget.)
|
||||||
|
|
||||||
* make code changes
|
* make code changes
|
||||||
* add tests; make them pass
|
* run tests; make them pass
|
||||||
* commit
|
* commit
|
||||||
* `git tag vX.Y.Z`
|
* `git tag vX.Y.Z`
|
||||||
* push commits and tags
|
* push commits and tags
|
||||||
|
|
||||||
`uv build` will now create correctly named tar balls and wheels.
|
`uv build` will now create correctly named tar balls and wheels.
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
[Textual]: https://textual.textualize.io/
|
[Textual]: https://textual.textualize.io/
|
||||||
|
[uv]: https://astral.sh/uv
|
||||||
|
[just]: https://just.systems/
|
||||||
|
[prek]: https://prek.j178.dev/
|
||||||
|
[ruff]: https://astral.sh/ruff
|
||||||
|
[markdownlint-cli2]: https://github.com/DavidAnson/markdownlint-cli2
|
||||||
|
[under "Issues"]: https://code.c-base.org/infuanfu/teilchensammler-cli/issues/new
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue