Be a code Superhero
Your code - made perfect
Find and fix mistakes before they reach your codebase
Apply your coding standards and code style to every commit
Run quality checks on CI, when you push, on your laptop...

What Sidekick does for you

Always meets your coding standards.
We lint your code (check it has no coding defects)
We check your code for security violations
We check that your code meets your coding style
We check your dependencies are up to date
A complete quality solution
Find and fix issues in your changes before you push and break the build.
Run quality checks on CI servers as well as developer machines to catch regressions.
Run Sidekick on your hardware; no need to send your code to a third party service.
We help you learn.
We provide detailed help that explains the cause of your defects as well as how to fix.
New developers can learn to meet your standards at their own pace, without constant review from more senior team members.
Everyone likes clean code.
Great teams produce great work.
Show you're dedicated to writing great code and your team will rise to the challenge.
Better code reviews.
Code-review can feel personal if you pick up on the same issues again and again.
Sidekick automatically annotates the easy stuff so you can concentrate on mentoring.

How Sidekick works

When you push
You write code however you want and then push your changes.
Sidekick will appear in your terminal and let you know we are analysing the current push.
We also support git clients such as Source Tree™ and the Github™ app.
$ git push origin master
We check your commits for defects.
We scan only the changes that you have made (not all the code in the repo).
If you're in a rush, you can skip Sidekick and the push will go through as normal.
$ git push origin master
Sidekick is running 4 analysers on 150 files.
(o) to open review UI, (s) to skip analysis and push
No issues? The push simply goes through.
We don't alter the contents of the push in any way.
$ git push origin master
Sidekick is running 4 analysers on 150 files.
(o) to open review UI, (s) to skip analysis and push
Analysis summary:
All good - continuing with push..
Counting objects: 21, done.
Delta compression using up to 8 threads.
[rest of standard git push stuff..]
Found issues? We summarise then help you fix.
We open our editor and show you all the issues in one place.
$ git push origin master
Sidekick is running 4 analysers on 150 files.
(o) to open review UI, (s) to skip analysis and push
Analysis summary:
 -- Code issues (eslint) -----
 We found 15 issues.
 -- Dependencies (david-dm) --
 We found 3 outdated dependencies.
 -- Security -----------------
 We found 5 security violations.
 -- Code style (jscs) --------
 We found 25 code style violations.
Opening ui so you can fix..
You can fix the problems right in our app.
We create a Sidekick commit and add it to your current push.
We show you each issue where it occurs - in a fully featured code editor.
We even have emacs and vim key-bindings :-)
Fix the issues that we have found..
We keep a track of how many issues are left to fix.
Files are re-analysed as you type.
Saving the files will amend the Sidekick commit.
You continue with the push, but with your fixes included.
We amend the push to include the Sidekick commit that contains all your fixes.
No more filtering out other people's issues in your lint reports.
No more checking huge terminal outputs to find issues.
No more 'look up issue location, switch to editor, navigate to specific line, work out how to fix, rinse repeat'.
Save your time, push perfect code.
Configure your ci server to use Sidekick with just 2 lines of config:
npm i sidekick
sidekick run --ci
We pull in any analysers that we need
If you have a .sidekickrc file, we will use these settings
If you've not set up a sidekick config file, we examine your repo to see what analysers we should use.
Downloading analyser sidekick-security (1.0.2)
Downloaded analyser sidekick-security
Installing analyser sidekick-security
Installed analyser sidekick-security
We show you all the issues in your code:
We give you line by line analysis and helpful info where we can
Analysis results:
-- Dependencies (david-dm) ----
We found 1 outdated dependency.
Line 10: Dependency 'bluebird' is out of date. You use '~2.9.14', which could be updated to stable: '3.3.5' (latest: '3.3.5').
-- Code issues (eslint) -------
We found 2 code issues.
Line 14: Parsing error: Unexpected character '`'package.json
Line 28: Parsing error: Unexpected token (
We summarise all the issues
If we fail the build, we tell you which issues were responsible
Analysis summary: 2 issues found that will break the build
(and 5 other issues)
 -- Security -----------------
 We found 0 security violations.
 -- Code issues (eslint) ----- (can break build)
 We found 2 issues.
 -- Dependencies (david-dm) --
 We found 1 outdated dependency.
 -- Code style (jscs) --------
 We found 4 code style violations.

Supported languages

Currently we support JavaScript, Ruby, TypeScript and CoffeeScript.
We are adding new language support all the time and will be launching a way for you to write your own analysers.