Skip to content

feat: multi-template catalog generation (diecut share at repo root) #135

Description

@raiderrobert

Problem

Some template repos host multiple templates in subdirectories — e.g. raiderrobert/templates with rust-cli, godot-tag-game, claude-code-plugin. Authors currently hand-write a catalog README with install instructions for each. The diecut share feature handles a single template; this ticket extends it to emit a catalog when run at a repo root.

Proposed feature

When diecut share runs at the root of a repo with no diecut.toml directly in cwd but one or more subdirectories containing diecut.toml, emit a catalog:

# Templates

| Template | Description | Install |
|---|---|---|
| rust-cli | A command-line tool | `diecut new gh:user/templates/rust-cli` |
| godot-tag-game | A game built with Godot | `diecut new gh:user/templates/godot-tag-game` |
  • Template name = subdirectory name
  • Description = new optional description field in diecut.toml (or first line of template's own README as fallback)
  • Install command = what single-template diecut share would emit for each subdirectory

Dependencies

  • diecut share (single-template mode) must land first — this is a mode extension of the same command.

Open questions

  • Description source: new diecut.toml field, parsed README first line, or both?
  • Write target: repo root README.md (with fence markers) or dedicated CATALOG.md?

Acceptance criteria

  • Catalog mode triggers automatically at repo root with no diecut.toml present but subdirectories containing one
  • Scans subdirectories, emits markdown table
  • Description field support
  • Tests with a multi-template fixture repo
  • Docs

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

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions