Skip to content

Fix repolinter ruleset and add missing LICENSE + CODEOWNERS#8

Merged
marekdkropiewnicki-dotcom merged 2 commits into
mainfrom
copilot/fix-repolinter-ruleset-issues
May 5, 2026
Merged

Fix repolinter ruleset and add missing LICENSE + CODEOWNERS#8
marekdkropiewnicki-dotcom merged 2 commits into
mainfrom
copilot/fix-repolinter-ruleset-issues

Conversation

Copy link
Copy Markdown

Copilot AI commented May 4, 2026

The repolinter ruleset was invalid JSON (trailing comma) and two of its three rules were failing due to missing LICENSE and CODEOWNERS files.

Changes

config/repolinter-ruleset.json

  • Remove trailing comma after codeowners-file-exists block (was breaking JSON parsing)
  • Update $schema from stale prototypicalpro/repolinter → canonical todogroup/repolinter
  • Replace broken codeowners-file-exists fix text (was a docs URL) with a valid owners string:
    "text": "* @marekdkropiewnicki-dotcom\n"

    { "inline": ... } is not a supported schema variant in repolinter 0.12; plain string is equivalent

New files

  • LICENSE — MIT, 2026, marekdkropiewnicki-dotcom; first line is MIT License (required by license-file-is-MIT content check)
  • CODEOWNERS* @marekdkropiewnicki-dotcom at repo root (matched by the CODEOWNERS* glob in codeowners-file-exists)
Original prompt

Goal

Resolve all failing rules from config/repolinter-ruleset.json and fix issues in the ruleset itself.

Current repolinter results (against main)

Rule Level Status
license-file-is-MIT warning ❌ FAIL — no LICENSE/COPYING file
readme-file-exists warning ✅ PASS
codeowners-file-exists warning ❌ FAIL — no CODEOWNERS file

In addition, the ruleset file config/repolinter-ruleset.json is invalid JSON (trailing comma) so repolinter cannot load it.

Required changes

1. Fix config/repolinter-ruleset.json

  • Remove the trailing comma after the codeowners-file-exists rule block (currently around line 65) so the rules object is valid JSON.
  • Update the $schema URL from the renamed prototypicalpro/repolinter repo to the canonical todogroup/repolinter location:
    • From: https://raw.githubusercontent.com/prototypicalpro/repolinter/master/rulesets/schema.json
    • To: https://raw.githubusercontent.com/todogroup/repolinter/master/rulesets/schema.json
  • Improve the codeowners-file-exists fix so it writes a valid CODEOWNERS body instead of a docs URL. Replace its fix.options.text with an inline template, e.g.:
    "text": { "inline": "* @marekdkropiewnicki-dotcom\n" }
  • Do NOT change rule levels, globs, or policy URLs beyond what is described above.
  • Ensure the resulting file is valid JSON (run python -m json.tool < config/repolinter-ruleset.json or equivalent).

2. Add LICENSE (MIT) at repo root

Create a standard MIT license file. Use the current year (2026) and marekdkropiewnicki-dotcom as the copyright holder. The file MUST contain the literal string MIT License on the first line so the license-file-is-MIT rule passes.

Template:

MIT License

Copyright (c) 2026 marekdkropiewnicki-dotcom

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

3. Add CODEOWNERS at repo root

Create a CODEOWNERS file at the repo root with the following content:

# Default owners for everything in the repo.
* @marekdkropiewnicki-dotcom

This will satisfy the codeowners-file-exists rule (which globs CODEOWNERS*, */CODEOWNERS*, .github/CODEOWNERS*).

Acceptance criteria

  • config/repolinter-ruleset.json parses as valid JSON.
  • $schema points to todogroup/repolinter.
  • codeowners-file-exists fix uses an inline text template producing a valid CODEOWNERS body.
  • LICENSE exists at repo root, starts with MIT License, and uses 2026 / marekdkropiewnicki-dotcom.
  • CODEOWNERS exists at repo root with * @marekdkropiewnicki-dotcom.
  • Running repolinter against the updated ruleset would PASS all three rules.

