Coder Social home page Coder Social logo

readme-fixer / checkmate Goto Github PK

View Code? Open in Web Editor NEW

This project forked from brynary/checkmate

0.0 1.0 0.0 800 KB

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

License: Other

Python 99.88% Shell 0.02% JavaScript 0.10%

checkmate's Introduction

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 they are greatly appreciated! Every little bit helps, and credit will always be given.

Contributor Licence Agreement

We are asking all past and future contributors to sign a Contributor License Agreement (CLA). Every contributor of non-trivial amounts of code (more than just a line or two) to checkmate is required to sign a CLA. If somebody is unable to sign the CLA, the contribution (e.g., code, documentation, translations) has unfortunately to be removed from checkmate.

The CLA ensures that QuantifiedCode has clear licensing for all contributions to checkmate, which in turn lets us guarantee to users that we have no "stray" intellectual property or differently-licensed material.

Where do I sign? What's next?

  1. Download a copy of the CLA:

  2. Print out the CLA and sign it.

  3. Send the CLA to QuantifiedCode by scanning and emailing the document to [email protected]

Type of contributions

Report Bugs

Report bugs at https://github.com/quantifiedcode/checkmate/issues.

If you are reporting a bug, please include:

  • The trackeback of the error
  • Your operating system name and version
  • Any details about your local setup that might be helpful in troubleshooting
  • Detailed steps to reproduce the bug
  • A screenshots (if useful)

Fix Bugs

Go through the Github issues. Anything that is tagged as "bug" is open to whoever wants to implement it.

Add new features

Go through the Github issues. Anything tagged as "feature" is open to whoever wants to implement it.

Write Documentation

Checkmate can always get more documentation, whether as part of the official checkmate https://docs.quantifiedcode.com, in docstrings, or even on the web in blog posts, articles, and such.

Submit Feedback and Propose Features

The best way to send feedback is to file an issue at https://github.com/quantifiedcode/checkmate/issues. Additionally, you can reach out to our team. We are looking forward getting in touch with you!

If you are proposing a feature:

  • Detailed description of the feature to be implemented
  • User story (if applicable)
  • Keep the scope as narrow as possible, to make it easier to implement
  • Remember that this is a volunteer-driven project, and that contributions are welcome :)

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/
     $ python setup.py
    
  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 https://www.quantifiedcode.com/app#/project/gh:quantifiedcode:checkmate 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:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.