Crates.io | yggdrasil-cli |
lib.rs | yggdrasil-cli |
version | 0.1.3 |
created_at | 2025-09-06 21:55:21.888257+00 |
updated_at | 2025-09-18 23:27:29.170015+00 |
description | The god-tree of your codebase β flatten projects into an AI-ready codex. |
homepage | |
repository | https://github.com/andrewrgarcia/yggdrasil-cli |
max_upload_size | |
id | 1827653 |
size | 923,083 |
The god-tree of your codebase
Flatten your entire project into an AI-ready codex β index + contents, in one command.
Yggdrasil CLI is a project flattener: it takes your codebase and transforms it into a single, structured document.
Think of it as tree
meets cat
, but with superpowers:
--only
, --ignore
, --blacklist
, --out
.Why? To make your repo AI-ready, doc-ready, and share-ready.
Yggdrasil doesnβt just list files β it builds a codex of your project.
Yggdrasil generates two sections:
# Export your repo as Markdown (index + contents)
ygg --show --md --contents --out SHOW.md
# List only file paths (no contents)
ygg --show rs
ygg --show py
ygg --show json --ignore node_modules .next
# Restrict scan to a subdir
ygg --show md --only src
# Exclude files listed in BLACK.md
ygg --show --blacklist BLACK.md --contents
# Show only files listed in a manifest (WHITE.md)
ygg --show --manifest WHITE.md --contents
# Pipe into another tool (AI, pager, etc.)
ygg --show --md --contents | less
A manifest is just a plain text file with one path per line. Only the files listed in the manifest will be shown.
Example WHITE.md
:
src/pages/codebase.tsx
src/data/codebaseAssets.tsx
src/i18n/codebase.en.json
src/i18n/codebase.es.json
src/types/codebase.ts
Run with:
ygg --show --manifest WHITE.md --contents
Youβll need Rust.
cargo install yggdrasil-cli
Then ensure ~/.cargo/bin
is in your PATH
.
Upgrade after edits:
cargo install --path . --force
In Norse myth, Yggdrasil is the world-tree connecting all realms. In your terminal, Yggdrasil connects all files β flattening complexity into a single codex.
Itβs built to be:
Goal: Make your projectβs structure transparent and portable.
--show
, --contents
)--md
)--ignore
, --blacklist
)--out
)MIT, like almost everything else thatβs friendly and open-source.