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!
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:
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.
To make following our standards easier, we made Kathari, a linting and formatting scripts for multiple types of projects.
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.
kleros-interaction - Arbitrable smart contracts and other contracts that can interact with Kleros.
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.
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-