Skip to main content
This page is generated from schema/smartcloud.schema.json, which is generated from the Effect Schema in packages/config. The guides explain what each section does; this page lists every key.

Top level

Declarative repository automation: labels, conventions and policy. Other keys are an error.

Types

ExtendsEntry

A preset to extend, as owner/repo/path@ref. The ref is optional. Pattern: ^(?!\.\.?\/)([A-Za-z0-9_.-]+)\/(?!\.\.?\/)([A-Za-z0-9_.-]+)\/((?!\.\.?(?:\/|@|$))[^/@]+(?:\/(?!\.\.?(?:\/|@|$))[^/@]+)*)(?:@([^@\s]+))?$. Type: string.

Label

Other keys are an error.

Color

Six hex digits, for example 0E8A16. Pattern: ^#?[0-9a-fA-F]{6}$. Type: string.

RuleId

A label or rule key. Pattern: ^\S[\s\S]*\S$|^\S$|^$. At least 1 character(s). Type: string.

LabelRule

Other keys are an error.

Subjects

The subjects a rule applies to. Omitted means pull requests and issues. Type: list of one of pullRequest, issue.

ConditionGroup

Other keys are an error.

NonNegativeInt

Minimum: 0. Type: integer.

Condition

Type: any of titleMatches, descriptionMatches, creatorMatches, branchMatches, isOpen, isLocked, isDraft, pendingReview, requestedChanges, commitsSignedOff, hasLabel, isStale, isAbandoned, filesMatch, changesSize, isApproved, commitMessagesMatch, hasTrailer, and](#and), [or, not](#not), [only.

Pattern

Type: string.

Conventions

Other keys are an error.

ConventionRule

Other keys are an error.

Roles

Other keys are an error. Other keys are an error.

Commits

Other keys are an error.

Level

Type: one of error, warning.

Disclosure

Other keys are an error.

Reviews

Other keys are an error.

RequestApproval

Other keys are an error.

AutomaticApprove

Other keys are an error.

Stale

Other keys are an error.

NonNegative

Minimum: 0. Type: number.

Settings

Other keys are an error.

Sync

Other keys are an error.

Conditions

Each condition is an object with a type naming it. See Conditions for how groups and combinators evaluate.

titleMatches

The title matches a pattern. Other keys are an error.

descriptionMatches

The description matches a pattern. Other keys are an error.

creatorMatches

The author’s login matches a pattern. Other keys are an error.

branchMatches

The pull request’s head branch matches a pattern. Other keys are an error.

isOpen

The subject is open, or closed when false. Other keys are an error.

isLocked

The conversation is locked, or unlocked when false. Other keys are an error.

isDraft

The pull request is a draft, or ready when false. Other keys are an error.

pendingReview

Requested reviewers have not reviewed yet. Other keys are an error.

requestedChanges

A reviewer’s latest review requests changes. Other keys are an error.

commitsSignedOff

Every non-merge commit has a Signed-off-by trailer matching its author email. Other keys are an error.

hasLabel

The subject has the label, or lacks it when false. Other keys are an error.

isStale

No activity for at least this many days. Other keys are an error.

isAbandoned

Carries the stale label and has had no activity for at least this many days. Other keys are an error.

filesMatch

At least one changed file matches a glob. Other keys are an error.

changesSize

Lines added plus deleted are at least min and below max. Other keys are an error.

isApproved

No reviewer is pending or requesting changes, and at least this many approved. Other keys are an error.

commitMessagesMatch

Commit messages match a pattern. Other keys are an error.

hasTrailer

Commits carry the trailer, with a value matching the pattern when one is given. Other keys are an error.

$and

Every group passes. Other keys are an error.

$or

At least one group passes. Other keys are an error.

$not

The group fails. Other keys are an error.

$only

Exactly this many of the groups pass. Other keys are an error.
Last modified on September 26, 2026