Thanks — I’ll walk you through the common, safe workflow for contributing code to
https://github.com/livekit/server-sdk-go. Below are concise, step-by-step instructions you can follow whether you’re submitting a small fix or a larger feature.
1) Decide where to work
• If you are a repository collaborator with push access, you can create a branch directly on the repo.
• If you don’t have push access, fork the repository to your GitHub account first (use the Fork button on the repo page).
2) Clone the repo (fork or upstream)
• For a fork:
a. Clone your fork:
git clone
https://github.com/<your-username>/server-sdk-go.git
1. Add the original LiveKit repo as upstream (to keep in sync):
cd server-sdk-go git remote add upstream
https://github.com/livekit/server-sdk-go.git
• If you have direct push access, clone the main repo instead:
git clone
https://github.com/livekit/server-sdk-go.git
3) Create and switch to a new branch
• Use a descriptive branch name for your work:
git checkout -b fix/<short-description> or git checkout -b feat/<short-description>
4) Make your changes locally
• Edit files, run tests, update docs as needed.
• Keep commits small and focused. Use clear commit messages (one line summary + optional body).
5) Run the project’s tests and linters
• Run any existing test suite, linters, or formatters used by the project to avoid failing CI.
• If the repo uses Go modules, typical commands:
go test ./... go vet ./...
• Fix any issues found before committing.
6) Stage and commit your changes
• Stage files:
git add <files>
• Commit with a clear message:
git commit -m "short: concise summary" -m "longer description if needed"
7) Rebase or sync with upstream (recommended)
• If you forked, fetch upstream changes and rebase to keep history clean:
git fetch upstream git rebase upstream/main
• Resolve any conflicts, test again, then continue rebase:
git rebase --continue
8) Push your branch to GitHub
• For a fork:
git push origin <your-branch-name>
• For direct repo:
git push origin <your-branch-name>
9) Open a Pull Request (PR)
• Go to GitHub, open a PR from your branch to
livekit/server-sdk-go
(target branch usually
main
).
• Provide a clear title and description: explain what you changed, why, and any testing steps.
• Link any relevant issues or discussion.
10) Address review feedback
• Monitor comments, make requested changes on your branch, commit, and push. The PR updates automatically.
• When approved and CI passes, the maintainers will merge.
11) Keep your fork up to date (if applicable)
• Periodically sync:
git fetch upstream git checkout main git merge upstream/main git push origin main
Helpful tips
• Check the repository README and CONTRIBUTING.md for any repo-specific rules (branch naming, commit conventions, code style, or required checks).
• If your change is large, start a draft PR or open an issue first to discuss design with maintainers.
• Run `go fmt`/`gofmt` to keep formatting consistent.
If you’d like, tell me:
• Whether you have push access or will fork,
• The change you plan to make (bugfix, feature, docs), and
I’ll give targeted commands or a short checklist tailored to that scenario.