35 lines
1.3 KiB
Markdown
35 lines
1.3 KiB
Markdown
# 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/`.
|