Skip to content

Checkmate - A simple yet powerful meta code-checker with support for multiple languages.

License

Notifications You must be signed in to change notification settings

quantifiedcode-bot/checkmate

 
 

Repository files navigation

#Welcome to Checkmate!

Build Status PyPi version PyPi downloads Code Issues

##About Checkmate is a cross-language (meta-)tool for static code analysis, written in Python. Unlike other tools, it provides a global overview of the code quality in a project and aims to provide clear, actionable insights to the user.

###Keypoints

  • Provides a global overview of code quality in a project
  • Plays nicely with 3rd party libraries and checkers (e.g. pylint, pep8, jslint, etc.)
  • Keeps analysis results in a document-oriented database and allows for fast querying
  • Can be easily extended to new code checkers or version control systems by creating plugins

###Current Status

The first working version of the tool nears completion, please be patient :)


How to contribute

Contributions are very welcome, and are greatly appreciated! Every little bit helps, and credit will always be given. Please read here, how you can contribute.

Get Started!

Are you ready to contribute? Here's how to set up checkmate for local development.

  1. First, make sure MongoDB is installed on your machine.

  2. Fork the checkmate repo on GitHub.

  3. Clone your fork locally:

     $ git clone [email protected]:<your_github_user_name>/checkmate.git
    
  4. Install your local copy into a virtualenv. Assuming you have virtualenvwrapper installed, this is how you set up your fork for local development:

     $ mkvirtualenv checkmate
     $ cd checkmate/
     $ sudo python setup.py build install
    
  5. Create a separate branch for each issues in your local development environment:

     $ git checkout -b issue/<issue_id>_<issue_title>
    
     Example:$ git checkout -b issue/112_add_jslint
    
  6. Now, make your changes locally.

  7. When you're done with your changes, please commit and push them to your branch:

     $ git add .
     $ git commit -m "Fix <issue_id>: detailed description of your changes."
     $ git push origin issue/<issue_id>_<issue_title>
    
  8. Submit a Pull Request through the GitHub website.

Pull Request Guidelines

Before you submit a Pull Request, check that it meets these guidelines:

  1. Check on Quantifiedcode whether your code is free of errors (no login required).

  2. The Pull Request should include tests.

  3. If the Pull Request adds functionality, also the docs should be updated. Put your new functionality into a function with a docstring, and add the feature to the list in README.rst.

  4. The Pull Request should work for Python 2.6, 2.7, and 3.3, and for PyPy. Check https://travis-ci.org/quantifiedcode/checkmate/pull_requests and make sure that the tests pass for all supported Python versions.

Tips

To run a subset of tests:

$ python -m unittest tests.test_checkmate

Licences

Questions?

If you have any questions, please get in touch with us:

About

Checkmate - A simple yet powerful meta code-checker with support for multiple languages.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.9%
  • Other 0.1%