Out of scope

  • Adding GitHub Actions workflow for repolinter (can be a follow-up).
  • Editing README.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md, AGENTS.md, or profile/.

The following is the prior conversation context from the user's chat exploration (may be truncated):

User: @

Assistant: It looks like your message got cut off at the end with just "@" — did you mean to mention someone or ask a specific question?

How can I help you with the marekdkropiewnicki-dotcom/.github repository? For example, I could:

  • Run/explain repolinter results against config/repolinter-ruleset.json
  • Update CONTRIBUTING.md to remove the broken script/bootstrap / script/cibuild references (since they don't exist)
  • Review or edit any of the community health files (README.md, CODE_OF_CONDUCT.md, SECURITY.md, profile/README.md)
  • Open a PR with Markdown changes

Let me know what you'd like to do.

User: Run/explain repolinter results against config/repolinter-ruleset.json

Assistant: # Repolinter results for marekdkropiewnicki-dotcom/.github

I can't actually execute repolinter here, but I simulated the three rules defined in [config/repolinter-ruleset.json](https://github.com/marekdkropiewnicki-dotcom/.github/blob/main/config/repolinter-rules...

This pull request was created from Copilot chat.

Agent-Logs-Url: https://github.com/marekdkropiewnicki-dotcom/.github/sessions/67f3f96e-327b-4085-945e-abbbcc1b6348

Co-authored-by: marekdkropiewnicki-dotcom <259442047+marekdkropiewnicki-dotcom@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix issues in repolinter ruleset and resolve failing rules Fix repolinter ruleset and add missing LICENSE + CODEOWNERS May 4, 2026
Copy link
Copy Markdown
Owner

@marekdkropiewnicki-dotcom marekdkropiewnicki-dotcom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The repolinter ruleset was invalid JSON (trailing comma) and two of its three rules were failing due to missing LICENSE and CODEOWNERS files.

Changes

config/repolinter-ruleset.json

Remove trailing comma after codeowners-file-exists block (was breaking JSON parsing)
Update $schema from stale prototypicalpro/repolinter → canonical todogroup/repolinter
Replace broken codeowners-file-exists fix text (was a docs URL) with a valid owners string:
"text": "* @marekdkropiewnicki-dotcom\n"
{ "inline": ... } is not a supported schema variant in repolinter 0.12; plain string is equivalent
New files

LICENSE — MIT, 2026, marekdkropiewnicki-dotcom; first line is MIT License (required by license-file-is-MIT content check)
CODEOWNERS — * @marekdkropiewnicki-dotcom at repo root (matched by the CODEOWNERS* glob in codeowners-file-exists)
Original prompt
This pull request was created from Copilot chat.

Copy link
Copy Markdown
Owner

@marekdkropiewnicki-dotcom marekdkropiewnicki-dotcom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The repolinter ruleset was invalid JSON (trailing comma) and two of its three rules were failing due to missing LICENSE and CODEOWNERS files.

Changes

config/repolinter-ruleset.json

Remove trailing comma after codeowners-file-exists block (was breaking JSON parsing)
Update $schema from stale prototypicalpro/repolinter → canonical todogroup/repolinter
Replace broken codeowners-file-exists fix text (was a docs URL) with a valid owners string:
"text": "* @marekdkropiewnicki-dotcom\n"
{ "inline": ... } is not a supported schema variant in repolinter 0.12; plain string is equivalent
New files

LICENSE — MIT, 2026, marekdkropiewnicki-dotcom; first line is MIT License (required by license-file-is-MIT content check)
CODEOWNERS — * @marekdkropiewnicki-dotcom at repo root (matched by the CODEOWNERS* glob in codeowners-file-exists)
Original prompt
This pull request was created from Copilot chat.

@marekdkropiewnicki-dotcom marekdkropiewnicki-dotcom marked this pull request as ready for review May 5, 2026 21:27
Copilot AI review requested due to automatic review settings May 5, 2026 21:27
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request fixes the organization-level repolinter ruleset so it can be parsed/used correctly and adds the missing repository root files required to satisfy the existing repolinter policy checks.

Changes:

  • Correct config/repolinter-ruleset.json JSON validity (remove trailing comma) and update the $schema URL to the canonical todogroup/repolinter location.
  • Update the codeowners-file-exists rule’s autofix to write a valid CODEOWNERS body instead of a documentation URL.
  • Add missing root-level LICENSE (MIT) and CODEOWNERS files to satisfy failing repolinter rules.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
LICENSE Adds an MIT license file with the required “MIT License” first line and 2026 copyright holder.
config/repolinter-ruleset.json Fixes invalid JSON, updates schema URL, and corrects CODEOWNERS autofix text.
CODEOWNERS Adds default code ownership for the entire repository at the root.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Risk: Very Low — Approved

Scope: Config and documentation only in a meta .github repo with no application code.

What changed (verified from diff, not PR description):

  • config/repolinter-ruleset.json: removes a trailing comma (fixes invalid JSON), updates $schema to the canonical todogroup/repolinter URL, and replaces a broken docs-URL text with a literal "* @marekdkropiewnicki-dotcom " for the codeowners-file-exists fix.
  • LICENSE: standard MIT, first line MIT License, 2026 / marekdkropiewnicki-dotcom.
  • CODEOWNERS: single line * @marekdkropiewnicki-dotcom.

Why Very Low:

  • No production code, infra, auth, billing, or shared-service changes.
  • Total diff is +26/-3 across 3 files, all scoped to repo policy/community-health files.
  • Adding a CODEOWNERS from scratch in a personal meta repo just establishes the repo owner as default owner; this is not a meaningful change to existing review routing.
  • Validated locally that the new ruleset parses as JSON.

Reviewers: None assigned (Very Low risk; no review required).

Open in Web View Automation 

Sent by Cursor Automation: Assign PR reviewers

Copy link
Copy Markdown
Owner

@marekdkropiewnicki-dotcom marekdkropiewnicki-dotcom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The repolinter ruleset was invalid JSON (trailing comma) and two of its three rules were failing due to missing LICENSE and CODEOWNERS files.

Changes

config/repolinter-ruleset.json

Remove trailing comma after codeowners-file-exists block (was breaking JSON parsing)
Update $schema from stale prototypicalpro/repolinter → canonical todogroup/repolinter
Replace broken codeowners-file-exists fix text (was a docs URL) with a valid owners string:
"text": "* @marekdkropiewnicki-dotcom\n"
{ "inline": ... } is not a supported schema variant in repolinter 0.12; plain string is equivalent
New files

LICENSE — MIT, 2026, marekdkropiewnicki-dotcom; first line is MIT License (required by license-file-is-MIT content check)
CODEOWNERS — * @marekdkropiewnicki-dotcom at repo root (matched by the CODEOWNERS* glob in codeowners-file-exists)
Original prompt
This pull request was created from Copilot chat.

Copy link
Copy Markdown
Owner

@marekdkropiewnicki-dotcom marekdkropiewnicki-dotcom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add .patch or .diff to the end of URLs for Git’s plaintext views.

@marekdkropiewnicki-dotcom marekdkropiewnicki-dotcom merged commit 3c9f799 into main May 5, 2026
6 checks passed
cursor Bot pushed a commit that referenced this pull request May 7, 2026
Address PR #2 review feedback from Copilot:

- Remove the 'trailing comma in repolinter-ruleset.json' bullet — the
  file is now valid strict JSON (fixed in PR #8).
- Remove the 'no LICENSE file' bullet — the repo now ships an MIT
  LICENSE (added in PR #8), so license-file-is-MIT no longer warns.
- Rewrite the CODEOWNERS cleanup guidance to use 'git restore' rather
  than 'rm -f', because CODEOWNERS (and LICENSE) are now tracked files
  and 'rm' would delete real content. Also call out that running
  without --dryRun can overwrite both tracked files via fix rules.

Co-authored-by: QuantuM <qumusai@proton.me>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants