Add Docker, CI/CD, linting, and testing to any Python, Node.js, or Go project — automatically.
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.
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@v1Commit, push, and the action will generate all boilerplate files for your project. Then check the PR with the changes!
| 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 |
- uses: Ezra-hermes-42/scaffoldkit-action@v1
with:
language: node
docker: true
ci: true
lint: true
test: true| 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 |
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.
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)
# 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.pyMIT — 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