mirror of
https://github.com/kuhyx/diet-guard.git
synced 2026-07-04 15:43:25 +02:00
38 lines
1.2 KiB
Markdown
38 lines
1.2 KiB
Markdown
|
|
# diet_guard
|
||
|
|
|
||
|
|
A log-to-unlock gate: locks the desktop until a meal is logged once a meal
|
||
|
|
slot (08:00 / 12:00 / 16:00 / 20:00) has elapsed without one, and tracks a
|
||
|
|
sealed daily calorie/macro budget.
|
||
|
|
|
||
|
|
## Install
|
||
|
|
|
||
|
|
```bash
|
||
|
|
bash install.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
This installs the package + dependencies into system Python's user
|
||
|
|
site-packages (the systemd service runs `/usr/bin/python` directly, not a
|
||
|
|
venv — see `CLAUDE.md`), installs the systemd user timer, seals your daily
|
||
|
|
budget, and locks the budget file immutable.
|
||
|
|
|
||
|
|
## Usage
|
||
|
|
|
||
|
|
```bash
|
||
|
|
python -m diet_guard init # one-time: compute and seal today's budget
|
||
|
|
python -m diet_guard gate --demo # test the lock window (safe, closeable)
|
||
|
|
```
|
||
|
|
|
||
|
|
The timer runs the gate automatically every ~30 minutes; no manual
|
||
|
|
invocation is needed once installed.
|
||
|
|
|
||
|
|
## Development
|
||
|
|
|
||
|
|
```bash
|
||
|
|
python -m venv .venv && .venv/bin/pip install -r requirements.txt
|
||
|
|
.venv/bin/pre-commit install && .venv/bin/pre-commit install --hook-type pre-push
|
||
|
|
.venv/bin/python -m pytest diet_guard/tests/ --cov=diet_guard --cov-branch --cov-fail-under=100
|
||
|
|
```
|
||
|
|
|
||
|
|
See `CLAUDE.md` for scheduling details and production deployment gotchas,
|
||
|
|
and `docs/design.md` for the original feature spec.
|