Skip to content

Frame packs — installable domain-specific frame sets #49

Description

@UditAkhourii

Idea

`FRAMES` in src/frames.ts is one flat, engineering-biased array (hardware engineer, regulator, adversary, biology, logistics, etc.), filtered by `codeMode` and a loose `tags` field. There's no way to add a domain-specific set of frames without editing this file directly.

Proposal

  • Split `FRAMES` into named packs: `core` (current default), `security`, `ml-data`, `frontend`, `distsys`, `product-strategy`, `writing`.
  • Each pack is its own module exporting a `Frame[]`; `selectFrames` takes a `packs?: string[]` option (default `["core"]`) and pools frames from the requested packs before shuffling.
  • Add a `--pack` CLI flag (repeatable) and document pack authoring in CONTRIBUTING.md — this is the natural on-ramp for community PRs that doesn't require touching the engine.
  • This is the highest-leverage change for the "no-brainer skill for creative and interdisciplinary work" pitch: right now the tool is engineering-shaped by default with no clean extension point for other domains.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions