All Projects → sider → Meowcop

sider / Meowcop

Licence: mit
A RuboCop configuration focusing Lint. Recommended by Sider

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Meowcop

rubocop-linter-action
Rubocop Linter Action: A GitHub Action to run Rubocop against your code!
Stars: ✭ 86 (+68.63%)
Mutual labels:  lint, rubocop
Rubocop Rspec
Code style checking for RSpec files
Stars: ✭ 603 (+1082.35%)
Mutual labels:  lint, rubocop
Php Parallel Lint
This tool check syntax of PHP files faster than serial check with fancier output.
Stars: ✭ 646 (+1166.67%)
Mutual labels:  lint
Absolufy Imports
Automatically convert between relative and absolute imports
Stars: ✭ 33 (-35.29%)
Mutual labels:  lint
Feflow
🚀 A command line tool aims to improve front-end engineer workflow and standard, powered by TypeScript.
Stars: ✭ 942 (+1747.06%)
Mutual labels:  lint
Lint Md
📚 检查中文 markdown 编写格式规范的命令行工具,基于 AST,方便集成 ci,写博客 / 文档必备。支持 API 调用!
Stars: ✭ 662 (+1198.04%)
Mutual labels:  lint
Httpolice
Validator for HTTP
Stars: ✭ 948 (+1758.82%)
Mutual labels:  lint
Vint
Fast and Highly Extensible Vim script Language Lint implemented in Python.
Stars: ✭ 596 (+1068.63%)
Mutual labels:  lint
Commitlint
📓 Lint commit messages
Stars: ✭ 9,847 (+19207.84%)
Mutual labels:  lint
Cfn nag
Linting tool for CloudFormation templates
Stars: ✭ 808 (+1484.31%)
Mutual labels:  lint
Rubocop Rake
A RuboCop plugin for Rake
Stars: ✭ 32 (-37.25%)
Mutual labels:  rubocop
Rails Style Guide
A community-driven Ruby on Rails style guide
Stars: ✭ 6,178 (+12013.73%)
Mutual labels:  rubocop
Rust Clippy
A bunch of lints to catch common mistakes and improve your Rust code
Stars: ✭ 6,720 (+13076.47%)
Mutual labels:  lint
Rubocop Packaging
A RuboCop extension focused on enforcing upstream best practices and coding conventions.
Stars: ✭ 29 (-43.14%)
Mutual labels:  rubocop
Phplint
🐛 A tool that can speed up linting of php files by running several lint processes at once.
Stars: ✭ 646 (+1166.67%)
Mutual labels:  lint
Policial
Review pull requests for style guide violations
Stars: ✭ 36 (-29.41%)
Mutual labels:  rubocop
Remark Lint
Markdown code style linter
Stars: ✭ 718 (+1307.84%)
Mutual labels:  lint
Eslint Plugin React
React specific linting rules for ESLint
Stars: ✭ 7,472 (+14550.98%)
Mutual labels:  lint
Elisp Lint
Basic linting for Emacs Lisp
Stars: ✭ 45 (-11.76%)
Mutual labels:  lint
Rmlint
Extremely fast tool to remove duplicates and other lint from your filesystem
Stars: ✭ 996 (+1852.94%)
Mutual labels:  lint

MeowCop

Gem Version

MeowCop is a gem for shareable RuboCop configuration, it focuses on lint (not style). It's recommended by Sider.

Design

RuboCop has many stylistic rules (RuboCop calls a rule "Cop"). "Style Cops" provide one of several settings. So, we encounter many many warnings when we introduce RuboCop. The cause is a mismatch between the RuboCop's default settings and your project's coding style.

In the configuration of MeowCop, almost all stylistic rules are disabled. Because such rules are almost specific for your project. If you want, you can use RuboCop as a linter without many noisy warnings.

In contrast, if you want to use RuboCop as a style checker, we recommend Gry.

Installation

Add this line to your application's Gemfile:

gem 'meowcop'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install meowcop

Configuration

MeowCop provides a CLI tool to initialize .rubocop.yml. See below:

$ meowcop init
Meow! .rubocop.yml has been created successfully.

$ cat .rubocop.yml
# To use the MeowCop gem.
inherit_gem:
  meowcop:
    - config/rubocop.yml

# You can customize RuboCop settings.
# For example.
# Style/FrozenStringLiteralComment:
#   Enabled: true
#   EnforcedStyle: always

See this example.

Usage

Just execute RuboCop with .rubocop.yml configured by MeowCop:

$ bundle exec rubocop

Or,

$ rubocop

Development

After checking out the repo, run bin/setup to install dependencies. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run:

$ bundle exec rake install

To release a new version,

  1. Move to the master branch and fetch the latest revision. E.g. git checkout master && git pull
  2. Update the version number in version.rb.
  3. Update the changelog.
  4. Commit the updated files with the following message: Release x.y.z
  5. Run the bundle exec rake release command. This command will:
    • create a git tag for the new version
    • push the git commit and tag
    • push the .gem file to rubygems.org

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/sider/meowcop.

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