| Crates.io | foldr |
| lib.rs | foldr |
| version | 0.2.2 |
| created_at | 2025-08-04 14:31:18.817763+00 |
| updated_at | 2025-08-04 17:27:49.997179+00 |
| description | Foldr, the blazing fast templating tool |
| homepage | |
| repository | https://github.com/TheExiledCat/foldr-cli |
| max_upload_size | |
| id | 1780781 |
| size | 145,797 |
foldr is a blazing-fast, flexible command-line tool written in Rust for managing reusable directory / project templates.
Easily snapshot a folder structure and reuse it anytime — great for setting up projects, configurations, or boilerplate.
~/.foldr)ratatui (Available in a future release)install from crates.io
# Using Cargo
cargo install foldr
Or build from source using cargo toolchain:
git clone https://github.com/TheExiledCat/foldr-cli
cd foldr-cli
cargo build --release
# or cargo build --release --features tui if you want tui support
You can also grab a prebuilt binary for your platform in the releases page
# Save current directory as a template named 'cproject'
foldr save . cproject
# or group templates (this will make a directory called c and place the template in it)
foldr save . c/helloworld
# List all saved templates
foldr list
# Create a new project from template 'cproject'
foldr new cproject ./new_project
# Launch the terminal UI for browsing and editing templates (only available when using the tui feature flag or from a prebuilt binary)
foldr tui
# update a template to the current directory and increase its version counter
foldr update cproject .
# delete old versions of all or a single template
foldr purge
# show the contents of a template
foldr show cproject
# http support for fetching remote templates and easy sharing of templates
foldr new https://example.com/template.foldr ./remote_project (Not available in version 0.1.x)
# or to create a permanent template from a remote
foldr fetch https://example.com/template.foldr template_name
for the full list of commands use foldr --help
~/.foldr/templates/.foldr file with versioning support (its really just a zip file containing the folder and also some metadata)~/.foldr/config.json or a file can be passed in the --config flagfoldr config command which will create the configuration using an interactive cliuse_cache key in the config. When disabled searching and listing will manually walk the templates directory and list the templates that way, which is much slower if you have alot of templates.Pull requests, issues, and feedback welcome!
Please check out the CONTRIBUTING.md once available.
Licensed under the MIT License. See LICENSE for details.
Made with 💙 in Rust.