Skip to content

feat(review): per-repo review CLAUDE.md + skill library from the container-private config dir#1580

Merged
JSONbored merged 1 commit into
mainfrom
feat/review-repo-skills
Jun 27, 2026
Merged

feat(review): per-repo review CLAUDE.md + skill library from the container-private config dir#1580
JSONbored merged 1 commit into
mainfrom
feat/review-repo-skills

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

#review-skills. Each repo's <repo>/review/CLAUDE.md + review/skills/*.md in GITTENSORY_REPO_CONFIG_DIR is loaded + injected into the reviewer prompt so reviews follow that repo's conventions. Private (config dir, not the public repo), portable to any host. Cost-conscious: the guide is always-on; each skill is glob-gated by its when: frontmatter (only skills matching the PR's changed files inject), total bounded. Folds into the #1579 review.instructions slot (same public-safe wrapper). Loader keeps Node fs out of the Workers bundle (registered at boot). Fully covered (server.ts registration is codecov-ignored).

…ainer-private config dir

#review-skills. Each repo's review folder in GITTENSORY_REPO_CONFIG_DIR (<repo>/review/CLAUDE.md + review/skills/*.md)
is loaded and injected into the reviewer prompt, so reviews follow each repo's own conventions/voice. Private (not in
the public repo), works on any host. Cost-conscious: the CLAUDE.md guide is always-on, but each skill is GLOB-GATED by
its `when:` frontmatter — only skills matching the PR's changed files are injected — and the total is bounded.
Folds into the same review.instructions prompt slot (#1579), so it inherits the public-safe wrapper.

- private-config.ts: makeLocalReviewContextReader (reads review/CLAUDE.md + skills/*.md, first existing folder wins) +
  parseReviewSkill (frontmatter name/when + body).
- focus-manifest-loader.ts: setLocalReviewContextReader + loadRepoReviewContext (Node fs stays out of the Workers bundle).
- focus-manifest.ts: composeRepoReviewContext (guide + always/glob-matched skills, bounded; reuses matchesManifestPath).
- processors.ts: folds the composed context into reviewInstructions. server.ts: registers the reader at boot.
@dosubot dosubot Bot added the size:L label Jun 27, 2026
@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@codecov

codecov Bot commented Jun 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.46%. Comparing base (42bfac1) to head (8960262).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1580      +/-   ##
==========================================
+ Coverage   95.45%   95.46%   +0.01%     
==========================================
  Files         202      202              
  Lines       21784    21839      +55     
  Branches     7868     7885      +17     
==========================================
+ Hits        20794    20849      +55     
  Misses        414      414              
  Partials      576      576              
Files with missing lines Coverage Δ
src/queue/processors.ts 88.01% <100.00%> (+0.02%) ⬆️
src/selfhost/private-config.ts 100.00% <100.00%> (ø)
src/signals/focus-manifest-loader.ts 99.00% <100.00%> (+0.06%) ⬆️
src/signals/focus-manifest.ts 99.15% <100.00%> (+0.02%) ⬆️
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@JSONbored
JSONbored merged commit 00cff73 into main Jun 27, 2026
19 checks passed
@JSONbored
JSONbored deleted the feat/review-repo-skills branch June 27, 2026 06:52
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.

1 participant