Nothing in the CLI could be remembered from one session to the next except the language, which lives in env_var.sh with its own ad-hoc parser. Entry [6] Configuration, below Telemetry, now groups the settings that belong to the USER rather than to the repository. todo_prefs.py stores them in ~/.erplibre/todo_prefs.json — the same place and the same best-effort shape as todo_telemetry.py, since both are per-user and per-machine, and neither must ever prevent the CLI from starting. A DEFAULTS table gives every known key its fallback, so a missing or corrupt file simply reads as defaults. The two keys added here prepare the QEMU deploy form: which interface to use (ask / TUI / classic) and what to display while deploying (CLI output or TUI). They are declared once in _PREF_CHOICES — the screen, the current-value label and the editor all derive from that single table, so adding a preference is one entry, not three edits. Language keeps its own mechanism: it is read before the preferences file exists and is consumed by shell scripts too. Verified against a temporary HOME: defaults returned with no file on disk, a change persisted and reflected in the menu, and reset falling back to defaults. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| database_manager.py | ||
| kdbx_manager.py | ||
| logo_ascii.txt | ||
| qemu_install_monitor.py | ||
| README.base.md | ||
| README.fr.md | ||
| README.md | ||
| source_todo.sh | ||
| todo.json | ||
| todo.py | ||
| todo_example.json | ||
| todo_file_browser.py | ||
| todo_i18n.py | ||
| todo_prefs.py | ||
| todo_telemetry.py | ||
| todo_upgrade.py | ||
| version_manager.py | ||
TODO is an assistant robot to use ERPLibre
Execute it with ./script/todo/todo.py or make todo.
For a new project, copy todo_example.json to private/todo/todo_override.json | private/todo/todo_override_private.json and edit it.