-
-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Kenneth Belitzky edited this page Jun 9, 2025
·
3 revisions
STRUCT is a powerful and flexible script designed to automate the creation of project structures based on YAML configurations. It is ideal for developers, DevOps engineers, and anyone who wants to automate boilerplate code, configuration files, documentation, and more.
- YAML Configuration: Define your project structure in a simple YAML file.
- Template Variables: Use placeholders and Jinja2 filters for dynamic content.
- Custom File Permissions: Set permissions directly from your YAML.
- Remote Content Fetching: Include content from remote files by URL.
- File Handling Strategies: Overwrite, skip, append, rename, or backup existing files.
- Dry Run: Preview actions before making changes.
- Configuration Validation: Ensure your YAML is valid before execution.
- Verbose Logging: Detailed logs for debugging and monitoring.
pip install git+https://github.com/httpdss/struct.git
docker run \
-v $(pwd):/workdir \
-u $(id -u):$(id -g) \
ghcr.io/httpdss/struct:main generate \
/workdir/example/structure.yaml \
/workdir/example_output
See the Quick Start section for more details.
- Create a YAML configuration file for your project structure.
- Run STRUCT using pip or Docker to generate your project files and folders.
- generate: Generate the project structure from YAML.
- validate: Validate your YAML configuration.
- info: Show script and dependency info.
- list: List available structs.
For help, run:
struct -h
See the Contributing page for guidelines.
STRUCT is open source and available under the MIT License.