Contribute to Stencila

Stencila is an open-source, community-driven project. We encourage and welcome contributions from all community members. There are a number of ways you can contribute. On this page we'll guide you through them.

Develop Stencila

If you're a Javascript developer, a UX designer, or someone who just wants to help improve Stencila's users interfaces, contribute to the Stencila user interface repo, or the Stencila Desktop application.

If you are interested in helping with Stencila interoperability with existing tools and file formats used for data analysis, check out Stencila Converters.

If you want to make Stencila available online, to support efficient sharing and collaboration, have a look at Stencila Hub and Stencila Cloud. Working on this source code will be particularly interesting for those who are into cloud computing, Docker and Kubernetes.

If you would like to improve functionality of using Python from within Stencila, check the Stencila for Python. And if you are an R developer, have a look at Stencila for R . Likewise the Stencila for Node.js package for Javascript developers. The usage of external languages and libraries in Stencila is enabled through Stencila Docker images.

Document Stencila

We will be honest here. We are guilty of Stencila documentation requiring more love and attention. Your help would be much appreciated! You can simply go to the documentation pages and click the ✎ Edit button.

You will be taken to the editor (within GitHub repository - if you don't know what it means, don't worry, just keep editing). In the editor, simply make the changes you think should be there. Then, in the text box at the bottom (under Commit changes), put in a short note on what you did and click the button Submit changes.

We also welcome and very much need help documenting the source code. Please send us pull requests or simply get in touch if you'd like to improve source code documentation.

Share your data manipulation code

If you develop code for data manipulation (in Python, R, and other languages), you may be interested in making your data manipulation code available through domain-specific libraries. Alternatively, you can help out with expanding Stencila Core Library which comes with the basic Stencila installation and is implemented in JavaScript.