v0.11.0: public torrent-site catalog with one-click install#1
Merged
masterdraco merged 39 commits intomainfrom Apr 20, 2026
Merged
v0.11.0: public torrent-site catalog with one-click install#1masterdraco merged 39 commits intomainfrom
masterdraco merged 39 commits intomainfrom
Conversation
Adds a design document for a curated, built-in catalog of 12 public no-account torrent sites (TPB, 1337x, Nyaa, TorrentGalaxy, …). Ships the parser machinery already on disk — the gap is UX. The spec covers catalog layout, vendoring from Prowlarr-indexers, parser extensions driven by real per-site fixture tests, a dedicated /indexers/catalog page, and an optional onboarding step. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Bite-sized task decomposition with code + test + commit steps for each chunk: Alembic migration, catalog registry + vendoring script, five new Cardigann parser filters (TDD), two new API endpoints, catalog page, /indexers shortcut, onboarding step, and a parametrized fixture test harness. References the spec committed in d676ec4. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The torrentgalaxyclone.yml definition covers the .one/.info/.space domains, not .to/tgx.rs. Registry mirror list was stale.
Also fix import sort order in main.py and type: ignore comment in catalog.py. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds backend/tests/test_catalog_fixtures.py, parametrized over any backend/tests/fixtures/catalog/<slug>-search.html files present. Zero parametrizations for now — no fixture was captured. TPB was attempted via tpb.party but the vendored YAML uses the apibay.org JSON API, not HTML parsing, so captured HTML cannot be exercised by the row extractor. Similarly, thepiratebay.org itself returns a JS-rendered shell page (<5 KB). The harness is still wired correctly and will activate as soon as an HTML-based site fixture is dropped in the fixtures directory. Also adds TODO.md with a reminder to capture fixtures for the remaining 11 catalog slugs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds a "Catalog (public sites, one click)" section to 03-indexers.md immediately before "Priority and ordering", covering how to install from the catalog, what the onboarding wizard does, and how vendored YAMLs are updated. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…, params, selectors Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…e tests Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…lates Fixes torrentgalaxy and bitsearch search URLs which used template constructs the initial expander did not cover. Sanity sweep confirms all 10 catalog sites now produce URLs without unresolved template tokens. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/indexers/catalogpage and as an optional onboarding step.{{ .Keywords }},{{ .Config.X }},{{ if .Keywords }}…{{ else }}…{{ end }},{{ or }}, inline{{ re_replace }}) so vendored Prowlarr YAMLs actually produce working search URLs.urldecode,split,trim,tolower,re_replace) + warn-once log for unknown filters.scripts/update-catalog.pyfor syncing/diffing vendored YAMLs againstProwlarr/Indexers.Test plan
cd backend && uv run pytest -q— expect 60 passingcd backend && uv run ruff check src tests && uv run ruff format --check src tests— cleancd web && pnpm check— 0 errors/indexers/catalog, install a site (e.g. 1337x), verify it appears on/indexersas type=cardigann/onboardingin a fresh install — verify the new "Public torrent sites (optional)" step appears between indexer and AI stepsDesign + plan
docs/superpowers/specs/2026-04-20-public-torrent-site-catalog-design.mddocs/superpowers/plans/2026-04-20-public-torrent-site-catalog.mdFollow-up work (not blocking)
TODO.md.regexpfilter missingre.errorcatch (pre-existing; not introduced by this branch).🤖 Generated with Claude Code