all projects
Full Stack2025

StackForDev

CLI tool and web app that generates tailored Dockerfiles so developers only need Docker, with no language runtimes to install locally.

stackfordev.zisiskostakakis.com
StackForDev screenshot

01 Overview

StackForDev solves the "works on my machine" problem by replacing dozens of language and framework installations with a single prerequisite: Docker.

You tell StackForDev your language, stack, and version. It generates a Dockerfile that turns any directory into a fully configured development container. Your project files are volume-mounted inside, so there is nothing to install locally beyond Docker itself.

The backend is a Python service running on AWS Lambda, distributed as a container image via ECR. AWS API Gateway sits in front with per-IP rate limiting and a monthly quota to keep costs predictable. Generated Dockerfiles are stored in S3 with content-based deduplication so identical requests return a cached file instantly.

The CLI is published on PyPI as `stackfordev`. It supports interactive prompts for discoverability and non-interactive flags for scripting. A `--local` flag generates Dockerfiles offline without any API calls.

The web UI is built with SvelteKit and offers the same language / stack / version picker in the browser, with a live Dockerfile preview and copy-to-clipboard. An Info page lists every supported language, version, and stack combination.

The entire infrastructure (Lambda, API Gateway, S3, ECR, CloudWatch alarms, and IAM roles) is managed with Terraform Cloud backed by GitHub.

02 Key Features

Generates Dockerfiles for Python, JavaScript, Go, Rust, and Java with 20+ stack variants
CLI published on PyPI (`pip install stackfordev`) with interactive and non-interactive modes
`--local` flag for fully offline generation without an API call
S3-backed deduplication: identical configs return a cached Dockerfile instantly
SvelteKit web UI with language / stack / version picker and live Dockerfile preview
Serverless backend on AWS Lambda with API Gateway rate limiting (1 req/s, 10k/month quota)
Infrastructure as Code with Terraform Cloud, including IAM roles, ECR, CloudWatch alarms
Structured JSON logging and CloudWatch alarms for error rate and throttle monitoring

03 Architecture

System Architecture

The SvelteKit frontend is deployed as a static site. The CLI and browser both hit the same AWS API Gateway endpoint, which invokes a containerised Lambda function. Generated Dockerfiles are stored in S3 with SHA-256 content deduplication.

rendering diagram…

Dockerfile Generation Flow

Each request is validated by Pydantic, checked for injection patterns, resolved to a language template, then stored in S3 with a content-based key before the Dockerfile is returned.

rendering diagram…

Infrastructure as Code

All AWS resources are provisioned with Terraform Cloud. GitHub pushes trigger plan/apply runs. Reserved Lambda concurrency caps cost; lifecycle policies on S3 and ECR manage storage.

rendering diagram…

Screenshots

StackForDev Web UI
Dockerfile Generator Web Interface