Clarified contribution guidelines for large PRs. (#5032) * Added guidelines for splitting large PRs. * Added links, formatting and mentioned dot property access. * Fixed and corrected: https://github.com/SillyTavern/SillyTavern/pull/5032#discussion_r2707433279 https://github.com/SillyTavern/SillyTavern/pull/5032#discussion_r2707445447 https://github.com/SillyTavern/SillyTavern/pull/5032#discussion_r2707449255 https://github.com/SillyTavern/SillyTavern/pull/5032#discussion_r2707455801 https://github.com/SillyTavern/SillyTavern/pull/5032#discussion_r2707458468 * Removed and altered: https://github.com/SillyTavern/SillyTavern/pull/5032#discussion_r2710152562 https://github.com/SillyTavern/SillyTavern/pull/5032#discussion_r2710125321 https://github.com/SillyTavern/SillyTavern/pull/5032#discussion_r2710129926 https://github.com/SillyTavern/SillyTavern/pull/5032#discussion_r2707430359 * Get rid of nested lists --------- Co-authored-by: user <user@exmaple.com> Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>

cc12ace48dd5aa9e1685db61aa3b83229ca14ed1

DeclineThyself <235079501+DeclineThyself@users.noreply.github.com>

Signed
1 files changed, +52 -21Ignore whitespace
CONTRIBUTING.md+52 -21
@@ -12,32 +12,63 @@
122. Fork this repository under your account.122. Fork this repository under your account.
133. Clone the fork onto your machine.133. Clone the fork onto your machine.
144. Open the cloned repository in the code editor.144. Open the cloned repository in the code editor.
155. Create a git branch (recommended).155. Create a git branch (recommended), review the [git book](https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control) if you haven't.
166. Make your changes and test them locally.166. Make your changes and test them locally.
177. Commit the changes and push the branch to the remote repo.177. Commit the changes and push the branch to the remote repo.
188. Go to GitHub, and open a pull request, targeting the upstream branch.188. Go to GitHub, and open a pull request, targeting the appropriate upstream branch.
1919
20## Contribution guidelines20## Contribution guidelines
2121
221. Our standards are pretty low, but make sure the code is not too ugly:22### Maintain code quality
23 - Run VS Code's autoformat when you're done.23
24 - Check with ESLint by running `npm run lint`, then fix the errors.24Our standards are pretty low, but make sure the code is not too ugly:
25 - Use common sense and follow existing naming conventions.25
262. Create pull requests for the staging branch, 99% of contributions should go there. That way people could test your code before the next stable release.26- Run VS Code's autoformat when you're done.
273. You can still send a pull request for release in the following scenarios:27- Check with ESLint by running `npm run lint`, then fix the errors.
28 - Updating README.28- Use common sense and follow existing naming conventions.
29 - Updating GitHub Actions.29
30 - Hotfixing a critical bug.30### Use the correct target branch
314. Project maintainers will test and can change your code before merging. To keep our workflow smooth, please ensure the following:31
32 - The "Allow edits from maintainers" option is checked.32Create pull requests for the `staging` branch, 99% of contributions should go there. That way people could test your code before the next stable release.
33 - Avoid force-pushing your branch once the PR is out of draft state.33
345. To make sure that your contribution remains testable and reviewable, try not to exceed a soft limit of **200 lines of code** (both additions and deletions) per pull request. If you have more to contribute, split it into multiple pull requests. We can also consider creating a separate feature branch for more substantial changes, but please discuss it with the maintainers first.34You can still send a pull request for `release` in the following scenarios:
356. Write at least somewhat meaningful PR descriptions and commit messages. There's no "right" way to do it, but the following may help with outlining a general structure:35
36 - What is the reason for a change?36- Updating README.
37 - What did you do to achieve this?37- Updating GitHub Actions.
38 - How would a reviewer test the change?38- Hotfixing a critical bug.
397. English is the primary language of communication in this project. Please use only English when writing commit messages, PR descriptions, comments and other text. This does not apply to contributions to localization files.39
408. Mind the license. Your contributions will be licensed under the GNU Affero General Public License. If you don't know what that implies, consult your lawyer.40Project maintainers will test and can change your code before merging. To keep our workflow smooth, please ensure the following:
41
42- The "Allow edits from maintainers" option is checked.
43- Avoid force-pushing your branch once the PR is out of draft state.
44
45### Make contributions small and testable
46
47To make sure that your contribution remains testable and reviewable, try not to exceed a soft limit of **200 lines of code** (both additions and deletions) per pull request. If you have more to contribute, split it into multiple pull requests.
48
49We can also consider creating a separate feature branch for more substantial changes, but please discuss it with the maintainers first. For example:
50
51- Leave the main larger PR as a draft so it can be used to discuss the implementation.
52- Split each group of functions or features into a ~200 line PR so it can be properly reviewed and merged to staging or a feature branch.
53- If there are large codependent changes that cannot be split, start with the most utilized dependencies and stub dependent functions.
54- Each will be reviewed and tested one by one, merging into the feature branch as they're ready.
55- Do not create all branches in advance, as subsequent changes made in previous commits as a result of test/review may create a lot of merge conflicts.
56
57### Provide clear descriptions of your changes
58
59Write at least somewhat meaningful PR descriptions and commit messages. There's no "right" way to do it, but the following may help with outlining a general structure:
60
61- What is the reason for a change?
62- What did you do to achieve this?
63- How would a reviewer test the change?
64
65### We (likely) don't speak your language
66
67English is the primary language of communication in this project. Please use only English when writing commit messages, PR descriptions, comments and other text. This does not apply to contributions to localization files.
68
69### Legal stuff
70
71Mind the license. Your contributions will be licensed under the GNU Affero General Public License. If you don't know what that implies, consult your lawyer.
4172
42## Use of AI coding assistance tools ("Vibe Coding")73## Use of AI coding assistance tools ("Vibe Coding")
4374