> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lanesync.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Configure an organization

> Manage SDLC configuration centrally, choose repository customization, and review where GitHub rulesets are stored.

Organization setup puts your shared SDLC configuration in `<org>/.github/sdlc.yaml` and LaneSync’s SDLC rulesets in **GitHub organization settings**. Independent repository setup puts both configuration and rulesets in that repository.

## Before you start

You need workspace administrator access and GitHub organization ownership. The installed GitHub App needs durable organization Administration write permission and Contents write access. Accept the App’s permission update and grant access to the central `.github` repository, including private repositories. Your GitHub plan must support organization rulesets (Team or Enterprise); the wizard verifies it before saving.

Personal accounts use repository setup. Installations without organization management permissions can continue configuring independent repositories.

<Steps>
  <Step title="Open Orgs & Repos">
    Sign in at [lanesync.dev](https://lanesync.dev), open **Orgs & Repos**, and choose your organization under **Configure organization**.
  </Step>

  <Step title="Configure your pipeline">
    Follow **Branches → CI Checks → Approvals → Quality gates**. Choose release branches or trunk, release naming, the exact shared check names, approval counts for each stage, and optional quality thresholds. Language and generated workflows depend on each repository, so they are outside organization policy.

    Open **Advanced YAML settings** on the review step for other supported settings. Review values migrated from saved wizard settings; YAML becomes authoritative after saving.
  </Step>

  <Step title="Choose repository customization">
    **Allow repository customization** defaults to **No**. Existing repository YAML files stay untouched and are ignored.

    Choose **Yes** to allow optional partial repository YAML. Repositories without local customization need no `sdlc.yaml`. Organization minimums remain enforced.
  </Step>

  <Step title="Review destinations and migration">
    Review the central file destination, organization ruleset destination, affected repositories, local-file conflicts, and grouped rulesets. Existing unrelated protection continues to apply. SDLC tag protection covers all tags by default, including calendar and train names; set `stages.deployment.tag_pattern` centrally to narrow that target.

    Select old rules for retirement only when you confirm LaneSync owns them. LaneSync verifies replacements before disabling selected rules and retains unresolved migration records for retry.
  </Step>

  <Step title="Apply and verify">
    Apply organization setup. If `.github` does not exist, LaneSync can create it as a private repository; it need not be a template repository. It is excluded from release tracking.

    A partial save means confirmed GitHub changes remain saved and recovery is required. Review the current state before retrying. It does not certify readiness.
  </Step>
</Steps>

<Note>
  Coverage follows the GitHub App’s installation access. “Only select repositories” limits coverage to that selection; newly granted repositories enroll through installation events and reconciliation. Organization setup does not grant the App additional repository access.
</Note>

## Predictable customization

Repository setup pages for covered repositories show inherited configuration and its provenance: **Organization**, **Repository**, **Combined**, or **Default**. They cannot switch independently to repository scope. **Use organization value** removes the local field so future organization changes continue to inherit.

Required-check lists combine with exact duplicates removed. Spelling and case remain unchanged, and `SDLC Enforce` is included exactly once. An empty repository check list adds nothing.

Approval and coverage minimums can increase. Vulnerability maximums can decrease, including zero. Requirement booleans may strengthen from false to true. A repository cannot weaken an organization requirement using null, false, zero, or an empty list.

Reviewer teams, protected targets, release naming, stage presence, deployment environments, and promotion remain organization-controlled. Name and automatic feature/release branch settings may be customized. Feature mappings replace as complete lists; `features: []` clears them.

```yaml Organization configuration theme={null}
version: v1
organization:
  allow_repository_customization: true
stages:
  development:
    branch: main
    required_checks: [Build, Security] # Example CI names
  testing:
    branch_pattern: "release/**"
  evidencing:
    required_reviewers:
      min_approvals: 2
```

```yaml Optional repository customization theme={null}
stages:
  development:
    required_checks: [Integration] # An additional required job
  evidencing:
    required_reviewers:
      min_approvals: 3
```

The effective development checks are `SDLC Enforce`, `Build`, `Security`, and `Integration`. Evidence needs three approvals. Setting the local approval count to one is rejected.

## Parsing and recovery

Use YAML 1.2 with schema `version: v1`. Canonical documents use `stages:`; existing stage-at-root documents are adapted explicitly. Do not mix both layouts, use duplicate or unknown keys, custom tags, anchors, aliases, or YAML merge keys.

Omitted fields inherit. Partial mappings, including `{}`, preserve omitted children. Explicit false, zero, empty arrays, and nullable null values remain distinct. Defaults are applied after inheritance; nullable quality thresholds default to no threshold, approvals to one, and deployment promotion to manual.

Direct GitHub edits can create conflicts after a central minimum increases. LaneSync applies current organization minimums, retains valid stronger protection, and blocks readiness until you reconcile the configuration. Permission failures are unknown, and status checks do not reactivate deliberately disabled rulesets.

See [sdlc.yaml configuration](/concepts/sdlc-yaml) and [the schema reference](/reference/sdlc-yaml-schema).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.