A step-by-step guide to making your first pull request. Time estimate: 30-45 minutes (including setup).
Prerequisites: Complete the Development Guide setup first and verify the Onboarding Checklist passes.
Browse open issues and pick one tagged good first issue:
Comment on the issue to let others know you're working on it:
"I'd like to work on this!"
If an issue is already claimed, pick another one or ask in Discord for suggestions.
Make sure your fork's develop branch is up to date, then create a feature branch:
# If you haven't added upstream yet:
git remote add upstream https://github.com/rogerSuperBuilderAlpha/cursor-boston.git
# Update and branch
git checkout develop
git pull upstream develop
git checkout -b docs/fix-typo-in-readme # use type/short-descriptionBranch naming convention: type/short-description
feat/add-votingfor featuresfix/auth-redirectfor bug fixesdocs/update-api-referencefor documentation
For a first PR, keep it small. Good examples:
- Fix a typo in documentation
- Add a missing
alttext to an image - Improve an error message
- Add a test for an untested function
Before committing, make sure everything passes:
npm run lint # ESLint — must have zero warnings
npm run type-check # TypeScript — must compile cleanly
npm test # Jest — all tests must passAll commits require a Developer Certificate of Origin sign-off. Use the -s flag:
git add .
git commit -s -m "docs(readme): fix typo in quick start section"The -s flag adds a Signed-off-by: Your Name <your@email.com> line to the commit, certifying you have the right to submit the code under the project's license.
Commit message format (enforced by commitlint):
type(scope): short description
| Type | When to Use |
|---|---|
feat |
New feature |
fix |
Bug fix |
docs |
Documentation only |
style |
Formatting, whitespace (no logic change) |
refactor |
Code restructuring (no behavior change) |
test |
Adding or updating tests |
chore |
Tooling, dependencies, config |
git push origin docs/fix-typo-in-readmeThen on GitHub:
- You'll see a banner: "Compare & pull request" — click it
- Base branch: Change to
develop(notmain) - Fill out the PR template:
- Describe what you changed and why
- Reference the issue:
Closes #123 - Check the testing boxes
- Submit the PR
- CI runs automatically — lint, type-check, tests, security scan, build
- A maintainer reviews — typically within 1 week
- You may get feedback — requested changes are normal and expected. Push additional commits to the same branch
- Merge! — Once approved, a maintainer merges your PR into
develop
| Mistake | Fix |
|---|---|
Forgot -s on commit |
git commit --amend -s to add sign-off to the last commit |
PR targets main instead of develop |
Edit the PR on GitHub and change the base branch to develop |
| Pre-commit hook rejects commit | Run npm run lint and npm run type-check to see errors, fix them, and try again |
| Commit message rejected by commitlint | Use the format type(scope): description — see the types table above |
Merge conflicts with develop |
git checkout develop && git pull upstream develop && git checkout your-branch && git rebase develop |
- Discord: discord.gg/Wsncg8YYqc — ask in the #development channel
- GitHub Issues: Comment on the issue you're working on
- Email: hello@cursorboston.com
Welcome to Cursor Boston! We're glad you're here.