|
1 | 1 |
|
2 | 2 | # Start Contributing to Typelevel |
3 | 3 |
|
4 | | -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! A practical path that works well across most Typelevel repositories: |
| 4 | +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! |
| 5 | + |
| 6 | +Build something small with Cats Effect. Try streaming something with FS2. Use http4s for a simple service. Build with [Typelevel Toolkit](https://typelevel.org/blog/). Build a static site with Laika. |
| 7 | + |
| 8 | +> Become a user of the ecosystem you want to contribute to. |
| 9 | +
|
| 10 | +Also some tips that works well across most Typelevel repositories: |
5 | 11 |
|
6 | 12 | #### Find something that can be improved |
7 | | - - Look for open issues, especially those labeled `good first issue` or `help wanted`. |
8 | | - - Browse the curated [good-first-issues board](https://github.com/orgs/typelevel/projects/1/) |
9 | | - - If you're already using the library, improve something that bothered you. |
10 | | - - Documentation and tests are excellent starting points too. |
| 13 | +- Look for open issues, especially those labeled `good first issue` or `help wanted`. |
| 14 | +- Browse the curated [good-first-issues board](https://github.com/orgs/typelevel/projects/1/). |
| 15 | +- If you're already using the library, improve something that bothered you. |
| 16 | +- Documentation and tests are excellent starting points too. |
11 | 17 |
|
12 | 18 | #### Understand the problem first |
13 | | - - Read the issue carefully, understand the current implementation. |
14 | | - - Look for existing PRs or recent comments |
15 | | - - Check whether a solution was already proposed. |
| 19 | +- Read the issue carefully, understand the current implementation. |
| 20 | +- Look for existing PRs or recent comments. |
| 21 | +- Check whether a solution was already proposed. |
16 | 22 |
|
17 | 23 | #### Communication is Key |
18 | | - - Comment on the issue saying you'd like to work on it and briefly describe your idea or approach. |
19 | | - - Ask clarifying questions if anything is unclear. |
20 | | - - If the change is small, you can open a draft PR early to get feedback. |
| 24 | +- Comment on the issue saying you'd like to work on it and briefly describe your idea or approach. |
| 25 | +- Ask clarifying questions if anything is unclear. |
| 26 | +- If the change is small, you can open a draft PR early to get feedback. |
21 | 27 |
|
22 | 28 | #### Open a PR and iterate |
23 | | - - Fork the repo, create a branch, and implement the change. Add or update tests where appropriate. |
24 | | - - Open a PR with a clear description of the problem and your solution. Read the [Typelevel AI policy](https://typelevel.org/gsoc/ai.html). |
25 | | - - Expect review feedback, ask questions, adjust your changes, and iterate. |
26 | | - |
27 | | -#### Become a User First |
28 | | - |
29 | | -Build something small with Cats Effect. Try streaming something with FS2. Use http4s for a simple service. Build with [Typelevel Toolkit](https://typelevel.org/blog/). |
30 | | -A common piece of advice from the community is: |
31 | | - |
32 | | -> Become a user of the ecosystem you want to contribute to. |
| 29 | +- Fork the repo, create a branch, and implement the change. Add or update tests where appropriate. |
| 30 | +- Open a PR with a clear description of the problem and your solution. Read the [Typelevel AI policy](https://typelevel.org/gsoc/ai.html). |
| 31 | +- Expect review feedback, ask questions, adjust your changes, and iterate. |
33 | 32 |
|
34 | 33 | #### Where to Ask for Help |
35 | | - |
36 | | -- Join the [Typelevel Discord](https://discord.gg/typelevel-632277896739946517) |
| 34 | +- Join the [Typelevel Discord](https://discord.gg/typelevel-632277896739946517). |
37 | 35 | - Ask in `#starting-contributing` if you're new to contributing. |
38 | 36 | - Use library-specific channels like `#cats`, `#cats-effect`, `#fs2`, or `#http4s` for more focused questions. |
39 | 37 | - You can also ask directly on a GitHub issue if your question is specific to that issue. |
0 commit comments