Skip to content

Custom rules and Always show rules #7

Closed

Description

@ribeirogab

Parent

#1

What to build

Reviewers can hide files that presets do not cover with custom rules, and keep single files visible with Always show rules. Both are edited on the Settings page and take effect in open pull requests.

Acceptance criteria

  • The Custom rules section lists the rules with one On/Off switch each, and supports add, edit, remove, and validation. Its empty state suggests docs/** or **/generated/**.
  • The Always show section lists the rules without On/Off switches, supports add, edit, remove, and validation, and shows the hide and always-show example.
  • Both sections show the pattern syntax help with the example table, including docs/ as the same as docs/**.
  • The menu shows the custom rules summary (the rules that are on, all off, or No custom rules yet) and the number of files they match.
  • Always show rules win over every hide rule. While filtering, a kept file shows the Always shown label in its file header, and the hidden count does not include it.
  • Unit tables cover Always show precedence. End to end, the prototype's demo configuration hides 11 of the 25 files of the demo pull request (Tests 8, including the deleted src/legacy/old-checkout.spec.ts; Lockfiles 2; custom rule 1) and keeps src/payments/checkout.spec.ts visible.

Blocked by

Activity

  1. self-assigned this
    on Oct 2, 2026
  2. ribeirogab commented on Oct 2, 2026

    @ribeirogab
    OwnerAuthor

    Update: the implementation was reverted in a619cac. This issue is reopened and its acceptance criteria are unchecked.

    Built Custom rules and Always show editors, per-rule switches, syntax help, menu summaries, and kept-file labels. The demo configuration hides exactly 11 of 25 listed files while keeping checkout visible. All 44 unit tests and 13 end-to-end tests passed.

    Validation: pnpm check, pnpm typecheck, pnpm test (unit and fixture-routed Chromium end-to-end suites), and pnpm build passed.

    Commit: 4778e5d. No acceptance criteria deferred.

  3. ribeirogab commented on Oct 3, 2026

    @ribeirogab
    OwnerAuthor

    Custom rules and Always show rules are edited on the Settings page as in the prototype: the Hide rules box lists custom rules with one on/off checkbox each (the prototype's control for custom rules), an N of M on summary, add/edit/remove with validation, and an empty state suggesting docs/** or **/generated/**. The Always show box has no switches and sits under the hide/always-show priority example. Both sections include the pattern syntax help with the example table (docs/ is the same as docs/**). The menu summarizes custom rules (the patterns that are on, N rules, all off, or No custom rules yet) with their match count. Always show rules win over every hide rule; while filtering a kept file shows Always shown (with a tooltip naming both rules) and is excluded from the hidden count.

    The Settings sections shipped with the page frame in e05f7a0 and the Always shown label with the file labels in 0e29b92; this ticket adds the end-to-end coverage.

    Tests:

    • Unit: Always show precedence tables (kept file, custom rules, Always show without a hide rule).
    • End to end: 5 new tests, including the demo configuration hiding exactly 11 of the 25 demo files (Tests 8 including the deleted src/legacy/old-checkout.spec.ts, Lockfiles 2, custom rule 1) with src/payments/checkout.spec.ts visible, and Always show rules reaching an open pull request at once.
    • Visual: Custom rules and Always show sections (filled, empty, checkbox focus, syntax help open), menu summaries (custom rules off, no custom rules), and the Always shown label with its tooltip, in light and dark at zero different pixels.

    Commit: ae30a19.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

ready-for-agentFully specified; an agent can pick it up

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions