Skip to content

Latest commit

 

History

History
135 lines (94 loc) · 4.98 KB

File metadata and controls

135 lines (94 loc) · 4.98 KB

🚀 StructKit: Automated Project Structure Generator

StructKit Logo

codecov GitHub issues GitHub pull requests GitHub stars

StructKit is a powerful, flexible tool for automating project structure creation through YAML configurations. Generate consistent project layouts, boilerplate code, and configurations with template variables, remote content fetching, and intelligent file handling.

📚 View Complete Documentation | 🚀 Quick Start Guide | 🔧 Installation

✨ Key Features

  • 📝 YAML-Based Configuration - Define project structures in simple, readable YAML
  • 🔧 Template Variables - Dynamic content with Jinja2 templating and interactive prompts
  • 🌐 Remote Content - Fetch files from GitHub, HTTP/HTTPS, S3, and Google Cloud Storage
  • 🛡️ Smart File Handling - Multiple strategies for managing existing files (overwrite, skip, backup, etc.)
  • 🪝 Automation Hooks - Pre and post-generation shell commands
  • 🎯 Dry Run Mode - Preview changes before applying them
  • ✅ Validation & Schema - Built-in YAML validation and IDE support
  • 🤖 MCP Integration - Model Context Protocol support for AI-assisted development workflows

🚀 Quick Start

Installation

# Install via pip
pip install structkit

# Or run with Docker
docker run -v $(pwd):/workdir ghcr.io/httpdss/structkit:main generate my-config.yaml ./output

Basic Usage

# Generate a Terraform module structure
structkit generate terraform-module ./my-terraform-module

# List available structures
structkit list

# Validate a configuration
structkit validate my-config.yaml

# Start MCP server for AI integration
structkit mcp --server

Example Configuration

files:
  - README.md:
      content: |
        # {{@ project_name @}}
        Generated with StructKit
  - .gitignore:
      file: github://github/gitignore/main/Python.gitignore

folders:
  - src/:
      struct: project/python
      with:
        app_name: "{{@ project_name | slugify @}}"

variables:
  - project_name:
      description: "Name of your project"
      type: string
      default: "MyProject"

📚 Documentation

Our comprehensive documentation is organized into the following sections:

🏁 Getting Started

⚙️ Configuration

🔧 Advanced Features

👩‍💻 Development

📖 Resources

🎯 Use Cases

  • Infrastructure as Code - Generate Terraform modules, Kubernetes manifests
  • Application Scaffolding - Bootstrap microservices, APIs, frontend projects
  • DevOps Automation - CI/CD pipeline templates, configuration management
  • Documentation - Consistent project documentation and compliance templates

🤝 Community

📜 License

MIT License - see LICENSE for details.

💰 Support

If StructKit helps your workflow, consider supporting the project: patreon/structproject


📚 Complete Documentation | 🐛 Report Issues | 💬 Discussions