Compiling TypeScript to configuration.
Try it in ten minutes Add it to your platform The specification
Pure synthesis, no executionRules over valuesRound-trip generation
governance.ymlorgs:
my-org:
repos:
api:
hasWiki: false
allowSquashMerge: true
topics: [service, api]
branchProtection:
- ruleName: main
requiredApprovals: 1
enableStatusCheck: true
statusCheckContexts: [ci]governance.tsimport type { GovernanceConfig } from "@intentius/forgejo-warden";
import { service } from "./helpers.ts";
export const policy = {
orgs: {
"my-org": {
repos: { api: service("api"), web: service("web") },
},
},
} satisfies GovernanceConfig;The second one has completion and a type error on a misspelt key. It reuses one helper across repositories. The tool reads the same object from either file and never executes the second one to get it. Three things follow, one page each below. New to any of this? Start here.
governance.ts through the published reference; the first consumer that is neither this repository nor chant. Its .ts loader is on main (forgejo-warden#33), and the tutorial’s six steps run against it weekly.2.1 against chant 0.73.0Every figure on this site is read from an artifact in the repository at build time. The evidence page names each artifact and what it does not establish.