You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
TRaSH-Guides/.github/CONTRIBUTING.md

6.4 KiB

Contributing Guidelines

👍🎉 First off, thanks for taking the time to contribute! 🎉👍

Here you will find a set of guidelines for contributing to TRaSH Guides, These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.

Guidelines

  • Make sure you're editing the latest version.
  • If you propose changes make sure it doesn't break anything else in the Guides.
  • Make sure that after the changes you don't get any markdownlint errors
  • If the metadata.json and metadata.schema.json needs changes, announce it first in the Discord #development channel and pingvoidpointer and nitsua so the 3rd party apps don't break ‼️

Branch naming

We're trying to be as consistent as possible for automation of the changelog.

  • feat/xxx Commits, that adds a new feature
  • fix/xxx Commits, that fixes a bug/issue
  • style/xxx Commits, that do not affect the meaning (white-space, formatting, missing semi-colons, etc)
  • chore/xxx Miscellaneous commits (administrative / cleanup / backend)

Where 'xxx' can stand for Starr/Sonarr/Radarr/Guide etc

Examples:

  • feat/Starr-ELEANOR-to-Scene-CF
  • feat/Radarr-CiNEPHiLES-to-Remux-Tier-02
  • feat/maintenance
  • fix/dv-hdr10-cf-should-match-dv-hdr10+

Source

Pull Request naming

We're trying to be as consistent as possible for automation of the changelog.

  • feat(xxx): Commits, that adds a new feature
  • fix(xxx): Commits, that fixes a bug/issue
  • style(xxx): Commits, that do not affect the meaning (white-space, formatting, missing semi-colons, etc)
  • chore(xxx): Miscellaneous commits (administrative / cleanup / backend)

Where 'xxx' can stand for Starr/Sonarr/Radarr/Guide etc

Examples:

  • feat(starr): add ELEANOR to Scene CF
  • feat(radarr): add CiNEPHiLES to Remux Tier 02
  • feat(maintenance): various changes to the Starr CFs
  • fix(starr): DV HDR10 CF should match DV HDR10+

Source

When doing a PR that is WIP

When doing a PR that is in-progress and not yet complete / ready for review or not yet done fully, please ensure it is a DRAFT Pull Request

Radarr/Sonarr Custom Format (JSON)

Release Group Reclassifications, Removals, or Additions

  • When adding a RlsGrp to a Custom Format for whatever reason, please add in the PR why it's added/removed/moved.

General Guidelines

  • Custom Format name needs to match json name ‼️
  • No hashcode can exists multiple times ‼️
  • JSON file format shall consist of the following TRaSH specific data appended to the json exported from Starr
{
  "trash_id": "HASHCODE",
  "trash_score": 50,
  "trash_scores": {
    "default": 50,
    "some_other_profile": 100
  },
  "trash_regex": "https://regex101.com/r/pADWJD/5",
STARRJSONEXPORT
}

General Structure

  • json file name - name of the json file
  • trash_id - Generated HashCode for the Custom Format
  • trash_score - (Legacy) Default Score for the Custom Format. Note that Custom Formats with Default Scores of 0 should NOT have a trash_score
  • trash_scores - (New) Json object of score(s) for the Custom Format. Note that Custom Formats with Default Scores of 0 should NOT have a trash_scores.default
  • trash_regex - Link to regex test cases for regex
  • STARRJSONEXPORT - The exported custom format created within Starr. Note that this will have a leading { that will need to have the trash specific regex added after

File Naming

  • JSON file names are always written in small letters, spaces are replaced by a dash, no spaces or special characters except a dash ‼️

Hashcode

  • When adding the hashcode for Radarr use the following naming CF_name e.g. the Custom Format BR-DISK would be the hash of BR-DISK
  • When adding the hashcode for Radarr Anime use the following naming Radarr Anime CF_name e.g. the Custom Format BR-DISK would be the hash of Radarr Anime BR-DISK.
  • When adding the hashcode for Sonarr use the following naming Sonarr CF_name e.g. the Custom Format BR-DISK would be the hash of Sonarr BR-DISK.
  • When adding the hashcode for Sonarr Anime use the following naming Sonarr Anime CF_name e.g. the Custom Format BR-DISK would be the hash of Sonarr Anime BR-DISK.

Regex Test Cases

  • Provide a link to your regex example of your Custom Format using the following Template.
  • When adding a regex test case
    • Replace the actual movie name with Movie.
    • Replace the actual series name with Series.
    • Remove the actual Series title.
    • Replace the actual group name with RlsGrp

When updating or adding a new CF the test case url (trash_regex) needs to be prepended to the exported from Starr json

{
  "trash_regex": "https://regex101.com/r/pADWJD/5",
}

Scoring

  • Scores must be added both as a single value under (legacy) trash_score and as JSON objects under trash_scores, for example:
{
  "trash_score": 50,
  "trash_scores": {
    "default": 50,
    "some_other_profile": 100
  },
}
  • This allows for Custom Formats to be assigned different scores for different profiles
  • The trash_score value MUST be the same as the trash_scores.default value
  • The legacy trash_score value is currently retained for compatibility reasons, but will eventually be removed
  • Default Scores of 0 (trash_score or trash_scores.default are FORBIDDEN

YAML file naming

  • If a hashcode is needed No hashcode can exist multiple times ‼️
  • Use this website to generate an md5 hash
  • YAML file names are always written in small letters, spaces are replaced by a dash, no spaces or special characters except a dash ‼️

Recommendations