Skip to content

FR: meta fmt — expose the existing canonical serializer as a formatting command (+ --check) #304

Description

@dmealing

Gap

No meta fmt. In a repo where several people or teams edit metadata, formatting drift becomes diff noise, and there is no canonical way to normalize a hand-edited file.

Why this is cheap

The canonical serializer already exists — it is what the cross-port conformance corpora byte-match against, in all five ports. Exposing it as a CLI command is largely surfacing existing machinery rather than building new machinery.

Prior art (open source)

Buf ships buf format for exactly this reason, in the gofmt tradition: one canonical form, no debate. https://github.com/bufbuild/buf

Notes

  • Should be available in every port's CLI, not just the Node one, since each port already has the serializer.
  • Needs a decision on YAML: the canonical interchange form is JSON (ADR-0006), so formatting sigil-free authoring YAML is a separate question from emitting canonical JSON.
  • A --check mode (format-clean or fail) makes it usable as a CI gate.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions