StructKit:

Powerful, flexible tool for automating project structure creation through YAML configurations. Generate consistent project layouts, boilerplate code, and configurations with template variables.

✨ Key Features

📝

YAML-Based Configuration

Define project structures in simple, readable YAML files with intuitive syntax and validation.

🔧

Template Variables

Dynamic content with Jinja2 templating, interactive prompts, and custom filters for flexibility.

🌐

Remote Content

Fetch files from GitHub, HTTP/HTTPS, S3, and Google Cloud Storage with automatic content handling.

🛡️

Smart File Handling

Multiple strategies for managing existing files: overwrite, skip, backup, append, and more.

🪝

Automation Hooks

Pre and post-generation shell commands for complete workflow automation and integration.

🎯

Dry Run Mode

Preview changes before applying them with detailed output and validation checks.

🚀 Quick Installation

Install via pip

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

Run with Docker

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

Install from Source

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

🎬 Interactive Demos

⚡ Quick Start

1. Create Configuration

# 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

2. Generate Project

# Generate structure
structkit generate my-project.yaml ./my-app

# List available structures
structkit list

# Validate configuration
structkit validate my-project.yaml

📚 Documentation

Getting Started

Installation guides, quick start tutorials, and basic usage examples to get you up and running.

Configuration

Complete YAML configuration reference, template variables, and file handling strategies.

Examples

Real-world examples, templates, and practical use cases for various project types.

Quick Reference

Essential StructKit commands and configuration patterns at your fingertips

API Reference

Comprehensive documentation for all StructKit features and commands

Getting Started Wizard

Generate your first StructKit configuration in minutes

Join Our Community

Connect with developers using StructKit to build amazing projects

What Developers Say

Real feedback from teams using StructKit in production

Built with StructKit

Discover projects and templates created by the community