Blame Raw Code Preview
· · · 0 lines (4.7 KB)
0 contributors

How to contribute to SillyTavern

Setting up the dev environment

  1. Required software: git and node.
  2. Recommended editor: Visual Studio Code.
  3. You can also use GitHub Codespaces which sets up everything for you.

Getting the code ready

  1. Register a GitHub account.
  2. Fork this repository under your account.
  3. Clone the fork onto your machine.
  4. Open the cloned repository in the code editor.
  5. Create a git branch (recommended), review the git book if you haven't.
  6. Make your changes and test them locally.
  7. Commit the changes and push the branch to the remote repo.
  8. Go to GitHub, and open a pull request, targeting the appropriate upstream branch.

Contribution guidelines

Maintain code quality

Our standards are pretty low, but make sure the code is not too ugly:

Use the correct target branch

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.

You can still send a pull request for release in the following scenarios:

Project maintainers will test and can change your code before merging. To keep our workflow smooth, please ensure the following:

Make contributions small and testable

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. For example:

Provide clear descriptions of your changes

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:

We (likely) don't speak your language

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.

Legal stuff

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.

Use of AI coding assistance tools ("Vibe Coding")

We do not prohibit nor encourage the use of AI tools for coding assistance to help you write code, documentation, etc. This includes specialized IDEs, plugins and add-ons, chat interfaces, etc. However, please keep in mind the following:

Further reading

  1. How to write UI extensions
  2. How to write server plugins