Skip to content
Kenneth Belitzky edited this page Jun 9, 2025 · 3 revisions

πŸš€ What is STRUCT?

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.

✨ Key Features

  • 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.

πŸ“¦ Installation

Using pip

pip install git+https://github.com/httpdss/struct.git

Using Docker

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.

🏁 Quick Start

  1. Create a YAML configuration file for your project structure.
  2. Run STRUCT using pip or Docker to generate your project files and folders.

πŸ“ Usage

  • 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

πŸ“š Documentation

🀝 Contributing

See the Contributing page for guidelines.

πŸ›‘οΈ License

STRUCT is open source and available under the MIT License.

Clone this wiki locally