square / square/invert

Where should Rules/Collectors and Ownership Plugins Live?

Open
#17 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Kotlin
Stars
129
Forks
4
PR merge metrics
No merged PRs in 30d

Description

Detekt has a "Marketplace" where you can contribute rulesets https://detekt.dev/marketplace/

This is somewhat similar to how I envision Collectors to work, but it's a separate body of work to maintain a set of publicly used "plugins" of sort.

I've removed the current proof of concept collectors from the codebase recently as I didn't want to create a larger surface area of maintainence. I'm still figuring out what it looks like internally, and I don't want to publish things people might start relying on quite yet.

My thought is that I'll give it a few months and see if any naturally bubble up as "General Purpose", and contribute those back as "official" ones, and then also have a sort of marketplace like Detekt has as well.

Creating the issue for discussion and to share thoughts.


Example: Github CODEOWNERS Ownership code exists, but it was ported from another repo and we don't plan on maintaining. https://github.com/square/invert/tree/a11079916c924a640bc16d11196772ac5472ab63/owners/owners-github-codeowners

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the removed collectors proof of concept at commit a11079916c924a640bc16d11196772ac5472ab63 and the owners/owners-github-codeowners example, then compare Detekt's Marketplace model. Done means agreeing on and documenting where collectors and ownership plugins live, including their maintenance and publication model.

Written by the indexing model from the issue text.

Assessment

Tech stack
kotlin
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.