Skip to content

Seed CLI

v1.0.9 Breaking

This release includes breaking changes for platform teams planning a safe upgrade.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Summary

AI summary

Project‑template registration now infers placeholders, substitutes all values, and fixes recovery gaps.

Full changelog

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

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Seed CLI

Get notified when new releases ship.

Sign up free

About Seed CLI

All releases →

Beta — feedback welcome: [email protected]