If you don't know our stack (F#)
F# can be a little bit daunting, but even if you don't know them, there are a bunch of ways to get involved.
Other languages
Darklang has a number of different languages, including Rust, bash, Python, Javascript, HTML, and CSS.
We have issues in each of these:
Non-code
Lots of times we don't know what to do, and it's extremely valuable to have someone look into the problem and document what's happening. These issues are labeled "investigation".
Similar, the "needs thought" issue is about designing thoughtful solutions to sticky problems.
Writing docs
There are lots of docs that would be very helpful to write. If you look at the current docs, there are docs that would be useful that you can write as a non-expert.
There are a bunch of tutorials for different technologies, frameworks and libraries; writing one for another would be extremely useful. It would also allow you to write up how Darklang could be improved to support that technology. You can even make video tutorials!
Similarly, we have some guides for people learning Darklang who know other languages. Adding another language would be wonderful. See for example the Python version.
Reporting bugs
Darklang has many bugs and problems: documenting them for other contributors to fix would be very useful. Small, compact descriptions with instructions to reproduce the bugs are very welcome. You can add them to the issue tracker.
Fluid editor
The "fluid" editor is how you write code in Darklang. It is still often the case that you get an unexpected result when you type something: documenting individual cases as issues is very valuable!
Better error messages
Darklang's error messages are not as good as they could be, and this is a real problem for users learning the language the first time. Documenting a bad error message, especially with a suggested better version, is a really useful contribution.
Learning F#
Darklang is almost everybody's first F# project. So if you don't know these two similar languages, join the club - we all learned as we contributed to Darklang. Fortunately, they are very similar to Darklang.
There are a number of resources to help as well:
- A guided walkthrough of making your first PR
- good first bugs assume you don't know anything about F#
Also, some bugs, especially our initiatives, require almost no F# knowledge, despite the fact that they are in those parts of the codebase. People with no prior exposure to them should be able to make a useful change to one of these in very little time.