Skip to content

Declarative GitHub governance · Octoform 0.3

Make repository policy visible before it becomes real

Octoform compares an explicit YAML policy with the current state of your GitHub repositories, builds a deterministic plan, and applies only the changes you approve.

Read-only audit Deterministic plan Explicit apply

Governance is a reviewable workflow

Every run separates what you intend, what GitHub currently exposes, and what Octoform is actually allowed to change.

01 · Declare

Describe only what you manage

Omitted settings remain untouched. Defaults, repository types, and repository overrides resolve field by field into one effective policy.

02 · Review

See drift and blocked work

The plan identifies current and desired values, warnings, unsupported capabilities, and operations the supplied token cannot prove safe.

03 · Apply

Confirm deliberate changes

Octoform presents the planned operations before mutation and reports each outcome without treating unreadable state as permission to overwrite it.

Start with the smallest useful policy

octoform.yml
owner: your-account

defaults:
  features:
    wiki: false
  security:
    vulnerability_alerts: true

The example manages two explicit settings and makes no claim about anything else. Produce a read-only plan before considering an apply:

octoform plan --config octoform.yml

Follow the complete quick start →

Safety is part of the model

Omission means unmanaged

A short configuration cannot silently become an instruction to disable or delete settings you never declared.

Capability comes from evidence

Owner kind, repository visibility, token permissions, and GitHub responses decide whether an operation is available—not a hard-coded commercial plan name.

Uncertainty blocks mutation

If Octoform cannot read enough state to produce a trustworthy diff, the plan surfaces the block instead of inventing a safe-looking answer.

Current documentation: this site describes Octoform 0.3. Use the version selector when operating another release line so commands, configuration, and permissions remain aligned with the package you installed.