All Projects → quasilyte → repolint

quasilyte / repolint

Licence: MIT license
Tool to check github user/organization repositories for some simple and common issues.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to repolint

Pythonbuddy
Online Python Editor With Live Syntax Checking and Execution
Stars: ✭ 223 (+1073.68%)
Mutual labels:  linter
Best Of Python Dev
🏆 A ranked list of awesome python developer tools and libraries. Updated weekly.
Stars: ✭ 243 (+1178.95%)
Mutual labels:  linter
flake8-putty
Flake8 plugin to control reporting per file and line
Stars: ✭ 38 (+100%)
Mutual labels:  linter
Revive
🔥 ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golint
Stars: ✭ 3,139 (+16421.05%)
Mutual labels:  linter
Sql Lint
An SQL linter
Stars: ✭ 243 (+1178.95%)
Mutual labels:  linter
typo3-typoscript-lint
Find coding errors in your TypoScript files.
Stars: ✭ 78 (+310.53%)
Mutual labels:  linter
D Scanner
Swiss-army knife for D source code
Stars: ✭ 221 (+1063.16%)
Mutual labels:  linter
vue-cli-template-library
Template for developing open-source vue.js libraries with Rollup + Jest + Babel + Storybook + TravisCI + SemanticRelease
Stars: ✭ 61 (+221.05%)
Mutual labels:  linter
Arrow Meta
Functional companion to Kotlin's Compiler
Stars: ✭ 246 (+1194.74%)
Mutual labels:  linter
node-lintspaces
A validator for checking different kinds of whitespaces in your files.
Stars: ✭ 31 (+63.16%)
Mutual labels:  linter
Django Migration Linter
🚀 Detect backward incompatible migrations for your django project
Stars: ✭ 231 (+1115.79%)
Mutual labels:  linter
Eslint Plugin Markdown
Lint JavaScript code blocks in Markdown documents
Stars: ✭ 242 (+1173.68%)
Mutual labels:  linter
spec
🐣 easy to use eslint/stylelint/tslint/prettier/...
Stars: ✭ 60 (+215.79%)
Mutual labels:  linter
Querly
Query Method Calls from Ruby Programs
Stars: ✭ 226 (+1089.47%)
Mutual labels:  linter
elm-lint
elm-lint lints Elm source code, to add additional guarantees to your project.
Stars: ✭ 27 (+42.11%)
Mutual labels:  linter
Fsharplint
Lint tool for F#
Stars: ✭ 224 (+1078.95%)
Mutual labels:  linter
Html5validator
Command line tool to validate HTML5 files. Great for continuous integration.
Stars: ✭ 251 (+1221.05%)
Mutual labels:  linter
Husky.Net
Git hooks made easy with Husky.Net internal task runner! 🐶 It brings the dev-dependency concept to the .NET world!
Stars: ✭ 394 (+1973.68%)
Mutual labels:  linter
f2e-spec
Alibaba Front-end Coding Guidelines and Relevant Tools
Stars: ✭ 548 (+2784.21%)
Mutual labels:  linter
tryceratops
A linter to prevent exception handling antipatterns in Python (limited only for those who like dinosaurs).
Stars: ✭ 381 (+1905.26%)
Mutual labels:  linter

repolint

Tool to check github user/organization repositories for some simple and common issues.

Using the collected results

./issues/ directory contains a list of issues found in multiple Github organizations. Every file contains a whole organization analysis.

Here is a list of analyzed organizations (in alphabetical order):

Some stats:

Kind of an issue Numbers reported
Broken link 3860
Misspell (typo) 3408
Acronym 166
Unwanted file 137

Number of checked repositories: 5891.

Overview

repolint makes contributions during events like hacktoberfest simpler for first time contributors and people that are not familiar with open source very well.

One can prepare a list of detected issues and propose them as a tasks to be solved by attendees or ask them to run repolint on their own.

Almost everything that repolint finds can be converted into a pull request that fixes reported issues.

Installation / Usage / Quick start

To get repolint binary, run:

go get -v github.com/Quasilyte/repolint

This assumes that $(go env GOPATH)/bin is under your system $PATH.

You need github auth token to continue.

There are 2 ways to pass token to the repolint:

  1. Use environment variable TOKEN.
  2. Place token file that contains the token in the current working directory.

Code below runs repolint over all Microsoft organization repositories. Note that it can take a lot of time to complete:

# Suppose your token is `xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`.
export TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
repolint -v -user=Microsoft

-v flag is used to get more debug output from the repolint. It's optional.

By default, it skips all fork repositories. -skipForks=false will enable forked repositories checks.

What repolint can find

Most issues are very simple and are agnostic to the repository programming language.

  • Typos in some common files like readme and contributing guidelines.
  • Broken links.
  • Committed files that should be removed (like Emacs autosave and backup files).
  • Issues in special files like .travis.ci.

Dependencies

CLI / commands

Libs

Example

For bad-repo it can output something like:

repolint -user=quasilyte -repo=bad-repo
	checking quasilyte/bad-repo (1/1, made 1 requests so far) ...
github.com/quasilyte/bad-repo: readme badge: could add travis-ci build status badge
github.com/quasilyte/bad-repo: sloppy copyright: LICENSE: license contains sloppy copyright
github.com/quasilyte/bad-repo: acronym: README.rst:13: replace sql with SQL
github.com/quasilyte/bad-repo: acronym: README.rst:15: replace gnu with GNU
github.com/quasilyte/bad-repo: misspell: CONTRIBUTING:1:0: "existance" is a misspelling of "existence"
github.com/quasilyte/bad-repo: misspell: CONTRIBUTING.md:1:0: "existance" is a misspelling of "existence"
github.com/quasilyte/bad-repo: misspell: dir/README.md:1:0: "oversimplificiation" is a misspelling of "oversimplification"
github.com/quasilyte/bad-repo: misspell: README.rst:11:0: "excelent" is a misspelling of "excellent"
github.com/quasilyte/bad-repo: var name typo: README.rst:19: $CLASSPAHT could be a misspelling of CLASSPATH
github.com/quasilyte/bad-repo: var name typo: README.rst:20: ${GOPAHT} could be a misspelling of GOPATH
github.com/quasilyte/bad-repo: unwanted file: remove Emacs autosave file: #autosave.txt#
github.com/quasilyte/bad-repo: unwanted file: remove Emacs lock file file: .#lockfile.txt
github.com/quasilyte/bad-repo: unwanted file: remove Mac OS sys file file: .DS_STORE
github.com/quasilyte/bad-repo: unwanted file: remove Vim swap file: .foo.swp
github.com/quasilyte/bad-repo: unwanted file: remove Windows sys file file: Thumbs.db
github.com/quasilyte/bad-repo: unwanted file: remove Emacs backup file: backup.txt~

Note that this example output may be outdated and the bad-repo itself can change over time. It's only a demonstration.

Also note that we're using -repo argument here to restrict repolint to a single user repository.

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].