Readable Tree Output
Just run treedocs to see the repository at a glance. Current files render green, while stale or invalid entries render red so problems stand out immediately.
✅ The treedocs below is up to date with the filesystem.
.
├── README.md User-facing overview, installation, and command usage documentation.
├── Sources/ Swift package source code for the treedocs executable.
│ └── treedocs/ Main treedocs executable target.
│ ├── Commands/ ArgumentParser command implementations for treedocs subcommands.
│ └── Core/ Core services for loading, scanning, rendering, and updating treedocs data.
├── site/ Static files deployed to the project GitHub Pages site.
│ ├── index.html Landing page for the treedocs GitHub Pages site.
│ └── styles.css Stylesheet for the treedocs GitHub Pages landing page.
└── old-file.swift Stale entry: no matching path exists on disk.
The treedocs.yaml Schema
treedocs.yaml is a version-controlled map of your repository. It mirrors your file tree and stores a human-readable YAML description for every file and folder. This same description can be parsed and displayed with treedocs' rich tooling. The file format is defined by a canonical JSON Schema, which means editors, CI tools, and AI agents can all parse, validate, and understand the same structure.
Keeping docs up to date is an ongoing task, but treedocs makes it easy! Running treedocs sync updates your treedocs.yaml file, adding new paths and removing ghost paths. All that's left to do is add short descriptions. It's easy to update descriptions with treedocs update.
Or simply ask an agent to fill in your treedocs.yaml file for you. Agents are extremely good at filling in descriptions and everything can be validated with treedocs check.