Skip to content

Add structkit#3096

Closed
httpdss wants to merge 1 commit intovinta:masterfrom
httpdss:master
Closed

Add structkit#3096
httpdss wants to merge 1 commit intovinta:masterfrom
httpdss:master

Conversation

@httpdss
Copy link
Copy Markdown

@httpdss httpdss commented Apr 27, 2026

Project

StructKit

Checklist

  • One project per PR
  • PR title format: Add structkit
  • Entry format: - [structkit](https://github.com/httpdss/structkit) - A command-line tool that scaffolds project files and directories from a YAML configuration.
  • Description is concise and short

Why This Project Is Awesome

Which criterion does it meet? (pick one)

  • Industry Standard - The go-to tool for a specific use case
  • Rising Star - 5000+ stars in < 2 years, significant adoption
  • Hidden Gem - Exceptional quality, solves niche problems elegantly

Explain:

StructKit sits in a gap that the established scaffolders don't fill cleanly. Cookiecutter requires a nested template repo layout and Python+Jinja knowledge. Yeoman is JS-only. PyScaffold is locked to the Python-package use case. StructKit lets you describe an entire project — files, directories, contents, permissions, even pre/post-generation shell hooks — in a single readable YAML file, regardless of the target language.

Differentiating capabilities:

  • Single-file YAML config; no nested template directory to learn
  • Remote content fetching from any HTTP source (GitHub repos, Gists, internal registries) referenced inline in the YAML
  • Jinja2-style template variables and project-wide variable injection
  • Lifecycle hooks for running formatters, installers, or git init after generation
  • Dry-run preview mode that prints the planned tree without writing
  • Language-agnostic — used today for Python, Terraform, Next.js, Kubernetes, and microservice templates
  • MIT licensed, actively maintained, v3.0.0

How It Differs

  • vs cookiecutter - One readable YAML file instead of a template repo with nested directories. Remote content fetching built in. No requirement to learn a separate Cookiecutter template layout.
  • vs copier - Simpler config model focused purely on initial scaffolding. Copier's strength is project-update workflows; StructKit stays small and composable for the generation step alone.
  • vs yeoman - Language-agnostic, no Node.js dependency, no generator authoring framework to learn.
  • vs pyscaffold - Not constrained to the Python-package layout; works for any project type from a Terraform module to a microservice cluster.

@JinyangWang27
Copy link
Copy Markdown
Collaborator

@httpdss Thanks for your submission. However, this project does not meet our acceptance criteria:

GitHub stars: 15 stars (minimum 100 required, or strong justification for Hidden Gem).

Please see our CONTRIBUTING.md for full requirements. You're welcome to resubmit once the project has matured and gained community traction.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants