Closes #7
Summary
- Renames package
weather-tools→rainlog, Python packageweather_tools→rainlog, CLI commandrain→rainlog - Changes default DB location to
~/.local/share/rainlog/rainlog.sqlite(XDG user data dir viaplatformdirs) - Renames DB file from
MyWeather.sqlitetorainlog.sqlite;Database.__init__auto-creates the directory on first use - Adds
rainlog migrate [--db-dir PATH]to copy an existingMyWeather.sqliteto the new default location atomically
Test plan
- Existing 56 tests pass after rename (Task 1)
- 5 new tests in
tests/test_defaults.pycover constants and directory auto-creation (Task 2) - 7 new tests in
tests/test_migrate.pycover migrate happy path, source-missing error, destination-exists error, and legacy-filename check (Task 3) nox -s complexipypasses (no functions exceed complexity threshold)nox -s ruffpassesnox -s typasses
Closes #7
## Summary
- Renames package `weather-tools` → `rainlog`, Python package `weather_tools` → `rainlog`, CLI command `rain` → `rainlog`
- Changes default DB location to `~/.local/share/rainlog/rainlog.sqlite` (XDG user data dir via `platformdirs`)
- Renames DB file from `MyWeather.sqlite` to `rainlog.sqlite`; `Database.__init__` auto-creates the directory on first use
- Adds `rainlog migrate [--db-dir PATH]` to copy an existing `MyWeather.sqlite` to the new default location atomically
## Test plan
- [ ] Existing 56 tests pass after rename (Task 1)
- [ ] 5 new tests in `tests/test_defaults.py` cover constants and directory auto-creation (Task 2)
- [ ] 7 new tests in `tests/test_migrate.py` cover migrate happy path, source-missing error, destination-exists error, and legacy-filename check (Task 3)
- [ ] `nox -s complexipy` passes (no functions exceed complexity threshold)
- [ ] `nox -s ruff` passes
- [ ] `nox -s ty` passes