Codelingo is a Platform as a Service (PaaS) for software development teams to solve software development problems. It treats your software as data and automates your workflows, called Flows, with the rules and patterns you define, called Tenets.
Test out writing a Tenet and running a Flow online with zero installs using the CodeLingo playground - it's easier than you think!
GitHub Review Flow
After installing CodeLingo on GitHub, write the following codelingo.yaml to the root of your repository:
# codelingo.yaml file tenets: - import: codelingo/go
You're done! Every pull request to your repository will now be checked against the Go Tenet Bundle we imported above.
Other Tenet Bundles (including for other languages) from the community can be found at codelingo.io/tenets.
Local Review Flow
To run the Review Flow against repositories on your local machine, install the lingo CLI and set it up with the following commands:
# Run this command from anywhere. Follow the prompts to set up Codelingo on your machine. $ lingo config setup # Run this command inside a git repository to add a default codelingo.yaml file in the current directory. $ lingo init
Replace the content of the codelingo.yaml file we wrote above with:
tenets: - import: codelingo/go
You can now run the Review Flow to check your source code against the Go Tenet Bundle we imported above.
# Run this command from the same directory as the codelingo.yaml file or any of its sub directories. $ lingo run review
Getting Started Guide
A step by step guide to getting started with Tenets and Flows:
The CodeLingo platform has two key concepts: Tenets and Flows.
A Tenet is an encoded project specific best practice used to guide development. A Tenet can be used for: coding styles, performance tuning, security audits, debugging, avoiding gotchas, reducing complexity and churn, and more.
A Flow is an automated development workflow that leverages Tenets to do some task, for example automating code reviews. While a Tenet lives next to your code in a codelingo.yaml file, it is inert until a Flow uses it.