Skip to main content
sdlc.yaml is the single source of truth for each repository’s SDLC policy. LaneSync reads it from GitHub — never hardcode check names or workflow names in application code.

File location

LaneSync bootstraps this file during the repo setup wizard. You edit it like any other config — commit, push, and LaneSync reacts via webhook.

Minimal example

Schema overview

See the full sdlc.yaml schema reference.

Live reads vs database cache

LaneSync maintains two views of your config:
The database required_checks column is a cache. When you rename a CI job, update sdlc.yaml and push — the webhook re-parses checks, updates the DB, re-applies rulesets, and re-syncs milestones atomically.

Propagation on push

When sdlc.yaml is pushed to the default branch: All four steps must happen together. If you add a new consumer of required_checks, wire it into handleSdlcYamlChange in the webhook handler.

Required checks naming

Check names in required_checks must match GitHub Actions job names (the name: field or job key) exactly:
LaneSync never falls back to project-specific default check names. The only infrastructure constant is SDLC Enforce.

Trunk-based vs release-branch

Cut release/v1.0.0 after development completes. Testing gates evaluate checks on the release branch.

Feature mapping (optional)

Link test files to external feature IDs for quality tracking:
See Quality tracking.