All Projects → src-d → Lookout

src-d / Lookout

Licence: agpl-3.0
Assisted code review, running custom code analyzers on pull requests

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Lookout

Python sec
python安全和代码审计相关资料收集 resource collection of python security and code review
Stars: ✭ 921 (+557.86%)
Mutual labels:  code-review
Git Autofixup
create fixup commits for topic branches
Stars: ✭ 63 (-55%)
Mutual labels:  code-review
Feram
Feram finds & fixes bugs in your commits
Stars: ✭ 122 (-12.86%)
Mutual labels:  code-review
Code Review Tips
🔬 Common problems to look for in a code review
Stars: ✭ 861 (+515%)
Mutual labels:  code-review
Code Review Emoji Guide
An emoji legend to help convey intention and added meaning in code review comments.
Stars: ✭ 52 (-62.86%)
Mutual labels:  code-review
Cargo Crev
A cryptographically verifiable code review system for the cargo (Rust) package manager.
Stars: ✭ 1,268 (+805.71%)
Mutual labels:  code-review
Danger
🚫 Stop saying "you forgot to …" in code review (in Ruby)
Stars: ✭ 4,691 (+3250.71%)
Mutual labels:  code-review
Nodejsscan
nodejsscan is a static security code scanner for Node.js applications.
Stars: ✭ 1,874 (+1238.57%)
Mutual labels:  code-review
Code Review Bot
Code review bot and CLA verifier
Stars: ✭ 67 (-52.14%)
Mutual labels:  code-review
Reviewbot
A tool for running automated static analysis on code posted to a Review Board instance.
Stars: ✭ 99 (-29.29%)
Mutual labels:  code-review
Moderncppchallengestudy
2018년 하반기에 진행하는 모던 C++ 문제 풀이 스터디 관련 자료입니다.
Stars: ✭ 29 (-79.29%)
Mutual labels:  code-review
Bad Commit Message Blocker
Inhibits commits with bad messages from getting merged
Stars: ✭ 48 (-65.71%)
Mutual labels:  code-review
Ruby Saddler
Stars: ✭ 93 (-33.57%)
Mutual labels:  code-review
Java Concurrency
Checklist for code reviews
Stars: ✭ 842 (+501.43%)
Mutual labels:  code-review
Vscode Pull Request Github
GitHub Pull Requests for Visual Studio Code
Stars: ✭ 1,769 (+1163.57%)
Mutual labels:  code-review
Audit Learning
记录自己对《代码审计》的理解和总结,对危险函数的深入分析以及在p牛的博客和代码审计圈的收获
Stars: ✭ 750 (+435.71%)
Mutual labels:  code-review
All About Code Review
This is a curated list of resources about code reviews: articles, tools, trainings...
Stars: ✭ 80 (-42.86%)
Mutual labels:  code-review
Gerrit Rest Java Client
Java REST client for Gerrit Code Review
Stars: ✭ 133 (-5%)
Mutual labels:  code-review
Owasp Orizon
Owasp Orizon is a source code static analyzer tool designed to spot security issues in Java applications.
Stars: ✭ 130 (-7.14%)
Mutual labels:  code-review
Reviewboard
An extensible and friendly code review tool for projects and companies of all sizes.
Stars: ✭ 1,334 (+852.86%)
Mutual labels:  code-review
source{d} Lookout

Service for assisted code review, that allows running custom code Analyzers on pull requests.

GitHub version Build Status Development Code Coverage Go Report Card GoDoc

WebsiteDocumentationBlogSlackTwitter

Introduction

With source{d} Lookout, we’re introducing a service for assisted code review, that allows running custom code analyzers on pull requests.

Jump to the Quickstart section to start using it!

Table of Contents

Motivation and Scope

source{d} is the company driving the Machine Learning on Code (#MLonCode) movement. Doing Machine Learning on Code consists of applying ML techniques to train models that can cluster, identify and predict useful aspects of source code and software repositories.

source{d} Lookout is the first step towards a full suite of Machine Learning on Code applications for AI-assisted coding, but you can also create your own analyzers without an ML approach.

The benefits of using source{d} Lookout are:

  • Keep your code base style/patterns consistent.
  • Language agnostic assisted code reviews.
  • Identify where to focus your attention on code reviews.
  • Automatically warn about common mistakes before human code review.

Current Status

Currently, source{d} Lookout is in development process.

Further Reading

This repository contains the code of source{d} Lookout and the project documentation, which you can also see properly rendered at https://docs.sourced.tech/lookout.

Quickstart

There are several ways to run source{d} Lookout; we recommend to use docker-compose because it's straightforward, but you can learn more about the different ways to run source{d} Lookout.

Please refer to the Configuring source{d} Lookout guide for documentation about the config.yml file, and to know how to configure source{d} Lookout to analyze your repositories, or to use your own analyzers.

There is docker-compose.yml config file for Docker Compose to start source{d} Lookout, its dependencies (bblfsh and PostgreSQL) and a dummy analyzer which will add some stats to the watched pull requests.

To do so, clone this repository or download docker-compose.yml directly.

Create the config.yml file in the same directory where docker-compose.yml is. You can use config.yml.tpl as a template. Make sure that you specify in the config.yml the repositories that will be watched by source{d} Lookout. Then run, passing a valid GitHub user/token:

$ docker-compose pull
$ GITHUB_USER=<user> GITHUB_TOKEN=<token> docker-compose up --force-recreate

Once it is running, source{d} Lookout will start posting the comments returned by dummy analyzer into the pull requests opened at GitHub in the repositories that you configured to be watched.

You can stop it by pressing ctrl+c

If you want to try source{d} Lookout with your own analyzer instead of dummy one, you must run it in advance, then set it into config.yml and then run:

$ docker-compose pull
$ GITHUB_USER=<user> GITHUB_TOKEN=<token> docker-compose up --force-recreate lookout bblfsh postgres

If you need to reset the database to a clean state, you should drop the postgres container. To do so, stop running source{d} Lookout with ctrl+c and then execute:

$ docker rm lookout_postgres_1

Available Analyzers

This is the list of the known implemented analyzers for source{d} Lookout:

Name Description Targeted files Maturity level
style-analyzer Code style analyzer development
terraform Checks if Terraform files are correctly formatted Terraform usable
gometalint Reports gometalinter results on pull requests Go testing and demo
sonarcheck Reports SonarSource checks results on pull requests using bblfsh UAST Java testing and demo
flake8 Reports flake8 results on pull requests Python testing and demo
npm-audit Reports issues with newly added dependencies using npm-audit JavaScript development
function-name analyzer Applies a translation model from function identifiers to function names. development

Create an Analyzer

If you are developing an Analyzer, or you want more info about how they work, please check the documentation about source{d} Lookout analyzers.

Contribute

Contributions are more than welcome, if you are interested please take a look at our Contributing Guidelines.

Community

source{d} has an amazing community of developers and contributors who are interested in Code As Data and/or Machine Learning on Code. Please join us! 👋

Code of Conduct

All activities under source{d} projects are governed by the source{d} code of conduct.

License

Affero GPL v3.0 or later, see LICENSE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].