Skip to content

Doctor: Port layout-neutral check to TypeScript #79

@normenmueller

Description

@normenmueller

Context

Migrate the scaffold check cli/src/lib/doctor/_scaffold/checks/layout-neutral.sh to a native TypeScript module at cli/src/lib/doctor/checks/layout-neutral.ts.

Acceptance Criteria

  • cli/src/lib/doctor/checks/layout-neutral.ts exports validate(corpusRoot: string): DiagnosticResult[]
  • Check verifies that capability directory layout follows the prescribed structure (no unexpected files or directories)
  • Check verifies naming conventions (kebab-case, no uppercase, no spaces)
  • ai4x doctor invokes the new check (replaces scaffold invocation)
  • Scaffold counterpart (layout-neutral.sh) deleted after port
  • Tests cover: valid layout (pass), unexpected file in domain dir (fail), invalid naming (fail)

Technical Notes

  • Pure function: corpus path in, diagnostics out
  • DiagnosticResult schema as defined in the doctor module
  • The shell script uses find/grep; TypeScript port must replicate the same traversal and pattern logic
  • Reference implementation: cli/src/lib/doctor/_scaffold/checks/layout-neutral.sh

Metadata

Metadata

Assignees

No one assigned

    Labels

    storyStory: implementable unit of work within an Epic

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions