This is the canonical guidance for work in this repository. CLAUDE.md is a
compatibility pointer to this file.
- Product and crate family: StackArr.
- Canonical source, issues, and CI:
TheDancingDeveloper-org/NGMSon GitHub. - Repository and GHCR path retain
NGMSfor compatibility until an explicitly approved rename migration. - Target database: MariaDB 11.4 LTS through the
sqlxMySQL driver. - License: GPL-3.0-only.
Read README.md, CONTRIBUTING.md, docs/UNIFIED-ARR-PLAN.md, and the issue
being implemented before changing behavior.
The following list is checked against Cargo.toml in CI.
crates/stackarr-corecrates/stackarr-mediacrates/stackarr-parsercrates/stackarr-qualitycrates/stackarr-indexercrates/stackarr-downloadcrates/stackarr-importcrates/stackarr-schedulercrates/stackarr-metadatacrates/stackarr-webcrates/stackarr-notifycrates/stackarr-migratecrates/stackarr-plexcrates/stackarr-cardiganncrates/stackarr-cardigann-paritycrates/stackarr-streamcrates/stackarr-postgres
The final entry is renamed to stackarr-mariadb during P1. Update this list in
the same commit as any workspace-member change.
The torrent engine is consumed from crates.io through the swarmforge package
family and historical librtbit dependency aliases. The Usenet engine is the
published crates.io nzb-* family. There is no live vendored engine directory.
Never copy a published engine into crates/.
Core work covers embedded engines, Cardigann/indexers, migration, the unified
media domain, arr façades, TRaSH/Profilarr profiles, and decision/parser parity.
Until P5 is complete, stackarr-stream, Stremio routes, and
stackarr-bootstrap are frozen except for maintenance and tests. Discovery,
trending, requests, and watchlist features are deferred.
Compatibility crates contain DTOs, route wiring, and translation only. Put business rules in the core.
- Develop new behavior test-first from the governing specification.
- Preserve the native
/api/v1contract; arr façades are additive. - Add unit tests for logic and integration tests for I/O boundaries. Add GUI/E2E coverage for user-visible flows.
- Run
cargo fmt --all -- --check,cargo clippy --workspace --all-features -- -D warnings, andcargo test --workspace --all-featuresbefore committing. - Do not add an undocumented
#[allow]. - Do not vendor published crates or add private dependency sources.
- Do not add AI co-author trailers or list AI systems as contributors.