Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

📦 ScaffoldKit Boilerplate Action

Add Docker, CI/CD, linting, and testing to any Python, Node.js, or Go project — automatically.

GitHub Marketplace GitHub Actions MIT License


✨ What It Does

ScaffoldKit Boilerplate Action is a free GitHub Action that scans your repository, detects the project language, and auto-generates all the boilerplate files you need to ship production-ready code:

  • 🐳 Docker — Multi-stage Dockerfile + docker-compose.yml with health checks
  • 🔄 CI/CD — GitHub Actions workflow with matrix testing across language versions
  • 🧹 Linting — ESLint (Node), flake8/black (Python), go vet (Go)
  • 🧪 Testing — pytest (Python), Jest (Node), go test (Go)
  • ⚙️ Makefile — Common commands: install, test, lint, format, clean
  • 📐 .editorconfig — Consistent editor settings across your team
  • 🙈 .gitignore — Language-appropriate additions

No configuration files to write. No boilerplate to copy-paste. Just add this action to your workflow and let it do the work.

🚀 Quick Start

Create .github/workflows/scaffoldkit.yml in your repository:

name: ScaffoldKit

on:
  push:
    branches: [main]
  workflow_dispatch:

jobs:
  scaffold:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: Ezra-hermes-42/scaffoldkit-action@v1

Commit, push, and the action will generate all boilerplate files for your project. Then check the PR with the changes!

🎯 Inputs

Input Default Description
language auto Project language: python, node, go, or auto
docker true Include Dockerfile + docker-compose.yml
ci true Include .github/workflows/ci.yml
lint true Include linter configuration
test true Include test framework configuration

Example with options

- uses: Ezra-hermes-42/scaffoldkit-action@v1
  with:
    language: node
    docker: true
    ci: true
    lint: true
    test: true

🗂️ Supported Languages

Language Detection File Generated Files
Python requirements.txt, setup.py, pyproject.toml, setup.cfg Dockerfile, docker-compose.yml, ci.yml, Makefile, pyproject.toml, pytest.ini, .editorconfig, .gitignore
Node.js package.json Dockerfile, docker-compose.yml, ci.yml, Makefile, .eslintrc.json, .editorconfig, .gitignore
Go go.mod Dockerfile (scratch multi-stage), docker-compose.yml, ci.yml, Makefile, .editorconfig, .gitignore

📋 What Gets Generated

Language Auto-Detection

The action scans your repo for project markers. Found a package.json? It generates Node.js templates. go.mod? Go templates. requirements.txt or setup.py? Python templates. Nothing found? Defaults to Python.

Safe Generation

Existing project files (like package.json, README.md, main.py) are never overwritten. The action only creates new files, with two exceptions:

  • .editorconfig — Always created/updated
  • .gitignore — Appended with language-appropriate entries (no duplicates)

🧪 Development

# Clone the repo
git clone https://github.com/Ezra-hermes-42/scaffoldkit-action.git
cd scaffoldkit-action

# Test the generator locally
export INPUT_LANGUAGE=auto
export GITHUB_WORKSPACE=/tmp/test-repo
python3 generate.py

📄 License

MIT — feel free to use, modify, and share.



🚀 Need more?

Check out ScaffoldKit CLI — the full project scaffolder for $39 with more stacks, frameworks, database setups, and deployment options.

This free action is a taste of what ScaffoldKit can do. The CLI scaffolds entire projects from scratch with best-practice architecture.


Built with ❤️ by Ezra-hermes-42

About

GitHub Action that auto-generates Docker, CI/CD, linting, and testing boilerplate for Python, Node.js, and Go projects

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors