Bidirectional YAML ↔ Directory Structure Tool
Project description
FSBlueprint
FSBlueprint is a Python CLI and API tool for working with directory structures and blueprints. Easily scaffold projects from YAML definitions or generate reusable blueprints from existing directories.
✨ Features
- ✅ Scaffold full folder structures from a simple YAML blueprint
- ✅ Generate YAML from any existing folder structure
- ✅ Default: Outputs a tree-style structure preview
- ✅ Optional: Include file contents in the YAML blueprint with
--with-content - ✅ Supports nested folders, empty files, and multiline content
- ✅ Simple CLI + importable Python API
📦 Installation
Install from PyPI:
pip install fsblueprint
🚀 Usage
🔧 Scaffold a directory structure from YAML
fsblueprint scaffold project.yaml ./my_project
This creates folders and files based on your project.yaml blueprint.
🔍 Preview a directory structure
fsblueprint blueprint ./existing_project
This will print a tree-like structure of your folder (ignoring system/development files by default).
Example output:
📂 Structure Preview:
existing_project/
├── README.md
├── src/
│ ├── main.py
│ └── utils/
│ └── helper.py
└── tests/
└── test_main.py
🧾 Generate YAML with file contents
fsblueprint blueprint ./existing_project blueprint.yaml --with-content
This saves a .yaml file that includes both structure and file content.
📄 Example YAML Blueprint
my_project:
README.md: |
# My Project
Hello world!
src:
main.py: |
def main():
print("Hello!")
utils:
helper.py: ""
tests:
test_main.py: ""
🛠 Ignore Patterns
By default, FSBlueprint excludes common directories like .git, node_modules, .env, __pycache__, etc.
Use --no-ignore to include everything, or --ignore pattern1 pattern2 to extend ignore behavior.
📜 License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fsblueprint-0.3.1.tar.gz.
File metadata
- Download URL: fsblueprint-0.3.1.tar.gz
- Upload date:
- Size: 40.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7e05fe7f78b2be191dc45d8b756f54f0cdf92cd89aab73ce48e8653e2569cd6
|
|
| MD5 |
a0cbc6ba10cdf01404f9bf77e3c3e72b
|
|
| BLAKE2b-256 |
1ce1cd1c1e30ced73a71a2d9ed31efe8f868970cb93b233d97d009d6f3683802
|
File details
Details for the file fsblueprint-0.3.1-py3-none-any.whl.
File metadata
- Download URL: fsblueprint-0.3.1-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f36f517ddca562b56d2a759598c173a1ba063fa3e2f2c6e2a8e39c043e77f6b3
|
|
| MD5 |
7dee4505c2ed53bf6fcf2cf5d6c34678
|
|
| BLAKE2b-256 |
11b9bfc057ac1f8827ff5d638a86614efbca03813b3ef373b3ec02494a48d679
|