We use cookies to understand how the site is used and to display ads. Analytics and advertising only run after you accept. You can change your choice anytime. Privacy policy

Skip to content
devvkit
$devvkit contribute --field-guide

Contribute to Open Source

A field guide for contributing to projects you don't own - and launching ones you do

Find your next project in the live browser below, then follow a pathway to your first pull request - or to a project of your own. Guides, licensing, templates, and tools in one place. Free, no sign-up.

devvkit itself is not open source - this hub teaches you to contribute to any open source project.

Events & Programs

The seasonal rhythms of open source - internships, celebrations, and recognition cycles where contributors get paid, swag, and names on the wall.

Today's Curated First Issues

hand-picked daily
$
godotengine/godotbeginner

Engine UX, docs, and test-coverage improvements

Massive, welcoming game-engine community with a dedicated good-first-issue tracker and clear contribution docs; GDScript and C# work with mentored reviews.

$
facebook/reactintermediate

Small bug fixes and developer-experience polish across the renderer

One of the largest JS codebases on Earth; issues are scoped and labeled, with maintainers who give precise, educational review feedback.

$
withastro/astrobeginner

Syntax-highlighting and integration fixes in the web framework

Friendly "good for newcomers" program with a Discord #contribute channel; TypeScript-first and issues ship with explicit guidance.

$
typst/typstintermediate

Compiler diagnostics and scripting-feature improvements

Fast-growing Rust + scripting typesetting engine with a curated good-first-issue list; great for learning compiler and language-design fundamentals.

$
sympy/sympybeginner

Type annotations and symbolic-math simplifications

Classic Python math library with an "Easy to Fix" queue mapped to good-first-issue; ideal for first-time contributors who know Python.

$
microsoft/vscodebeginner

Editor UX fixes - labels, icons, and accessibility polish

Huge, well-triaged good-first-issue queue with explicit contribution docs; TypeScript-first and reviews come with precise guidance.

$
rust-lang/rustintermediate

Compiler diagnostics and documentation improvements

The Rust team maintains a curated good-first-issue list for beginners; mentoring is legendary and a merge here stands out on a resume.

$
freeCodeCamp/freeCodeCampbeginner

Curriculum and documentation updates - always room for one more

The friendliest large community on GitHub. Docs-only contributions, welcoming maintainers, and merges that show up fast on your graph.

$ Curated by a human, refreshed every day. Dead link? File an issue and we will fix it within 24h.

$

Find Your Next Project

live
//Browse Open Source ProjectsLive from GitHub
>
filters

Select a language or search to find projects

Results show repos with open “good first issue” labels

$ Fetched through the devvkit proxy: cached server-side, rate-limit safe. Filters: stars, activity, license · sorted by stars · results with open good-first-issue labels.

Quick Start

Full open source contribution cycle in 8 commands. Install gh and you are ready.

# 1. Find a good first issue
gh search issues --repo=vercel/next.js --label="good first issue" --limit=10

# 2. Fork and clone
gh repo fork owner/project --clone
cd project

# 3. Create a branch
git switch -c fix/issue-42

# 4. Make changes, then commit
git add .
git commit -m "fix: resolve login redirect loop"

# 5. Push and create PR
git push -u origin fix/issue-42
gh pr create --fill

# 6. After merge, sync
git switch main
git pull upstream main

Launchpad Tools

(3 tools)

Interactive tools that take you from idea to merged PR. All client-side, free, no sign-up.

Template Vault

(4 files)

The files every serious project ships. Copy, adapt, commit - or generate all of them with your project details, and read the licensing guide before you add a LICENSE.

CONTRIBUTING.md
# Contributing to <project>

Thanks for taking the time to contribute!

## Getting started

1. Read the README and run the project locally (`npm ci && npm run dev`).
2. Look for issues labeled `good first issue` - they are scoped and newcomer-safe.
3. Comment on the issue you want to work on so maintainers know it is taken.

## Branch & commit conventions

- Branch names: `fix/description`, `feat/description`
- Commits follow [Conventional Commits](docs site): `fix:`, `feat:`, `docs:`, ...
- Keep changes small and focused. One issue = one PR.

## Making a pull request

1. Fork the repo and create your branch.
2. Write tests for your change (we run coverage in CI).
3. Run `npm test` and `npm run lint` - both must pass.
4. Open the PR against `main` and fill out the template.
5. A maintainer will review within 48 hours. Push fixes as new commits.

## Code of conduct

All contributors must follow our Code of Conduct. Please treat others with
respect - maintainers and contributors are volunteers.
PULL_REQUEST_TEMPLATE.md
## What does this PR do?

<!-- One or two sentences. What changed and why. -->

Fixes #<issue-number>

## How was it tested?

- [ ] Unit tests written/updated
- [ ] Local run verified (`npm run dev`)
- [ ] Lint & type-check pass

## Checklist

- [ ] Commit messages follow Conventional Commits
- [ ] No unrelated changes in this PR
- [ ] Docs updated if behavior changed

## Screenshots (if UI change)

<!-- Optional -->
ISSUE_TEMPLATE / bug_report.yml
name: Bug report
description: Report a bug to help us improve
labels: [bug]
body:
  - type: textarea
    id: description
    attributes:
      label: Description
      description: What happened vs what you expected.
    validations:
      required: true
  - type: input
    id: version
    attributes:
      label: Version
      description: Package version or commit SHA you are on.
    validations:
      required: true
  - type: textarea
    id: steps
    attributes:
      label: Steps to reproduce
      description: Minimal reproduction steps or a link to a repro repo.
    validations:
      required: true
  - type: textarea
    id: environment
    attributes:
      label: Environment
      description: OS, Node version, browser, etc.
SECURITY.md
# Security Policy

## Reporting a vulnerability

Please do **not** open a public issue. Report privately:

- Email: security@example.com (PGP key: <link>)
- Or: GitHub private vulnerability reporting
  (Repos → Settings → Security → Private vulnerability reporting)

Include: affected version, steps to reproduce, and impact.

## Response time

- Acknowledgment: within 48 hours
- Triage: within 7 days
- Fix release: as soon as a patch is ready; we coordinate disclosure

## Supported versions

| Version | Supported |
| ------- | --------- |
| latest  | yes       |

Older versions receive security fixes on request when the fix is low-risk for
all consumers to upgrade.

The OSS Stack

(7 tools)

The release discipline of modern open source: automated versions, honest commits, and a healthy issue tracker - the machinery every top project runs on.

Pathways

(pick yours)

Also Available

Your GitHub is Your Resume

Hiring managers look at your GitHub before your resume. A profile with consistent, quality contributions across diverse projects speaks louder than any degree or certification. And one well-run project of your own speaks louder than a hundred contributions.