# republisher-redux ## Overview - `republisher-redux` is a Scrapy-based tool that mirrors RSS and Atom feeds for offline use. - Python packaging uses `pyproject.toml` with `setuptools`. - Development uses `uv` - Nix development and packaging use `flake.nix`. - Formatting is managed through `treefmt-nix`, exposed via `nix fmt`. ## Workflow - Use Python 3.13. - Enter the dev environment with `nix develop` if you are not already inside it - Sync Python dependencies with `uv sync --all-groups`. - Run the app with `uv run repub`. ## Validation - Run `nix fmt` after changing repo files that are covered by treefmt. - Run `nix flake check` before declaring work complete. - `nix flake check` is expected to build and check the formatter, devshell, package, tests, and lint derivations. ## Editing Rules - Keep `treefmt.nix`, `flake.nix`, and `pyproject.toml` aligned. - Prefer updating the flake-exported package and checks rather than adding ad hoc scripts. - Do not commit, amend, or stage unrelated files unless explicitly asked. - Final verication `nix flake check` must be greenbefore claiming task completeness ## Repo Notes - The console entrypoint is `repub`. - Runtime ffmpeg availability is provided by the flake package and devshell. - Tests live under `tests/`.