Skip to content

Latest commit

 

History

History
37 lines (27 loc) · 2.07 KB

File metadata and controls

37 lines (27 loc) · 2.07 KB

Start Contributing to Typelevel

Typelevel projects power a large part of the functional Scala ecosystem. They are also complex, long-lived codebases with active communities. Contributing can feel intimidating at first, but the path in is actually quite simple!

Build something small with Cats Effect. Try streaming something with FS2. Use http4s for a simple service. Build with Typelevel Toolkit. Build a static site with Laika.

Become a user of the ecosystem you want to contribute to.

Also some tips that works well across most Typelevel repositories:

Find something that can be improved

  • Look for open issues, especially those labeled good first issue or help wanted.
  • Browse the curated good-first-issues board.
  • If you're already using the library, improve something that bothered you.
  • Documentation and tests are excellent starting points too.

Understand the problem first

  • Read the issue carefully, understand the current implementation.
  • Look for existing PRs or recent comments.
  • Check whether a solution was already proposed.

Communication is Key

  • Comment on the issue saying you'd like to work on it and briefly describe your idea or approach.
  • Ask clarifying questions if anything is unclear.
  • If the change is small, you can open a draft PR early to get feedback.

Open a PR and iterate

  • Fork the repo, create a branch, and implement the change. Add or update tests where appropriate.
  • Open a PR with a clear description of the problem and your solution. Read the Typelevel AI policy.
  • Expect review feedback, ask questions, adjust your changes, and iterate.

Where to Ask for Help

  • Join the Typelevel Discord.
  • Ask in #starting-contributing if you're new to contributing.
  • Use library-specific channels like #cats, #cats-effect, #fs2, or #http4s for more focused questions.
  • You can also ask directly on a GitHub issue if your question is specific to that issue.