Skip to content

Commit ea3ceb5

Browse files
authored
Improve README hero for developer conversion (#160)
1 parent c4fe6f0 commit ea3ceb5

1 file changed

Lines changed: 49 additions & 45 deletions

File tree

README.md

Lines changed: 49 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,50 @@
1-
# 🚀 StructKit: Automated Project Structure Generator
1+
# 🚀 StructKit: YAML-first scaffolding for teams and AI agents
22

3-
![StructKit Logo](./docs/assets/github-hero.gif)
3+
> Define project structures once in YAML, then generate consistent repos, CI files, docs, Terraform modules, and app layouts locally, in CI, or through an AI assistant via MCP.
4+
5+
![StructKit demo: generate project structure from YAML](./docs/assets/github-hero.gif)
46

57
[![codecov](https://codecov.io/github/httpdss/structkit/graph/badge.svg?token=JL5WIO1C9T)](https://codecov.io/github/httpdss/structkit)
68
![GitHub issues](https://img.shields.io/github/issues/httpdss/structkit)
79
![GitHub pull requests](https://img.shields.io/github/issues-pr/httpdss/structkit)
810
![GitHub stars](https://img.shields.io/github/stars/httpdss/structkit?style=social)
911

10-
**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.
12+
**StructKit** replaces copy-pasted boilerplate and aging "golden repos" with reusable YAML structures. It can render template variables, fetch canonical files from remote sources, preview changes before writing, and expose your scaffolds to AI assistants through the Model Context Protocol.
1113

12-
> 📚 **[View Complete Documentation](docs/index.md)** | 🚀 **[Quick Start Guide](docs/quickstart.md)** | 🔧 **[Installation](docs/installation.md)**
14+
> 🚀 **[Quick Start](docs/quickstart.md)** | 📚 **[Docs](docs/index.md)** | 🧩 **[Examples](example/)** | 🤖 **[MCP Guide](docs/mcp-integration.md)** | 💬 **[Discussions](https://github.com/httpdss/structkit/discussions)**
1315
14-
## ✨ Key Features
16+
## ⚡ Try it in 60 seconds
1517

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

25-
## 🤔 Why structkit?
22+
# Preview available bundled structures
23+
structkit list
24+
25+
# Generate a ready-made Terraform module scaffold
26+
structkit generate --var module_name=my-terraform-module terraform/modules/generic ./my-terraform-module
27+
```
28+
29+
Prefer Docker?
30+
31+
```bash
32+
docker run --rm -v "$(pwd):/workdir" ghcr.io/httpdss/structkit:main \
33+
generate --var module_name=my-terraform-module terraform/modules/generic ./my-terraform-module
34+
```
2635

27-
Project scaffolding tools exist in most ecosystems, but structkit solves problems the others don't.
36+
## 👤 Who StructKit is for
2837

29-
### The problem with copy-paste and "golden repos"
38+
- **Platform / DevEx teams** standardizing service layouts, CI baselines, and engineering conventions across many repos.
39+
- **DevOps engineers** generating repeatable Terraform modules, Kubernetes manifests, GitHub Actions workflows, and config bundles.
40+
- **AI coding workflow users** who want assistants to scaffold from approved templates instead of inventing project structure.
41+
- **Individual developers** tired of rebuilding the same files, folders, and docs for every new project.
3042

31-
Most teams start with a "just copy the reference project" approach. This works until:
32-
- The reference repo falls out of date
33-
- Different teams diverge on standards
34-
- Onboarding a new engineer takes half a day of tribal knowledge transfer
35-
- A security baseline change means updating 20 repos manually
43+
## 🤔 Why StructKit?
3644

37-
### How structkit is different
45+
Project scaffolding tools exist in most ecosystems, but StructKit solves problems the others often leave to copy-paste, template repositories, or custom scripts.
3846

39-
| Feature | cookiecutter | copier | **structkit** |
47+
| Feature | cookiecutter | copier | **StructKit** |
4048
|---|---|---|---|
4149
| Remote content (GitHub, S3, GCS, HTTP) ||||
4250
| AI / MCP integration ||||
@@ -48,33 +56,27 @@ Most teams start with a "just copy the reference project" approach. This works u
4856

4957
**Key differentiators:**
5058

51-
- **Remote-first content:** Reference your organization's canonical CI template from GitHub directly in your structkit config. When the template updates, all new projects get the update — no copy-paste maintenance.
52-
- **AI-native via MCP:** structkit ships a Model Context Protocol server. Your AI assistant can generate project scaffolds from natural language, using your templates as the source of truth.
53-
- **YAML-first:** Define structures directly in YAML. No need to manage a separate template repository.
59+
- **Remote-first content:** Reference your organization's canonical CI template from GitHub directly in your StructKit config. When the template updates, all new projects get the update — no copy-paste maintenance.
60+
- **AI-native via MCP:** Start the StructKit MCP server so your AI assistant can generate project scaffolds from natural language using your templates as the source of truth.
61+
- **YAML-first:** Define structures directly in YAML. No separate template repository is required.
62+
- **Safe by default:** Use dry-run previews and file conflict strategies before writing into existing projects.
5463

55-
### Who uses structkit?
56-
57-
- **Platform / DevEx teams** enforcing org-wide project standards across all services
58-
- **DevOps engineers** generating consistent Terraform modules, K8s manifests, and CI pipelines
59-
- **Individual developers** tired of recreating the same boilerplate across projects
60-
61-
## 🚀 Quick Start
62-
63-
### Installation
64-
65-
```bash
66-
# Install via pip
67-
pip install structkit
64+
## ✨ Key Features
6865

69-
# Or run with Docker
70-
docker run -v $(pwd):/workdir ghcr.io/httpdss/structkit:main generate my-config.yaml ./output
71-
```
66+
- **📝 YAML-Based Configuration** - Define project structures in simple, readable YAML
67+
- **🔧 Template Variables** - Dynamic content with Jinja2 templating and interactive prompts
68+
- **🌐 Remote Content** - Fetch files from GitHub, HTTP/HTTPS, S3, and Google Cloud Storage
69+
- **🛡️ Smart File Handling** - Multiple strategies for managing existing files (overwrite, skip, backup, etc.)
70+
- **🪝 Automation Hooks** - Pre and post-generation shell commands
71+
- **🎯 Dry Run Mode** - Preview changes before applying them
72+
- **✅ Validation & Schema** - Built-in YAML validation and IDE support
73+
- **🤖 MCP Integration** - Model Context Protocol support for AI-assisted development workflows
7274

73-
### Basic Usage
75+
## 🚀 More usage examples
7476

7577
```bash
7678
# Generate a Terraform module structure
77-
structkit generate terraform-module ./my-terraform-module
79+
structkit generate --var module_name=my-terraform-module terraform/modules/generic ./my-terraform-module
7880

7981
# List available structures
8082
structkit list
@@ -84,7 +86,9 @@ structkit validate my-config.yaml
8486

8587
# Start MCP server for AI integration
8688
structkit mcp --server
87-
```
89+
```
90+
91+
If StructKit saves you setup time, **star the repo**, try an [example](example/), or share your use case in [GitHub Discussions](https://github.com/httpdss/structkit/discussions).
8892

8993
### Example Configuration
9094

0 commit comments

Comments
 (0)