cubic.yaml lives in the root of your repository and becomes the source of truth for AI review behavior, ignore patterns, PR descriptions, and custom agents. Commit the file, open a PR, and cubic automatically applies those settings to every future review.
You can also manage cubic settings for your entire organization from a single repository. Create a repository named cubic-config in your organization and add a cubic.yaml file to the root directory. cubic automatically applies these settings to any repository that doesn’t have its own configuration.Organization configuration is read from the default branch of cubic-config. Changes are picked up automatically when you push to the default branch, and cubic invalidates its cache so the next review on any repository in the org uses the updated settings.
You must add the cubic-config repository to your cubic installation. cubic needs access to read the configuration file.
Individual repositories can still override organization settings by adding their own cubic.yaml file. The cubic-config repository itself is always treated as organization configuration. Its cubic.yaml is never interpreted as a repo-level override.
cubic checks for configuration in this priority order:
Priority
Source
Description
1 (Highest)
Repository cubic.yaml
Settings defined in the repository root
2
Organization cubic.yaml
Settings from {org}/cubic-config repository
3
UI settings
Per-repository settings configured in the cubic dashboard
4 (Lowest)
Defaults
Built-in cubic defaults
UI settings are stored per-repository. The “All repositories” option in the dashboard applies changes to all existing repositories at once, but new repositories start with built-in defaults. Use organization cubic.yaml to ensure consistent defaults across all repositories, including new ones.
Partial YAML is supported at every level. Any field you set overrides lower-priority sources. Anything you leave out falls through to the next level.When both repository and organization YAML exist, cubic merges them:
Settings not defined in the repository YAML inherit from organization YAML
Custom rules are additive: repository rules come first, then organization rules fill remaining slots
This allows you to define organization-wide defaults in the organization config while letting repositories customize specific settings.
To opt out of custom rules defined in organization config entirely, set custom_rules: [] in your repository config. This explicitly clears inherited rules rather than adding to them.
Example: Merging organization and repository config
Organization config (cubic-config/cubic.yaml):
version: 1reviews: enabled: true sensitivity: high custom_instructions: "Outline any project-specific guidance you want included in reviews." custom_rules: - name: No console logs in production description: Ensure that console.log statements are removed before merging. These should not be present in production code to prevent leaking sensitive information and to improve performance.
Repository config (my-repo/cubic.yaml):
version: 1reviews: sensitivity: low # Override org's "high" custom_rules: - name: API validation description: Check API contracts
Effective config (what cubic uses):
enabled: true — inherited from organization
sensitivity: low — overridden by repository
custom_instructions: "Outline any project-specific guidance..." — inherited from organization
Validation errors do not block reviews. If the YAML has an issue, cubic falls back to UI settings and shows the exact error on the AI review settings page so you can fix it on your next commit. Note that an invalid repository cubic.yaml falls back to UI settings, not to organization configuration—this keeps failure modes predictable.
Editors such as VS Code, Cursor, and JetBrains detect the # yaml-language-server: $schema=… directive at the top of cubic.yaml. Keep that line (or add it yourself) and the editor downloads https://cubic.dev/schema/cubic-repository-config.schema.json to validate the file structure and surface inline errors before you commit.
Mirrors AI review settings and lets you define custom agents.
pr_descriptions
No
Controls AI-authored PR summaries and optional instructions.
issues
No
Controls “Fix with cubic” buttons and PR comment-requested fixes.
If you add a top-level key cubic doesn’t recognize yet, the value is ignored and an unknown_top_level_key warning appears on the AI review settings page so you know it had no effect.
true includes AI-generated architecture diagrams in review summaries; false skips them. Default: false.
external_contributors_require_manual_review
true skips automatic reviews for public-repository PRs from external contributors until a trusted installation member manually triggers one. Default: false.
resolve_threads_when_addressed
true automatically resolves GitHub threads when cubic detects an issue has been addressed; false only updates the comment. Default: true.
custom_instructions
Free-form guidance for the reviewer. Whitespace is trimmed; empty strings clear the value.
Ignore filters control when cubic skips running reviews. They map directly to the “Ignore patterns” controls in the AI review settings UI. All lists accept glob strings, and duplicates/blank entries are dropped automatically.
YAML path
Effect
reviews.ignore.files
Skip matching files entirely (same syntax as .gitignore).
reviews.ignore.head_branches
Ignore PRs based on their source branch.
reviews.ignore.base_branches
Ignore PRs targeting specific base branches.
reviews.ignore.pr_labels
Ignore PRs with one of these labels. Supports wildcards.
reviews.ignore.pr_titles
Ignore PRs whose titles match the provided wildcard patterns.
Each agent needs a name, description, and optional include/exclude glob lists.
Order matters. When you exceed the installation’s rule limit, only the first N agents take effect.
Identical patterns are deduplicated. If an exclude matches an include, the exclude wins.
Agents defined in YAML appear in the dashboard as read-only “Managed by cubic.yaml” entries so teammates can still see them. Learn more about how agents behave in the UI on the Custom agents page.
Extra guidance for the summary. Only applied when generate is true; otherwise it is ignored with a warning.
Some installations disable PR descriptions globally for compliance reasons. If that applies to you, the UI will show a warning even if the YAML enables the feature.