Powerful, flexible tool for automating project structure creation through YAML configurations. Generate consistent project layouts, boilerplate code, and configurations with template variables.
Define project structures in simple, readable YAML files with intuitive syntax and validation.
Dynamic content with Jinja2 templating, interactive prompts, and custom filters for flexibility.
Fetch files from GitHub, HTTP/HTTPS, S3, and Google Cloud Storage with automatic content handling.
Multiple strategies for managing existing files: overwrite, skip, backup, append, and more.
Pre and post-generation shell commands for complete workflow automation and integration.
Preview changes before applying them with detailed output and validation checks.
# Install from GitHub
pip install structkit
# Verify installation
structkit --version
Requires Python 3.8+ and pip. This is the recommended installation method for most users.
# Pull and run with Docker
docker run -v $(pwd):/workdir ghcr.io/httpdss/structkit:main generate my-config.yaml ./output
# Create an alias for easier usage
alias structkit='docker run -v $(pwd):/workdir ghcr.io/httpdss/structkit:main'
Perfect for CI/CD environments and when you don't want to install Python locally.
# Clone the repository
git clone https://github.com/httpdss/structkit.git
cd structkit
# Install in development mode
pip install -e .
# Run tests
python -m pytest tests/
For contributors and users who want the latest development features.
See how easy it is to generate a complete project structure with a simple YAML configuration.
Learn how to write effective YAML configurations with variables and templates.
Discover how to use external data mappings for dynamic project generation.
See how to fetch templates and content from GitHub, HTTP URLs, and cloud storage.
Explore hooks, validation, dry-run mode, and other advanced capabilities.
# my-project.yaml
files:
- README.md:
content: |
# {{@ project_name @}}
Generated with StructKit
folders:
- src/:
struct: project/python
variables:
- project_name:
description: "Project name"
type: string
# Generate structure
structkit generate my-project.yaml ./my-app
# List available structures
structkit list
# Validate configuration
structkit validate my-project.yaml
Installation guides, quick start tutorials, and basic usage examples to get you up and running.
Complete YAML configuration reference, template variables, and file handling strategies.
Real-world examples, templates, and practical use cases for various project types.
Essential StructKit commands and configuration patterns at your fingertips
Comprehensive documentation for all StructKit features and commands
Generate your first StructKit configuration in minutes
Connect with developers using StructKit to build amazing projects
Real feedback from teams using StructKit in production
Discover projects and templates created by the community