YAML scaffolding your AI assistant can actually run

    Define a repo once — files, CI, Terraform, app layout. Then generate it from the CLI, from CI, or through an assistant over MCP.

    terminal
    —Stars
    —Forks
    —Contributors
    —Latest Release
    —Watchers
    —Open Issues

    Everything you need for YAML scaffolding

    StructKit provides a comprehensive toolkit for teams and AI agents who want consistent, repeatable project structures.

    YAML Configuration

    Define your entire project structure in a clean, readable YAML file. No complex setup required.

    Template Variables

    Use variables and Jinja2-style templates for dynamic content generation across your files.

    Remote Content

    Pull files and templates from remote URLs. Use GitHub repos, Gists, or any HTTP source.

    Smart File Handling

    Create files, directories, symlinks, and handle permissions. Supports inline and external content.

    Hooks System

    Run custom commands before and after generation. Perfect for installing deps or running formatters.

    Dry Run Mode

    Preview what will be generated without creating any files. Safe and predictable scaffolding.

    AI Agent Ready

    Expose your scaffolds to AI assistants through the Model Context Protocol and the Hermes Agent plugin.

    CI/CD Ready

    Generate consistent project structures locally, in CI pipelines, or anywhere your YAML configs live.

    Quick Installation

    Get up and running in under a minute.

    Install via pipbash
    pip install structkit

    See it in action

    Interactive demos showing StructKit's capabilities.

    Simple project generation from a YAML config file.

    structkit — basic usage

    Get started in 3 steps

    From config to scaffolded project in seconds.

    1

    Create a YAML config

    files:
      - src/main.py:
          content: |
            print("Hello, {{@ project_name @}}!")
      - src/utils/helpers.py:
          content: ""
      - README.md:
          content: |
            # {{@ project_name @}}
            Generated with StructKit
      - requirements.txt:
          content: ""
    
    variables:
      - project_name:
          description: "Name of your project"
          type: string
          default: "my-app"
    2

    Generate your project

    structkit generate my-project.yaml
    
    # Or preview first with dry run
    structkit generate my-project.yaml --dry-run
    3

    Your project is ready!

    my-app/
    ├── src/
    │   ├── main.py
    │   └── utils/
    │       └── helpers.py
    ├── README.md
    └── requirements.txt

    Built with StructKit

    Real-world project templates you can use today.

    Python

    Python FastAPI Service

    REST API with FastAPI, SQLAlchemy, Docker, and tests.

    Terraform

    Terraform AWS Module

    Reusable AWS infrastructure module with examples and CI.

    Next.js

    Next.js Starter

    Full-stack Next.js app with Auth, Prisma, and Tailwind.

    DevOps

    Kubernetes Manifests

    K8s deployment configs with Helm charts and monitoring.

    Python

    Python CLI Tool

    Click-based CLI with configs, plugins, and packaging.

    Microservices

    Microservices Template

    Multi-service architecture with Docker Compose and API gateway.

    Frequently asked questions

    Everything you need to know about StructKit.

    Stay in the Loop

    Get updates on new features, guides, and releases. No spam, unsubscribe anytime.

    Quick Reference

    The essentials at a glance.

    Getting Started Wizard

    Choose your project type and get a starter config.

    1
    2
    3

    Choose your project type