Skip to main content

Becoming involved

conda-forge is a community-driven effort of cross-platform packaging and relies on volunteers to sustain and improve.

We encourage you to contribute to conda-forge. You can do so in several ways:

Improve the website

The conda-forge website is version-controlled in the repository on GitHub. It is built with Docusaurus.

Website repository structure


While most of the content is written with Docusaurus' Markdown (*.md files), some specific pages and sections include dynamic blocks (*.mdx files) or are straight JSX files (*.jsx files). This allows you to mix Markdown and JavaScript/React in the same document, depending on the file extension. In MDX mode, the parser is much stricter though. Read more about in the "MDX and React" docs from Docusaurus.

Docs & Community

  • These two sections use plugin-content-docs.
  • The Docs section corresponds to the /docs directory. Most of the pages use regular Markdown (*.md), but some are dynamic pages with some JavaScript (*.mdx).
  • The Community section comes from the /community directory.

News & blog

  • These two sections use plugin-content-blog.
  • The News section comes from the /news directory. It is considered a changelog of important changes in our infrastructure and packages.
  • The Blog section corresponds to the /blog directory. It usually discusses important updates from the extended ecosystem.

Standalone pages and sections

  • These rely on plugin-content-pages.
  • They can be simple Markdown pages or more elaborate React applications.
  • Find them under /src/pages. MDX and JSX pages will usually call components defined in /src/components.

Editing the documentation directly through Github

You can propose quick edits directly through the GitHub website if you have a GitHub account — for instance, this link will take you directly to a web-based editor for this very webpage. In general, the file corresponding to each page in the GitHub browser has a little pencil icon in its top-right corner that lets you open it up for editing.

Editing the documentation locally

We are glad to know that you would like to contribute to the conda-forge documentation. If you are new to the conda-forge community, follow the steps below to make your first contribution:

  1. Fork the repository.
  2. Clone this fork onto your local machine:
    git clone<your-username>/
  3. Create a new branch deriving from main to do your work:
    git checkout -b <new-branch-name>
  4. Run the following commands:
    conda env create -f ./.ci_scripts/environment.yml
    conda activate conda-forge-docs
  5. While writing your new documentation, you can use the live preview mode with:
    • npm install to make sure node_modules is up-to-date
    • npm run start to start the live preview. Every time you save a file, the changes will be reflected instantaneously.
  6. Once ready, you can also check how the production build would look like with the commands:
    python -m http.server --directory build/
  7. Add and commit your changes:
    git add .
    git commit -m "your commit message"
  8. Submit a pull request to the main repository proposing your changes. The CI pipelines will include a PR preview on Netlify.

Happy contributing!

Writing guidelines

Some basic writing guidelines should be kept in mind before you start contributing:

  1. Identify your audience and understand their skill level.
  2. Match the technical language with the audience's skill level proficiency.
  3. Try to keep it simple. In case you have to use a lot of complicated terms, provide a glossary of key terms.
  4. Address the audience directly as the user(s).
  5. While mentioning an action, use the "command" form of the verb: "Choose an option from the menu and press Enter."
  6. For references, provide links to related content.
  7. Use headings and bullet points, which makes it easier to read.
  8. Avoid ambiguous titles. The title should include a clear description of the page's subject.
  9. Check your spellings and grammar.
  10. conda-forge should always be spelt in lowercase, hyphenated, and without backticks. It should only be backticked when used as an identifier (e.g. the channel, the Github organization, etc).