wasp/CONTRIBUTING.md
2023-11-25 13:05:01 +01:00

4.1 KiB

Contributing to Wasp

Wasp's compiler is built with Haskell and under the hood it generates a web application in React and NodeJS. Given that, there are several ways in which you can contribute:

Before you begin

  • Check out the Getting Started guide to get familiar with Wasp's fundamentals. Ideally, you'd also build an app from the Pick a Tutorial page to really get a feel for it!
  • Figure out what you'd like to help with. It can be code, documentation, tutorials, etc. More on this is below.
  • Join our Discord Discord for faster communication and feedback. We'd be happy to help you find the issue you'll enjoy working on, depending on your interests and skill set!
  • Below you can find links to the good first issues. If you'd like to filter the issues on your own — please, use this link

Let's jump right in!

Wasp compiler/CLI/LSP internals

Wasp compiler is implemented in Haskell, but you will also see a lot of Javascript and other web technologies because Wasp compiles it's own code into them.

While you will need to know some Haskell, you don't have to be an expert in Haskell to contribute or understand the code since we don't use complicated Haskell features much -> most of the code is relatively straightforward, and we are happy to help with the part that is not.

Check the Wasp compiler README for all the detailed instructions and guides.

Haskell-related issues for beginners can be found here.

Feel free to contact us via Discord to ask for an appropriate issue for yourself, or just open a new one if you have something specific in mind and it isn't already there!

Wasp as a web framework

Wasp is a language for developing full-stack web apps. This means there are plenty of tasks related to web development itself.

Web dev issues for beginners can be found here.

Tutorials or Example apps

Another great way to help is to create an app with Wasp! We have an Examples section on our website, as well as the Tutorials page. Both of them can be improved and updated with your projects.

All that's required is to create an app. And make a tutorial or a blog post to help other people reproduce your work. Some prominent examples are: Waspello, Waspleau, It Wasps on My Machine and To-Do app.

Or you can re-build your existing pet project with Wasp. That would be cool!

Documentation & Blog

It may sound like the simplest one, but it's super valuable! If you've found an issue, a broken link or if something was unclear on our website - please, feel free to fix it :)

Please make sure to base your feature branches and PRs on the release branch instead of main, since that's the one that is deployed to the website.

Documentation issues for beginners can be found here.

If you'd like to write a blog post about Wasp, please contact us via Discord to discuss the topic and the details.

Happy hacking!