|
| 1 | +# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json |
| 2 | +language: en |
| 3 | +chat: |
| 4 | + art: false |
| 5 | +reviews: |
| 6 | + profile: chill |
| 7 | + auto_review: |
| 8 | + enabled: true |
| 9 | + ignore_title_keywords: |
| 10 | + - "WIP" |
| 11 | + drafts: false |
| 12 | + base_branches: |
| 13 | + - master |
| 14 | + poem: false |
| 15 | + in_progress_fortune: false |
| 16 | + high_level_summary: false |
| 17 | + sequence_diagrams: false |
| 18 | + changed_files_summary: false |
| 19 | + suggested_reviewers: false |
| 20 | + finishing_touches: |
| 21 | + docstrings: |
| 22 | + enabled: false |
| 23 | + unit_tests: |
| 24 | + enabled: false |
| 25 | + auto_apply_labels: true |
| 26 | + labeling_instructions: |
| 27 | + - label: package-request-needed |
| 28 | + instructions: | |
| 29 | + If this is a NEWLY ADDED manifest file (not a modified or renamed file) and there is no linked GitHub issue in the description or PR body, |
| 30 | + apply the `package-request-needed` label to indicate that the contributor needs to create a package request issue and link it in the description or PR body. |
| 31 | + - label: not-meet-criteria |
| 32 | + instructions: | |
| 33 | + If this is a NEWLY ADDED manifest file (not a modified or renamed file) and this package does not meet the acceptance criteria for new package |
| 34 | + requests (reasonably well-known and widely used, stable release available, English interface/documentation), apply the `not-meet-criteria` label |
| 35 | + to indicate that this package will not be accepted. |
| 36 | + path_instructions: |
| 37 | + - path: "**" |
| 38 | + instructions: | |
| 39 | + If this file is a Scoop manifest, you MUST check for the following: |
| 40 | + 1. [File Location & Name Validation] |
| 41 | + - Path Check: it MUST be located strictly within the `bucket/` or `deprecated/` directories. If it is placed elsewhere, warn the contributor. |
| 42 | + - Filename Rule: |
| 43 | + - The filename MUST consist ONLY of lowercase letters, numbers, hyphens (-), and dots (.), and MUST end with `.json`. |
| 44 | + - If the filename contains underscores (`_`), suggest replacing them with hyphens (`-`). |
| 45 | + - Line Endings: Scoop manifests must use CRLF line endings. Remind the contributor if you detect LF. |
| 46 | +
|
| 47 | + 2. [New Package Request Policy] |
| 48 | + - If this is a NEWLY ADDED manifest file (not a modified or renamed file): |
| 49 | + - Check the `description` field or the PR body for a linked GitHub issue (e.g., #123 (must be a valid issue number) or an issue URL). |
| 50 | + If missing, you should warn the contributor to create a package request issue and link it in the description or PR body. |
| 51 | + - Ensure contributor knows the acceptance criteria for new package requests. |
| 52 | + - Acceptance criteria for new package requests: |
| 53 | + - Reasonably well-known and widely used (e.g. if it's a GitHub project, it should have at least 100 stars). |
| 54 | + - A stable release available (not in pre-release or alpha stage). |
| 55 | + - English interface (or at least English documentation). |
| 56 | + - Link to create package request issue: |
| 57 | + - https://github.com/ScoopInstaller/Extras/issues/new?labels=package-request&template=package-request.yml&title=%5BRequest%5D%3A+ |
| 58 | +
|
| 59 | + 3. [Autoupdate Precision] |
| 60 | + - NEVER allow hardcoded version numbers in the `autoupdate` block (e.g., `autoupdate.url` or `autoupdate.extract_dir`). They must use variables like `$version`, etc. |
| 61 | + - Cross-check: |
| 62 | + If the top-level `url`, `extract_dir`, or `architecture.*.url` contain a version number, ensure that these exact paths are properly parameterized in the `autoupdate` |
| 63 | + block so future automated updates won't miss them. |
| 64 | +
|
| 65 | + 4. [Common Dependencies Check] |
| 66 | + - Pay close attention to packages that might require .NET, VCREDIST (Visual C++ Redistributable), etc. |
| 67 | + - If the application relies on these, check if they are correctly declared in the `suggest` fields using standard Scoop identifiers. |
| 68 | +
|
| 69 | + 5. [Test Guidance] |
| 70 | + - Provide clear instructions for testing the manifest locally before submission: |
| 71 | + - Optional: Enable debug mode and set GitHub token (to access GitHub API for releases only): |
| 72 | + scoop config debug true |
| 73 | + scoop config gh_token <your-github-token> # Read access only |
| 74 | + - Force version detection and autoupdate (Replace <manifest-name> with the actual filename without `.json`): |
| 75 | + .\bin\checkver.ps1 -App <manifest-name> -f |
| 76 | + - Auto-format (Lint) the JSON manifest (Replace <manifest-name> with the actual filename without `.json`): |
| 77 | + .\bin\formatjson.ps1 -App <manifest-name> |
| 78 | + - Test installation for each architecture (if supported) |
| 79 | + scoop install <manifest-path> -a <architecture> |
| 80 | +
|
| 81 | + 6. [Other Guidance] |
| 82 | + - For any violations of the above rules or other Scoop formatting issues, always provide a link to the official contribution guide or wiki to resolve their confusion. |
| 83 | + - Related links: |
| 84 | + - Contribution Guide: https://github.com/ScoopInstaller/.github/blob/main/.github/CONTRIBUTING.md |
| 85 | + - Wiki: https://github.com/ScoopInstaller/Scoop/wiki/App-Manifests |
0 commit comments