Skip to main content

Overview

StackForDev solves the "works on my machine" problem. The goal is simple: replace 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.

Tech Stack

Python
AWS Lambda
AWS API Gateway
AWS S3
AWS ECR
Terraform
SvelteKit
Docker
PyPI
Click
Pydantic
CloudWatch

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 — no API call required
  • 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

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.

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.

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.

Screenshots

Dockerfile Generator Web Interface

StackForDev Web UI