Overview

Welcome to the contribution guide for all software pertaining to Kleros.

How to contribute?

The purpose of these guidelines is to serve as a living contribution and collaboration guide for all our projects.

Everyone, not just Kleros team members, is welcome to participate in its writing and editing. We are always looking to enhance and improve our processes so we can decentralize justice faster!

Table of Contents

This guide is a compilation of years of experience in the fields of traditional software engineering, and smart contract and financial software auditing. We've broken it down into three parts:

General Workflow

Smart Contract Workflow

Code Style & Guidelines

License & Code of Conduct

General process and standards for writing and pushing software.

Smart contract specific security protocols.

Stylistic guidelines for our main languages and tools.

Our standard license and conduct guidelines.

Kathari CLI [Deprecated]

To make following our standards easier, we made Kathari, a linting and formatting scripts for multiple types of projects.

Kathari means "Clean" in Greek.

It's a CLI that can easily be integrated into new projects to provide automatic linting and formatting that adheres to our standards on everything from code to git commit messages.

It's based on very popular open source technologies so there are integrations for all of the most popular text editors and IDEs.

Main Repos

Referencing This Guide

All of our projects' CONTRIBUTING.md files should link to this page, but they can also specify their own project-specific guidelines in that same file.

This site is maintained at github.com/kleros/CONTRIBUTING.md and hosted at contributing.kleros.io!

The rules in this guide are meant to be followed as much as possible, but should not override common sense.

The golden rules is that there are no golden rules.

-George Bernard Shaw-