Skip to content

feat(greptile): add minimal review context and release rules - #95

Merged
capyBearista merged 1 commit into
mainfrom
feat/greptile-scoped-review-config
Nov 1, 2026
Merged

capyBearista merged 1 commit into
mainfrom
feat/greptile-scoped-review-config

Conversation

@capyBearista

@capyBearista capyBearista commented Oct 29, 2026 •

Copy link
Copy Markdown
Owner

Summary

Adds a small root .greptile/ config that gives Greptile only what it can't already get.

Greptile already reads the whole codebase, and it imported the root and package AGENTS.md files as path-scoped context (dashboard import on 2026-09-25). So this PR doesn't repeat any of that. It adds:

  • .greptile/files.json: six context files, each read only when a review touches the packages it describes:
    • packages/opencode-auto-advisor/AGENTS.md. It was added after Greptile's AGENTS.md import, so Greptile doesn't load it otherwise.
    • docs/auto-advisor/findings.md and docs/output-styles/v2-port-findings.md: verified OpenCode host behavior, which the code can't show.
    • docs/opencode-v2-plugin-runtime.md for the V2 packages, and docs/v1-plugins.md for the V1 package and package manifests.
    • tools/release-channels.json for package manifests, changesets and the release guard.
  • .greptile/config.json: two high rules for release mistakes that span several files:
    • release-policy-coherence: a version outside its release class, a package missing from release-channels.json or the workspace, or a release that skips Changesets or bun run release:check.
    • publish-trust-boundary: a workflow change that lets PR code publish, exposes npm tokens, or publishes without the release guard.

Both rules have IDs, so a nested .greptile/ can turn them off later.

Linked Issue

No issue. This replaces the earlier 28-file version of this PR, which had per-package rules.md, 29 rules and 39 file references. That version was cut because:

  • Its guidance told Greptile to skip "plausible but unproven" risks and to require a concrete reproduction for every finding, which raises the bar for reporting.
  • Most of it restated AGENTS.md files Greptile already reads.
  • It copied values from the code (character limits, timeouts, versions) that would go stale.
  • Its files.json entries pointed at neighbouring source files, which Greptile's codebase graph already links.

The plan is to add a rule only when Greptile misses something real.

Plugin(s) Affected

  • opencode-agents-loader
  • opencode-double-tap-timeline
  • opencode-output-styles
  • opencode-ram-monitor
  • opencode-agent-prompt-inheritance
  • opencode-adversarial-review
  • opencode-auto-advisor
  • opencode-plugins (this monorepo itself): Greptile review config only
  • Other: _______

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactoring (no functional changes)
  • Other: code review configuration

OpenCode Validation

  • OpenCode version tested: n/a (review config only).
  • Runtime smoke test performed: n/a. Greptile's automatic reviews are paused, so the config hasn't been exercised by a review yet.

Quality Checklist

  • I ran bun run typecheck && bun run lint && bun run test (ran bun run lint and Biome on .greptile/; no code changed)
  • I ran bun run build (no package changes)
  • This is the smallest safe root-cause fix (no unnecessary logic changes)
  • I preserved behavioral invariants and added/updated tests as needed (n/a)
  • For plugin/runtime changes, I verified the built module or package export that OpenCode actually loads (n/a)
  • If local .opencode config was part of testing, I verified it points at the package root or published plugin name rather than a stale dist/* artifact (n/a)
  • For bug fixes, I captured the root cause and why earlier symptoms/reviewer findings were misleading (n/a)
  • I updated docs for user-facing changes (n/a)
  • I added a changeset if this should ship; breaking changes within an OpenCode major use minor, and major only moves a package to a new OpenCode major (see CONTRIBUTING) (nothing ships)
  • I have read the Contributing Guidelines

Additional Context

  • Format follows the .greptile/ file reference. Every files.json path exists, and every scope glob matches at least one file in the repo.
  • The docs say rule scopes are "relative to the .greptile/ directory". This assumes that means the repo root for a root .greptile/, as in the docs' own examples.
  • No settings overrides (strictness, autoReview, commentTypes and so on), so the dashboard settings still apply.

Greptile already reads the root and package AGENTS.md files, and reads
the whole codebase. This adds only what it can't get from those:

- files.json points reviews at the docs that record verified OpenCode
  host behavior, each scoped to the packages it describes, plus
  release-channels.json and auto-advisor's AGENTS.md (added after
  Greptile's AGENTS.md import, so it isn't loaded otherwise).
- config.json adds two rules for release mistakes that span several
  files: versions outside their release class or a release that skips
  the plan, and workflows that let PR code publish or expose tokens.
@capyBearista
capyBearista force-pushed the feat/greptile-scoped-review-config branch from 35e36d5 to 39e20bf Compare November 1, 2026 22:15
@capyBearista capyBearista changed the title feat(greptile): add scoped monorepo review guidance feat(greptile): add minimal review context and release rules Nov 1, 2026
@capyBearista
capyBearista merged commit e21fe07 into main Nov 1, 2026
3 checks passed
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