Fix repolinter ruleset and add missing LICENSE + CODEOWNERS#8
Conversation
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>
marekdkropiewnicki-dotcom
left a comment
There was a problem hiding this comment.
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
left a comment
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.jsonJSON validity (remove trailing comma) and update the$schemaURL to the canonicaltodogroup/repolinterlocation. - Update the
codeowners-file-existsrule’s autofix to write a valid CODEOWNERS body instead of a documentation URL. - Add missing root-level
LICENSE(MIT) andCODEOWNERSfiles 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.
There was a problem hiding this comment.
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$schemato the canonicaltodogroup/repolinterURL, and replaces a broken docs-URLtextwith a literal"* @marekdkropiewnicki-dotcom "for thecodeowners-file-existsfix.LICENSE: standard MIT, first lineMIT 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
CODEOWNERSfrom 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).
Sent by Cursor Automation: Assign PR reviewers
marekdkropiewnicki-dotcom
left a comment
There was a problem hiding this comment.
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.
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>


The repolinter ruleset was invalid JSON (trailing comma) and two of its three rules were failing due to missing
LICENSEandCODEOWNERSfiles.Changes
config/repolinter-ruleset.jsoncodeowners-file-existsblock (was breaking JSON parsing)$schemafrom staleprototypicalpro/repolinter→ canonicaltodogroup/repolintercodeowners-file-existsfixtext(was a docs URL) with a valid owners string:New files
LICENSE— MIT, 2026,marekdkropiewnicki-dotcom; first line isMIT License(required bylicense-file-is-MITcontent check)CODEOWNERS—* @marekdkropiewnicki-dotcomat repo root (matched by theCODEOWNERS*glob incodeowners-file-exists)Original prompt
Goal
Resolve all failing rules from
config/repolinter-ruleset.jsonand fix issues in the ruleset itself.Current repolinter results (against
main)license-file-is-MITLICENSE/COPYINGfilereadme-file-existscodeowners-file-existsCODEOWNERSfileIn addition, the ruleset file
config/repolinter-ruleset.jsonis invalid JSON (trailing comma) so repolinter cannot load it.Required changes
1. Fix
config/repolinter-ruleset.jsoncodeowners-file-existsrule block (currently around line 65) so therulesobject is valid JSON.$schemaURL from the renamedprototypicalpro/repolinterrepo to the canonicaltodogroup/repolinterlocation:https://raw.githubusercontent.com/prototypicalpro/repolinter/master/rulesets/schema.jsonhttps://raw.githubusercontent.com/todogroup/repolinter/master/rulesets/schema.jsoncodeowners-file-existsfix so it writes a valid CODEOWNERS body instead of a docs URL. Replace itsfix.options.textwith an inline template, e.g.:python -m json.tool < config/repolinter-ruleset.jsonor equivalent).2. Add
LICENSE(MIT) at repo rootCreate a standard MIT license file. Use the current year (2026) and
marekdkropiewnicki-dotcomas the copyright holder. The file MUST contain the literal stringMIT Licenseon the first line so thelicense-file-is-MITrule passes.Template:
3. Add
CODEOWNERSat repo rootCreate a
CODEOWNERSfile at the repo root with the following content:This will satisfy the
codeowners-file-existsrule (which globsCODEOWNERS*,*/CODEOWNERS*,.github/CODEOWNERS*).Acceptance criteria
config/repolinter-ruleset.jsonparses as valid JSON.$schemapoints totodogroup/repolinter.codeowners-file-existsfix uses aninlinetext template producing a valid CODEOWNERS body.LICENSEexists at repo root, starts withMIT License, and uses 2026 /marekdkropiewnicki-dotcom.CODEOWNERSexists at repo root with* @marekdkropiewnicki-dotcom.Out of scope
README.md,CONTRIBUTING.md,CODE_OF_CONDUCT.md,SECURITY.md,AGENTS.md, orprofile/.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/.githubrepository? For example, I could:config/repolinter-ruleset.jsonCONTRIBUTING.mdto remove the brokenscript/bootstrap/script/cibuildreferences (since they don't exist)README.md,CODE_OF_CONDUCT.md,SECURITY.md,profile/README.md)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/.githubI can't actually execute
repolinterhere, 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.