Show HN: Create and Maintain Filesystem Structures for LLMs [v1.0.11 Out]

hunterx1 pts0 comments

seed-cli · PyPI

Skip to main content<br>Switch to mobile version

Warning

You are using an unsupported browser, upgrade to a newer version.

Warning

Some features may not work without JavaScript. Please try enabling it if you encounter problems.

Search PyPI

Search

seed-cli 1.0.11

pip install seed-cli

Copy PIP instructions

Latest release

Released:<br>Jun 7, 2026

The perfect pair for the `tree` program. Seed creates, updates and deletes file and folder structures in your codebase.

Navigation

Verified details

These details have been verified by PyPI<br>Maintainers

isaac_ar

Unverified details

These details have not been verified by PyPI<br>Project links

Issues

Repository

Meta

License: MIT License (ModifiedMIT)

Author: Isaac AR

Maintainer: Isaac AR

Tags

directory

filesystem

orchestration

seed

terraform

tree

Requires: Python >=3.10

Provides-Extra:<br>dev<br>, image<br>, ui

Classifiers

Development Status

4 - Beta

Intended Audience

Developers

License

OSI Approved :: MIT License

Operating System

OS Independent

Programming Language

Python :: 3

Python :: 3.10

Python :: 3.11

Python :: 3.12

Topic

Software Development :: Build Tools

Report project as malware

Project description

seed-cli

seed is a Terraform-inspired, spec-driven filesystem orchestration tool.

It captures directory trees, plans changes, applies them safely, syncs drift,<br>scaffolds projects from reusable templates, and can also execute<br>manifest-driven repository or service maintenance.

Think Terraform for directory trees , plus template scaffolding and<br>workspace maintenance .

Highlights

Multiple spec inputs: .tree, .seed, YAML, JSON, DOT, image OCR, and stdin

Deterministic planning with exportable plans: seed plan spec.seed --out plan.json

Safe execution of immutable plans: seed apply plan.json

Drift workflows: diff, sync, match, snapshots, and spec history

Template variables in paths and content: / and {{var}}

Project-local template registration under .seed/templates/

Reusable template registry with versions, locking, content sources, and built-in templates

Copier-style template config support: questions, defaults, answers files, excludes, skip-if-exists, and gated tasks

Manifest-driven repository/service/system maintenance with seed maintain

Structure locking, watch mode, state locks, hooks, Graphviz export, and shell completion

Install

pip install seed-cli<br>pip install "seed-cli[image]" # OCR/image parsing<br>pip install "seed-cli[ui]" # rich terminal output

Python >=3.10 is required.

Quick Start

Capture an existing directory, preview a plan, then apply it:

seed capture --out project.tree<br>seed plan project.tree --out plan.json<br>seed apply plan.json

For direct spec execution:

seed register project.tree<br>seed apply project.tree<br>seed diff project.tree

For repository or service automation:

seed maintain maintenance.yml<br>seed maintain maintenance.yml --execute

Commands

seed --help groups commands by workflow so related tasks are easier to scan.

Group<br>Commands<br>Description

Plan & Apply<br>plan, diff, apply, sync, match<br>Preview, compare, and apply filesystem changes

Templates<br>register, create, templates (template)<br>Register, instantiate, and manage reusable specs

State & History<br>capture, revert, specs, lock<br>Capture state, recover snapshots, inspect history, and enforce structure versions

Maintenance<br>doctor, maintain, hooks<br>Lint specs, run repository/service maintenance, and install hooks

Export & Utilities<br>export, utils<br>Export trees/plans/DOT output and run helper tools

Core Workflow

Immutable Plans

seed plan dir_structure.tree --out plan.json<br>seed apply plan.json

seed apply also accepts a spec directly:

seed apply dir_structure.tree

When you apply a spec with template placeholders such as / or<br>features/.ts, seed apply<br>first runs seed register semantics: it writes the supporting files under<br>.seed/templates/ and .seed/templates/project/, then removes any stale<br>literal placeholder paths like features// left behind by older runs.

Drift Detection

seed diff dir_structure.tree<br>seed sync dir_structure.tree --dangerous<br>seed match dir_structure.tree --dangerous

sync deletes extras not in the spec. match also creates missing paths while<br>respecting directories marked with ....

Partial Plans

seed plan dir_structure.tree --target scripts/<br>seed plan dir_structure.tree --targets "services/*"<br>seed plan dir_structure.tree --target-mode exact

Spec Syntax

Use .tree for simple filesystem specs, or .seed when you want the same tree-shaped format plus richer inline metadata such as kinds, tags, and URLs.

Basic Example

@include base.tree

scripts/<br>├── build.py @generated<br>├── notes.txt @manual<br>├── cache/ ...<br>└── docs/ ?

Markers

@include file.tree: include another spec

@generated: generated file

@manual: manually maintained file

?: optional file or directory

...: allow extras inside a directory

: template placeholder in a path segment or filename

{{var}}: variable interpolation in file contents

.seed also...

seed tree plan apply project spec

Related Articles