Contributing

How to contribute to the DevRail ecosystem – adding languages, submitting pull requests, and understanding the repo structure.

DevRail is an open ecosystem. Contributions are welcome, whether you want to add support for a new language, improve documentation, or fix bugs.

Getting Started

Before contributing, familiarize yourself with:

  1. The DevRail standards – understand the tooling conventions your contribution must follow
  2. The ecosystem structure – understand which repo to contribute to
  3. The pull request process – understand the workflow and CI expectations

Contribution Types

TypeWhere to ContributeGuide
Add a new languagedev-toolchain + devrail-standardsAdding a Language
Fix a bugThe repo where the bug existsPull Requests
Improve documentationdevrail.dev (this site)Pull Requests
Update a tool versiondev-toolchainPull Requests
Add a CI featuregithub-repo-template or gitlab-repo-templatePull Requests

Development Setup

To contribute to the devrail.dev documentation site:

# Clone the documentation site repository
git clone https://github.com/devrail-dev/devrail.dev.git
cd devrail.dev

# Install pre-commit hooks
make install-hooks

# Start the local development server
make serve

The site is available at http://localhost:1313/. Changes to content files are automatically reloaded.

Prerequisites

ToolPurposeInstall Guide
Hugo extendedBuild the documentation siteHugo Installation
Go >= 1.21Required for Hugo modulesGo Installation
DockerRun make checkDocker Installation
pre-commitGit hook managementpip install pre-commit

To contribute to other DevRail repos, the prerequisites are simpler – only Docker and Make are required, since all tools run inside the dev-toolchain container.

Contribution Guides


Adding a New Language

Step-by-step guide for adding a new language ecosystem to DevRail.

Submitting Pull Requests

Pull request workflow, conventional commits, CI expectations, and code review process.

Ecosystem Structure

Map of all DevRail repositories, their purposes, and how they relate to each other.