greptile.json. All parameters are optional.
Looking for the recommended config format? The
.greptile/ folder supports everything greptile.json does, plus cascading per-directory overrides, separate rules files, and structured rules with severity and disable-by-ID. greptile.json is still fully supported — if both exist in the same directory, .greptile/ takes precedence.Place
greptile.json in your repository root. Settings are read from the source branch of the PR and override dashboard settings.Review Behavior
PR Filters
Control which PRs get reviewed:Glob patterns in filters
Label, author, and branch fields accept globs alongside literals. Matching is case-insensitive.*— any chars in a segment**— any chars across segments?— one char{a,b}—aorb[,], and leading!are literal.dependabot[bot]works as-is. Negation is not supported.
File Patterns
Example:
Cross-Repository Context
Configure related repositories Greptile should read during reviews (e.g., shared libraries or SDKs) under thecontext namespace.
Example:
Custom Context
customContext structure:
Review Output
Control how reviews appear:Review Components
Control visibility of individual review components:Review Sections
Fine-grained control over section visibility and behavior:
Example:
GitHub-Specific
Common confusion: To disable the “X files reviewed, no comments” message, set
statusCheck: true (not statusCommentsEnabled: false). When statusCheck is enabled, Greptile uses GitHub’s status check system instead of posting status comments.Complete Example
greptile.json
Parameter Reference by Category
All parameters alphabetically
All parameters alphabetically
commentTypes- arraycontext- object (withreposarray)customContext- objectdisabledLabels- arrayexcludeAuthors- arrayexcludeBranches- arrayfileChangeLimit- numberfixWithAI- booleanhideFooter- booleanignoreKeywords- stringignorePatterns- stringincludeAuthors- arrayincludeBranches- arrayincludeConfidenceScore- booleanincludeIssuesTable- booleanincludeKeywords- stringincludeSequenceDiagram- boolean (controls all diagram types)instructions- stringlabels- arraypatternRepositories- arrayshouldUpdateDescription- booleanskipReview- string (literal"AUTOMATIC")statusCheck- booleanstatusCommentsEnabled- booleanstrictness- number (1, 2, or 3)triggerOnDrafts- booleantriggerOnUpdates- booleanupdateSummaryOnly- boolean- Section objects:
summarySection,issuesTableSection,confidenceScoreSection,sequenceDiagramSection
Validation
JSON syntax errors
JSON syntax errors
Common mistakes:❌ Trailing commas:✅ No trailing comma:Validate your JSON:
Invalid parameter values
Invalid parameter values
strictness must be 1, 2, or 3:❌ Invalid - only 1, 2, or 3 allowedcommentTypes must be valid:✅ Valid options: ❌ Invalid - must be
logic, syntax, style, infoskipReview must be exactly “AUTOMATIC”:"AUTOMATIC" exactlyFile location
File location
✅ Correct: Repository root❌ Wrong: Subdirectory
Configuration not taking effect
Configuration not taking effect
Check:
- File is in repository root
- File exists in the source branch of the PR
- JSON is valid (use jsonlint)
- Parameter names are spelled correctly
- Waiting for new PR (changes don’t affect existing reviews)
Configuration Hierarchy
Settings priority (highest to lowest):- Org enforced rules (set by admins in the dashboard — cannot be overridden)
.greptile/folder (per-directory and repo-wide settings)greptile.jsonin repository root- Dashboard settings (organization defaults)
.greptile/ and greptile.json exist in the same directory, .greptile/ takes precedence and greptile.json is ignored. See Customization Overview for details.
What’s Next
- Custom Standards → - Enforce team-specific rules
- Cross Repo Context → - Reference related codebases
- Controlling Nitpickiness → - Configure review behavior