How can I contribute to Elixir projects?

Hello, i’m Romario Lopez. I have been learning/playing with elixir in the past 3 months and i really like it, the community, forums, tutorials, books, etc.

I want to contribute to this programming language or another libraries that are very useful, but where do i start?. Do i need to learn metaprogramming by Chris Mccord?

Does someone have a roadmap? How do i start contributing to open source projects in elixir?

Maybe there are a lot of newcomers that have a lot of ideas and only they need a push to become one of the elixir’s core team!

Thanks

6 Likes

There are so many ways to get involved. Start with the libraries you are already using, and find them on Github. Take a look at the open issues, try to reproduce the problems, and report your findings. Read through the docs, and look for things that can be improved. Browse through the list of (closed) pull requests to see what kind of changes get accepted. Get used to reading the source code!

8 Likes

Also, hang out in the Elixir Slack and see what kinds of questions people have. Try to answer them yourself using the docs and source code. Sometimes people’s questions or comments will give you an idea about how to improve the library they are asking about.

5 Likes

Thanks, will do!

1 Like

Building on that, docs are really a great place to start. I’m a huge fan of doctesting so whenever I read docs, especially core elixir, and wished there were doctests I make a mental not of PRing those. Small, effective, helps lots of people and maintainers appreciate them. Most of my elixir-lang PRs have been of that kind :slight_smile:

6 Likes

Also we have the missing libs thread setup where the community can add ideas for new libraries that are currently not available in the elixir ecosystem.

5 Likes

Credo is always looking for newcomers to contribute to the codebase. We also try to keep an up-to-date list of “Help wanted” issues on GitHub: https://github.com/rrrene/credo/issues

2 Likes

Hi Romario,
If you are interested in contributing to Elixir itself, I just wrote a guide about that. :smiley:
How to Contribute to Elixir: A Step-by-Step Guide

6 Likes

A nice tip to add to the blog, at least for Linux users is:

export PATH=$PWD/bin:$PATH 

Without exporting the local bin to the PATH, any changes we make to the code will not make any effect.

So changing some code in a Mix task and then doing make compile followed by ./bin/mix local.hex will use the installed mix on the host, instead of the one in ./bin/mix, and this is because of the shebang in the file ./bin/mix:

#!/usr/bin/env elixir
Mix.start
Mix.CLI.main