Dev: Getting Started
We welcome contributions from everyone!
This guide explains how to fork the repo, prepare your branch, run repo-specific checks, and submit a pull request.
Prerequisites
- Git
- Node.js (supported version is
>=22.0.0) - Python 3.10+
- An active GitHub account
1. Fork and clone
Important
All contributions should be made against the dev branch, which is the main development branch for SD.Next.
Select branch
Dev: https://github.com/vladmandic/sdnext/tree/dev
Create fork
Create a fork of the repository on GitHub. In the top-right corner of the repository page, select Fork.
Clone your fork
Clone your fork locally:
git clone https://github.com/<your-username>/sdnext.git
cd sdnext
git checkout dev
Optional: Create a branch
Creating a feature branch is optional but recommended, especially if you plan to work on multiple PRs or want to keep your changes organized.
Tip
Good branch names are feature/your-feature-name or fix/issue-description.
Avoid generic names like my-changes or update-code.
git checkout -b my-feature-branch
2. Install dependencies
Install the project dependencies:
Tip
pnpm is recommended for faster installs, but default npm also works:
npm install
3. Make your changes
Edit only the files needed for your contribution. Avoid unrelated changes and do not include submodule updates unless they are part of your work.
4. Review your scope
Check the files you changed:
git status
Confirm that your branch includes only the intended changes and does not contain unrelated edits or submodule updates. If you see any unintended changes, you can reset them before committing.
5. Lint and validate
SD.Next has a comprehensive linting and validation workflow to ensure code quality. Run the following command to check your changes:
Run the project lint workflow before submitting your PR:
Important
Make sure to fix any linting errors before submitting your PR.
npm run lint
This command runs:
- precommit for formatting and pre-commit checks
- eslint for JavaScript/TypeScript linting
- tsc for TypeScript type checks
- ruff for Python linting
- pylint for Python static analysis
6. Commit and submit
- Commit your changes with a clear message
- Push your branch to your fork
- Open a PR against
dev.
Your PR will be reviewed and, once approved, merged into dev. Changes merged to dev are included in the next main release.