Skip to content

Support composable SOP configs (extends/imports) #31

@ldraney

Description

@ldraney

Context

As teams adopt dev-sop-engine, they'll want to share and layer configurations — e.g., a company base config with project-specific overrides. This is the pattern that made ESLint, Prettier, and TSConfig widely adopted.

Proposal

Add an extends field to sop.json:

{
  "extends": "@company/base-sop",  // npm package or relative path
  "rules": {
    "no-env-writes": { "enabled": false }  // Override inherited rule
  }
}

Semantics to decide

  • Merge strategy: deep merge? Per-section override? Array concat for events?
  • Resolution: npm packages? Git URLs? Local paths only?
  • Conflict handling: last-writer-wins? Explicit error on collision?

Why it matters

This is the difference between a tool individuals use and a tool organizations adopt. Shared, composable configs are the standard pattern for dev tooling governance.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestneeds reviewNeeds review before implementation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions