Build, verify, and bootstrap CI/CD
for Dockerized apps with one CLI.
Detect frameworks, generate Docker assets, verify locally, and ship through GitHub Actions or GitLab CI.
By Ing Muyleang · KhmerStack
Features
End-to-end Docker workflow — from detection to deployment.
Project Detection
Auto-detect Next.js, React, Vue, NestJS, Spring Boot, FastAPI, Flask, Django, Node.js, and HTML.
Dockerfile Generation
Generate optimized Dockerfile, .dockerignore, and kforge.hcl for your detected project type.
Local Verification
Build and run your container locally with health checks before pushing to any registry.
CI/CD Generation
Generate GitHub Actions and GitLab CI pipelines that install kforge and run your full workflow.
Deploy Bootstrap
Generate docker-compose.yml, render.yaml, and fly.toml deploy configs in one command.
Multi-Platform Build
Build linux/amd64, linux/arm64 and more simultaneously, standalone or as docker kforge.
Quickstart
From zero to a Dockerized, CI-ready project in six steps.
Check Environment
Verify Docker, Buildx, and QEMU are ready.
Detect Framework
Auto-detect your project type from source files.
Generate Docker Assets
Create Dockerfile, .dockerignore, and kforge.hcl.
Verify Locally
Build and run the container, check health.
Generate CI Pipeline
Output a GitHub Actions or GitLab CI workflow.
Generate Deploy Config
Bootstrap Compose, Render, or Fly deploy files.
Installation
Get kforge up and running in under a minute. v1.1.1 release page.
# Option 1 — tar.gz (terminal install)$ curl -Lo kforge.tar.gz https://github.com/MuyleangIng/kforge/releases/download/v1.1.1/kforge_1.1.1_darwin_arm64.tar.gz$ tar -xzf kforge.tar.gz$ sudo mv kforge /usr/local/bin/ # macOS Gatekeeper bypass — run once after install$ sudo xattr -d com.apple.quarantine /usr/local/bin/kforge # Verify$ kforge version # Option 2 — DMG installer (GUI)$ curl -Lo kforge.dmg https://github.com/MuyleangIng/kforge/releases/download/v1.1.1/kforge_v1.1.1_darwin_arm64.dmg$ open kforge.dmgmacOS Gatekeeper: After tar.gz install, run sudo xattr -d com.apple.quarantine /usr/local/bin/kforge once. The DMG handles this automatically.
Verify with SHA256 from checksums.txt
Prerequisites
- Docker Desktop or Docker Engine installed and running
- Go 1.21+ (only required for building from source or Docker plugin)
- QEMU (installed automatically via
kforge setup)
Command Reference
All top-level kforge commands.
New in v1.1.1
kforge doctorCheck environment: Docker, Buildx, and QEMU readiness.
$ kforge doctorkforge detectDetect project framework from source files. Use --json for structured output.
$ kforge detect$ kforge detect --json
kforge initGenerate Dockerfile, .dockerignore, and kforge.hcl for your project.
$ kforge init --detect$ kforge init --framework flask
kforge verifyBuild and run the container locally, check health endpoint.
$ kforge verify$ kforge verify .
kforge ci initGenerate a CI/CD pipeline that installs kforge, verifies, and pushes.
$ kforge ci init --target github$ kforge ci init --target gitlab
kforge deploy initGenerate deploy bootstrap configs for Compose, Render, or Fly.
$ kforge deploy init --target compose$ kforge deploy init --target render$ kforge deploy init --target fly
Existing commands
kforge buildMulti-platform BuildKit build.
kforge pushBuild and push to a registry in one command.
kforge bakeDeclarative build via kforge.hcl or kforge.json.
kforge loginAuthenticate to a container registry.
kforge builderManage BuildKit builder instances.
kforge setupInteractive setup wizard for QEMU and multi-node.
kforge versionPrint the installed kforge version.
Supported Frameworks
kforge auto-detects and generates optimized Docker assets for all of these.
Frontend
Backend
Project config — .kforge.yml
Override detected settings by adding a .kforge.yml file to your project root.
frameworkimageporthealthchecknodepythonjavaapp_modulesettings_modulestart_commandenvverify.*ci.*deploy.*GHCR image names: Generated workflows lowercase the GitHub owner. Use ghcr.io/muyleanging/app:latest, not uppercase.
Cache Backends
Speed up builds with flexible caching strategies.
Registry
type=registry,ref=muyleangin/app:cacheLocal
type=local,dest=/tmp/cacheGitHub Actions
type=ghaS3
type=s3,bucket=mybucket,region=us-east-1Azure Blob
type=azblob,account=myaccount,name=mycache| Type | Example |
|---|---|
| Registry | type=registry,ref=muyleangin/app:cache |
| Local | type=local,dest=/tmp/cache |
| GitHub Actions | type=gha |
| S3 | type=s3,bucket=mybucket,region=us-east-1 |
| Azure Blob | type=azblob,account=myaccount,name=mycache |
Multi-Architecture Pipeline
BuildKit builds both platforms in parallel — one command, two targets.
current step
Initializing builder...
current step
Initializing builder...
CI / CD Pipeline
Every push. Verified and shipped.
kforge plugs into GitHub Actions and GitLab CI — detect, verify, build, and push in two jobs.
needs: check
needs: check
Project Structure & Architecture
Clean, modular Go codebase — one binary that works standalone or as a Docker CLI plugin.