Skip to content

v1.0.9

Choose a tag to compare

@Isaac12x Isaac12x released this 14 May 12:38

Fixed

  • Made project-template registration infer placeholder templates from any <var> in spec paths, including path-line specs, placeholder filenames, and templates with multiple placeholders.
  • Made seed create substitute all placeholder values in selected templates so nested placeholders such as <name> are not left in created paths.

Added

  • Added seed register <spec> in src/seed_cli/cli.py to:
    • mirror .tree specs into .seed/templates/
    • extract nested project templates into .seed/templates/project/
    • remove stale literal placeholder paths such as <name>/ left by older apply runs
  • Added first-class .seed spec support across parsing, CLI flows, template registration, and template lookup.
  • Added inline .seed metadata markers:
    • !kind
    • +tag
    • -> URL

Changed

  • Refactored project-template registration in src/seed_cli/project_templates.py:
    • introduced explicit registration result/cleanup helpers
    • moved stale placeholder cleanup into the shared registration flow
    • mirrors any .tree spec, even when it has no template subtree to extract
  • Extended spec parsing and export to preserve inline node metadata, and wired directory URL metadata into existing remote content source handling.
  • Updated README.md and the GitHub Pages docs to document .seed specs, inline marker syntax, specs watch, .seed templates, and expanded content-source support.
  • Replaced the test-only GitHub Actions workflow with tag-gated build and PyPI publish jobs using Trusted Publishing.
  • Updated apply() in src/seed_cli/apply.py:
    • runs the shared registration flow for spec inputs after snapshot creation and under the apply lock
    • removes previously materialized literal template subtrees before executing the pruned plan
  • Updated documentation in README.md and docs/index.html:
    • documents seed register
    • clarifies that seed apply <spec> auto-registers project-local templates

Fixed

  • Fixed a project-template recovery gap where rerunning seed apply FILENAME.tree on older worktrees could leave literal <NAME> directories in place instead of converting them into .seed support files.
  • Removed duplicate default-template force-includes from the wheel build so release artifacts do not contain repeated zip entries.
  • Excluded local coverage and code-index artifacts from source distributions.

Tests

  • Added coverage for explicit registration and stale template cleanup in:
    • tests/test_apply.py
    • tests/test_cli.py
    • tests/test_project_templates.py
  • Added coverage for .seed parsing, content-source metadata, and template registry .seed resolution in:
    • tests/test_parsers.py
    • tests/test_content_sources.py
    • tests/test_template_registry.py