Skip to content

design(autogen-markdown-doc): entire 350-line implementation lives in bin/ — contradicts "thin bin" design principle; no src/ directory #74

Description

@datalackey

Finding

bin/autogen-markdown-doc.js is ~350 lines containing CLI parsing, marker detection, orchestration, error handling, and output formatting. DESIGN-PRINCIPLES.md states: "The bin file should remain as thin as possible — typically just a runCli call and a descriptor import. All real logic belongs in src/ as TypeScript."

There is no src/ directory. The project.json silently acknowledges "no build step," but DESIGN-PRINCIPLES does not document this exception for orchestrator packages.

Context

The no-TypeScript / no-src/ design may be intentional for autogen as a pure orchestrator (it spawns child plugins rather than implementing file-processing logic itself). If so, DESIGN-PRINCIPLES should be updated to carve out orchestrator packages explicitly.

Options

  1. Refactor into src/ — extract orchestration logic into TypeScript files under src/, add a build step, make bin/ a thin launcher. High effort.
  2. Document the exception — add a note to DESIGN-PRINCIPLES acknowledging that orchestrator packages with no file-processing logic are exempt from the thin-bin rule. Low effort.

Severity

⚪ Design / convention alignment (no runtime impact)

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions