This page is a combination walk through guide and list of links meant to help new developers become acquainted with the Galaxy development ecosystem and how to contribute in a wide variety of ways.
Once familiar with Galaxy, every developer should write at least one Galaxy tool - it is the most common way to extend Galaxy with new functionality. A "tool" wraps an external application, script, or shell command - describing both the user interface and how to translate it into a command-line via a simple XML file.
In addition to the Galaxy core project and tool projects listed above - there are many open source projects related to Galaxy that would welcome contributions - many but certainly not all of them can be found on the galaxyproject landing page on github. Many more are in the following list (the Issues pages of these projects offer many great ways to contribute to the Galaxy ecosystem).
- bioblend - The Python client for the Galaxy and CloudMan APIs. Documentation, Issues
- Docker Galaxy Stable - A base Docker image providing a production platform for tool development. Documentation, Issues
- planemo - A Click based Python CLI toolkit to aid Tool developers. Contribution Guide, Documentation, Issues
- CloudMan - An infrastructure for creating compute clusters on cloud computing infrastructure. Issues
- blend4j - The Java client for the Galaxy and API. JavaDocs, Issues
- Refinery Platform - a data management, analysis and visualization system for bioinformatics and computational biology applications built in part on Galaxy workflow engine. Documentation, Issues
- pulsar - A distributed job execution application built for Galaxy. Contribution Guide, Documentation, Issues
- Puppet Galaxy - Community maintained roles for managing Galaxy via Puppet.
- Devteam managed ansible projects related to managing Galaxy servers.
- Ansible Galaxy - Core role for deploying Galaxy.
- CloudMan Playbook - Ansible and Packer components for building a CloudMan server.
- Ansible Galaxy OS - Ansible role for configuring the base operating system dependencies useful for Galaxy servers.
- Ansible PostgreSQL Ansible role for configuring PostgreSQL (used on usegalaxy.org).
- https://github.com/jmchilton/planemo-machinelPlanemo Machine Ansible and Packer components useful for building development virtual machines.
- https://github.com/galaxyproject/ansible-galaxy-extraslAnsible Galaxy Extras Ansible role for configuring dynamic production servers such as Docker images and cloud-based virtual machines (used by planemo-machine and docker-galaxy-stable).
- Ansible CloudMan Image Ansible role for configuring an Ubuntu operating system for CloudMan.
- https://github.com/galaxyproject/ansible-tracksterlAnsible Trackster Ansible role for configuring Trackster dependencies.