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
andmetadata.schema.json
needs changes, announce it first in the Discord#development
channel and pingvoidpointer
andnitsua
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+
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+
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 Formattrash_score
- (Legacy) Default Score for the Custom Format. Note that Custom Formats with Default Scores of 0 should NOT have atrash_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 atrash_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 thetrash
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 FormatBR-DISK
would be the hash ofBR-DISK
- When adding the hashcode for Radarr Anime use the following naming
Radarr Anime CF_name
e.g. the Custom FormatBR-DISK
would be the hash ofRadarr Anime BR-DISK
. - When adding the hashcode for Sonarr use the following naming
Sonarr CF_name
e.g. the Custom FormatBR-DISK
would be the hash ofSonarr BR-DISK
. - When adding the hashcode for Sonarr Anime use the following naming
Sonarr Anime CF_name
e.g. the Custom FormatBR-DISK
would be the hash ofSonarr 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
- Replace the actual movie name with
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 undertrash_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 thetrash_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
ortrash_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
- use VSCode for editing with the following extension markdownlint