Seeding folder structures (opens in new tab)  🌳Git Internals

the problem

I have been using LLMs a lot lately.

And as part of working with claude, chatgpt, etc., is I get a lot of ideas, and most of those ideas produce folders with structures.

I’m sure you will recognize this type of output instantly...

I’m sure you get them too.

But now this is a problem. If I want to try these structures, I have to go and create all these files and folders manually.

And if I later decide on another structure, I need to go back and delete some files and folders, then go back and create, move or do whatever is needed to get the llm’s suggested structure. And so on and so forth over and over again.

I have a project called WhatzNew.ai, which has been through 5 complete rewrites in 2025. It has been through 12 or so different top-level structures and then 20 or so different structures for different paths...set now at around 300K lines of code. This last year, I have written one way or another close to 1M for this project alone.

And this is not the first time I have built SW, I have built systems used in the military, the government, small startups that became large companies and so on. Usually from the ground up, as a tech lead or CTO. Which is to say I should know.

But what LLMs have done is show the wider picture, and allowed a lot more iteration that yields better software in general.

What I realised during all this activity is that I don’t have a way to document a structure (programatically) and enforce it at a later date.

Which is #bad

But not anymore. As Alan Kay says, (paraphrasing)

"If you can roll your own tools, do so"

the solution

A cli package that does exactly that - seeds projects from tree-like specs.

The package seed-cli installs in your terminal via pip install seed-cli, and you can use it by just calling seed thereafter.

Why is it useful?

  • (1) Allows you to test multiple project structures
  • (2) It lets you move from one project structure to the next (and back if you want to)
  • (3) Allows you to lock a structure
  • (4) Shows what differs from the desired structure (hint: useful on deployments to enforce consistency)
  • (5) Allows you to create subfolders with the same structure from your programs; e.g.
.src
├── <id>
|   ├── A/
|   ├── B/
|   ├── C/
|   ├── D/
|   └── E/
...

Also, it solves deployment consistency and infrastructure consistency:

  • No more files that shouldn’t be on the server.
  • No more manually modifying CI/CD pipelines to match new structures.
  • Locked structures to match the spec.

But I am not trying to sell you anything, is free to use (MIT license) and in beta for you to try.

Why does it matter?

Because a project structure is important.

Loading more...

Keyboard Shortcuts

Navigation

Next / previous item
j/k
Open post
oorEnter
Preview post
v

Post Actions

Love post
a
Like post
l
Dislike post
d
Undo reaction
u
Save / unsave
s

Recommendations

Add interest / feed
Enter
Not interested
x

Go to

Home
gh
Interests
gi
Feeds
gf
Likes
gl
History
gy
Changelog
gc
Settings
gs
Browse
gb
Search
/

General

Show this help
?
Submit feedback
!
Close modal / unfocus
Esc

Press ? anytime to show this help