rubocop-lts / meta

Meta repository for developer happiness!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SVG RuboCop Logo, Copyright (c) 2014 Dimiter Petrov, CC BY-NC 4.0, see docs/images/logo/README.txt SVG RuboCop Logo, Copyright (c) 2014 Dimiter Petrov, CC BY-NC 4.0, see docs/images/logo/README.txt Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5, see docs/images/logo/README.txt SemVer.org Logo by @maxhaz, see docs/images/logo/README.txt SemVer.org Logo by @maxhaz, see docs/images/logo/README.txt

RuboCop-LTS Meta Project

This is the "meta" project for RuboCop-LTS. It is so meta, in fact, that it is managed by the project "meta".

What is a "meta" project, you ask? You may have seen something similar in the repos for bundler, rails, bridgetown, or roda, but this one is done differently.

It has many sub-projects, which consist of all the parts of the RuboCop-LTS ecosystem. This makes developing them much easier as a one-human-band. Unlike other meta patterns, this does not use git sub-modules, yet it also does not use a single git-tracked file tree. Instead another project, actually called meta, and built with NodeJS, manages the subprojects completely, and almost transparently.

New to meta? It's the absolute stuffing. It has nothing whatsoever to do with the johnny-come-lately company, which ripped off the name.

🛞 DVCS

This project does not trust any one version control system, so it abides the principles of "Distributed Version Control Systems"

Find this project on:

Any Of These DVCS
🐙hub 🧊berg 🛖hut 🧪lab

🎁 Local Development Install

meta git clone git@github.com:rubocop-lts/meta.git
meta exec "git fetch"
meta exec "git checkout main"

See how the last two commands are prefixed with meta exec followed by a quoted command? That's pretty much all you need to know. The first command is special, in that it prepares each project to be checked out.

🧸 Add New Sub Project

New versions of Ruby come out yearly, which means a new RuboCop-LTS ecosystem gem.

Example - when Ruby 8.5 is released in the year 2053, we would do the following (after creating the project at https://github.com/rubocop-lts/rubocop-ruby8_5, of course):

meta project add userService git@github.com:rubocop-lts/rubocop-ruby8_5.git

🌈Contributors

Contributors

Contributor tiles (GitHub only) made with contributors-img.

Learn more about, or become one of, our 🎖️contributors on:

Any Of These DVCS
🐙hub contributors 🧊berg contributors 🛖hut contributors 🧪lab contributors

📄 License License: MIT

The gem is available as open source under the terms of the MIT License. See LICENSE.txt for the official Copyright Notice.

Project Logos (meta)

See docs/images/logo/README.txt

Organization Logo (rubocop-lts)

Author: Yusuf Evli Source: Unsplash License: Unsplash License

© Copyright

🪇 Code of Conduct

Everyone interacting in the Rubocop::Ruby27 project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.

📌 Versioning

Libraries enumerated within this RuboCop-LTS meta project aim to adhere to Semantic Versioning 2.0.0. Violations of this scheme should be reported as bugs. Specifically, if a minor or patch version is released that breaks backward compatibility, a new version should be immediately released that restores compatibility. Breaking changes to the public API will only be introduced with new major versions.

To get a better understanding of how SemVer is intended to work over a project's lifetime, read this article from the creator of SemVer:

As a result of this policy, you can (and should) specify a dependency on these libraries using the Pessimistic Version Constraint with two digits of precision.

For example:

spec.add_dependency "rubocop-lts", "~> X.y"

About

Meta repository for developer happiness!

License:MIT License