Skip to content

Remove the base directory and organize abstract templates by concern #1504

Description

@braboj

Problem

templates/base/ originally held reusable abstractions. It now groups unrelated domains, while backend and frontend templates also act as abstractions. The folder no longer explains ownership clearly.

Proposed change

Promote the six existing concern directories and retain the other layers:

templates/
  core/
  language/
  security/
  workflow/
  infra/
  data/
  backend/
  frontend/
  platform/
  stack/
  manifest.yaml
  INTERVIEW.md

Folders identify concerns. Manifest dependencies determine inclusion; the explicit core: list determines the always-included tier. Preserve existing template and section IDs, including base-*, during the path migration.

This change improves ownership and navigation. Reducing loaded context requires the separate dependency/delivery work.

Acceptance criteria

  • Coordinate final ownership with The hourglass has inverted: half the core is an operating manual, not engineering policy #1480 so files move once. If the coherent restructuring warrants an ADR under Stop routine maintenance from generating unnecessary ADRs #1506, share one record across the related work; preserve ADR-005 as history.
  • Move the six concern directories out of base/ without changing IDs.
  • Update manifest paths, dependency headers, tooling/test assumptions, documentation, and example references; regenerate derived artifacts.
  • Account for every tracked old-path reference, distinguishing active references from intentional history.
  • Verify the same ordered template IDs resolve for every stack and opt-in root before/after. Keep semantic dependency changes separate.
  • Pass existing smoke, synchronization, generated-chain, redundancy, and applicable conformance checks.
  • Publish the consumer path mapping and a v3.0 changelog entry, covering vendored paths and reference/hybrid files. Explain how consumers remain on v2 until migrated.

Related work

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High — must fix before next milestonetaskAtomic implementable work

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions