Add greptile.json for repo-specific PR review configuration#744
Add greptile.json for repo-specific PR review configuration#744
Conversation
Configures Greptile with domain-specific rules for caro's safety-critical patterns, backend trait contracts, error handling standards, and POSIX compliance requirements. Includes context files and ignore patterns to focus reviews on meaningful changes. https://claude.ai/code/session_01LYoJKgR9eQrhQgG5Z3JbPm
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Welcome to caro! 🎉Thank you for your first pull request, @wildcard! We're thrilled to have you as a contributor. Review Process:
Helpful Resources: Tips for a smooth review:
We appreciate your contribution! ❤️ |
There was a problem hiding this comment.
Pull request overview
This PR adds a Greptile configuration file (greptile.json) to enable automated PR review with domain-specific rules for caro's safety-critical patterns, backend trait contracts, error handling standards, and POSIX compliance requirements.
Changes:
- Adds greptile.json with review settings, context files, ignore patterns, and custom coding rules for automated PR reviews
greptile.json
Outdated
| "i18n/**", | ||
| "vendor/**" |
There was a problem hiding this comment.
The ignorePattern "vendor/**" references a directory that does not exist in the repository. This pattern should be removed as there is no vendor directory in the codebase.
| "i18n/**", | |
| "vendor/**" | |
| "i18n/**" |
greptile.json
Outdated
| "id": "backend-trait-contract", | ||
| "description": "All inference backends must implement the InferenceBackend trait defined in src/inference/mod.rs. New backends require contract tests in tests/backend_trait_contract.rs.", | ||
| "paths": ["src/inference/**"] |
There was a problem hiding this comment.
The rule references "src/inference/" which does not exist in the repository. The actual directory is "src/backends/". The paths should be updated to ["src/backends/"] to match the actual codebase structure. Additionally, the description mentions "InferenceBackend trait" but the actual trait is named "CommandGenerator" as defined in src/backends/mod.rs.
greptile.json
Outdated
| { | ||
| "id": "posix-compliance", | ||
| "description": "Generated shell commands must be POSIX-compliant. Do not use bash-specific syntax (arrays, [[ ]], process substitution) unless the detected shell is bash.", | ||
| "paths": ["src/prompts/**", "src/inference/**"] |
There was a problem hiding this comment.
The rule references "src/prompts/" and "src/inference/" in its paths. The "src/inference/" path does not exist in the repository - it should be "src/backends/" to match the actual directory structure.
greptile.json
Outdated
| "CLAUDE.md", | ||
| "docs/development/AGENTS.md", | ||
| "src/safety/patterns.rs", | ||
| "src/inference/mod.rs", |
There was a problem hiding this comment.
The contextFile "src/inference/mod.rs" does not exist in the repository. The actual directory is "src/backends/" with the trait defined in "src/backends/mod.rs". This should be updated to "src/backends/mod.rs" to reference the correct file containing the CommandGenerator trait definition.
| "src/inference/mod.rs", | |
| "src/backends/mod.rs", |
greptile.json
Outdated
| "target/**", | ||
| ".worktrees/**", | ||
| "kitty-specs/**/tasks/**", | ||
| "i18n/**", |
There was a problem hiding this comment.
The ignorePattern "i18n/**" references a directory that does not exist in the repository. This pattern should be removed unless there are plans to add i18n support in the near future.
| "i18n/**", |
Greptile OverviewGreptile SummaryAdds Critical Issues Found:
Configuration Quality:
Confidence Score: 2/5
Sequence DiagramsequenceDiagram
participant Dev as Developer
participant GH as GitHub PR
participant Greptile as Greptile Bot
participant Config as greptile.json
participant Context as Context Files
participant Rules as Review Rules
Dev->>GH: Opens PR
GH->>Greptile: Trigger PR review
Greptile->>Config: Load configuration
Config->>Greptile: reviewSettings (strictness: high)
Config->>Greptile: ignorePatterns (*.lock, i18n/**)
Greptile->>Context: Load CLAUDE.md
Greptile->>Context: Load src/safety/patterns.rs
Greptile->>Context: Load src/backends/mod.rs (ERROR: config has src/inference/mod.rs)
Greptile->>Context: Load docs/development/AGENTS.md
Greptile->>Context: Load docs/adr/README.md
Greptile->>Rules: Apply 7 domain-specific rules
Rules->>Greptile: safety-pattern-tdd
Rules->>Greptile: no-panics-in-production
Rules->>Greptile: backend-trait-contract (ERROR: wrong trait/path)
Rules->>Greptile: no-direct-main-commits
Rules->>Greptile: safety-zero-false-positives
Rules->>Greptile: use-anyhow-for-errors
Rules->>Greptile: posix-compliance
Greptile->>GH: Post review (max 15 comments)
GH->>Dev: Display review feedback
|
greptile.json
Outdated
| "CLAUDE.md", | ||
| "docs/development/AGENTS.md", | ||
| "src/safety/patterns.rs", | ||
| "src/inference/mod.rs", |
There was a problem hiding this comment.
src/inference/mod.rs doesn't exist - should be src/backends/mod.rs
| "src/inference/mod.rs", | |
| "src/backends/mod.rs", |
Prompt To Fix With AI
This is a comment left during a code review.
Path: greptile.json
Line: 14:14
Comment:
`src/inference/mod.rs` doesn't exist - should be `src/backends/mod.rs`
```suggestion
"src/backends/mod.rs",
```
How can I resolve this? If you propose a fix, please make it concise.
greptile.json
Outdated
| { | ||
| "id": "backend-trait-contract", | ||
| "description": "All inference backends must implement the InferenceBackend trait defined in src/inference/mod.rs. New backends require contract tests in tests/backend_trait_contract.rs.", | ||
| "paths": ["src/inference/**"] |
There was a problem hiding this comment.
Rule references InferenceBackend trait but actual trait is CommandGenerator (found in src/backends/mod.rs:17)
| "paths": ["src/inference/**"] | |
| "description": "All command generation backends must implement the CommandGenerator trait defined in src/backends/mod.rs. New backends require contract tests in tests/backend_trait_contract.rs.", |
Prompt To Fix With AI
This is a comment left during a code review.
Path: greptile.json
Line: 40:40
Comment:
Rule references `InferenceBackend` trait but actual trait is `CommandGenerator` (found in `src/backends/mod.rs:17`)
```suggestion
"description": "All command generation backends must implement the CommandGenerator trait defined in src/backends/mod.rs. New backends require contract tests in tests/backend_trait_contract.rs.",
```
How can I resolve this? If you propose a fix, please make it concise.
greptile.json
Outdated
| "id": "backend-trait-contract", | ||
| "description": "All inference backends must implement the InferenceBackend trait defined in src/inference/mod.rs. New backends require contract tests in tests/backend_trait_contract.rs.", | ||
| "paths": ["src/inference/**"] | ||
| }, |
There was a problem hiding this comment.
Path pattern should match actual directory structure (src/backends/ not src/inference/)
| }, | |
| "paths": ["src/backends/**"] |
Prompt To Fix With AI
This is a comment left during a code review.
Path: greptile.json
Line: 41:41
Comment:
Path pattern should match actual directory structure (`src/backends/` not `src/inference/`)
```suggestion
"paths": ["src/backends/**"]
```
How can I resolve this? If you propose a fix, please make it concise.
Website Claims Verification ReportRun ID: 21430462250 Platform Resultsclaims-report-macos-latest{
"suite": "website-claims",
"platform": "macos-latest",
"timestamp": "2026-01-28T08:30:39Z",
"passed": 84,
"skipped": 0,
"warnings": 1,
"run_id": "21430462250",
"sha": "70bf79ad28bf37124c204f007e1fd4cabb2900b3"
}claims-report-ubuntu-latest{
"suite": "website-claims",
"platform": "ubuntu-latest",
"timestamp": "2026-01-28T08:20:04Z",
"passed": 84,
"skipped": 0,
"warnings": 1,
"run_id": "21430462250",
"sha": "70bf79ad28bf37124c204f007e1fd4cabb2900b3"
}DocumentationNext Steps
|
- src/inference/ → src/backends/ (correct directory) - InferenceBackend → CommandGenerator (correct trait name) - Remove non-existent i18n/** and vendor/** ignore patterns https://claude.ai/code/session_01LYoJKgR9eQrhQgG5Z3JbPm
Previous config used invented keys (reviewSettings, contextFiles, rules with id/paths). Rewritten to use the documented schema: strictness, triggerOnUpdates, customContext with rules/files/scope, ignorePatterns as newline-separated string, etc. https://claude.ai/code/session_01LYoJKgR9eQrhQgG5Z3JbPm
Configures Greptile with domain-specific rules for caro's safety-critical
patterns, backend trait contracts, error handling standards, and POSIX
compliance requirements. Includes context files and ignore patterns to
focus reviews on meaningful changes.
https://claude.ai/code/session_01LYoJKgR9eQrhQgG5Z3JbPm
Summary by cubic
Adds greptile.json to enforce repo-specific PR review standards with strict checks and automated status reporting. Focuses reviews on safety patterns, backend contracts, error handling, and POSIX shell compliance.
Written for commit 5a6855b. Summary will update on new commits.