If you've ever used LocalStack and balked at the $35/month price tag for the pro version, CloudDev might be exactly what you're looking for.
CloudDev is a free, open-source local AWS emulator built in Go — a single binary, zero runtime dependencies, works with your existing AWS CLI and SDKs out of the box.
Today I'm releasing v0.3.0, which adds 8 new AWS services and brings the total to 17 emulated services.
👉 github.com/Jeffrin-dev/CloudDev
Why I Built This
The "vendor kills free tier, community builds alternative" pattern keeps playing out everywhere. LocalStack's free tier is increasingly limited, and most developers just need basic local emulation for dev and CI — not a $35/month SaaS subscription.
The goal was simple: a tool that:
- Works with zero config changes to your existing AWS CLI setup
- Ships as a single Go binary with no runtime dependencies
- Covers the AWS services that 90% of applications actually use
- Is completely free and open source
What's in v0.3.0
🔐 Auth & Security
- IAM (port 4593) — users, roles, policies, AssumeRole
- STS (port 4592) — GetCallerIdentity, AssumeRole, GetSessionToken
- KMS (port 4599) — CreateKey, Encrypt, Decrypt, GenerateDataKey
🏗️ Orchestration
- CloudFormation (port 4581) — CreateStack, UpdateStack, parses YAML/JSON templates
- Step Functions (port 4585) — state machines, executions, RUNNING → SUCCEEDED transitions
🌉 Events & Cache
- EventBridge (port 4587) — event buses, rules, PutEvents with Lambda/SQS routing
- ElastiCache (ports 4597/4598) — Redis-compatible TCP server + HTTP management API
- Cognito (port 4596) — user pools, users, InitiateAuth with mock tokens
Quick Start
git clone https://github.com/Jeffrin-dev/CloudDev.git
cd CloudDev
go build -o clouddev .
./clouddev init my-app
cd my-app
../clouddev up
That's it. All 17 services start immediately.
Works With Your Existing AWS CLI
No special tooling needed. Just point --endpoint-url at CloudDev:
# KMS — create a key and encrypt/decrypt
aws --endpoint-url=http://localhost:4599 kms create-key \
--description "my-key" --region us-east-1
aws --endpoint-url=http://localhost:4599 kms encrypt \
--key-id key-1 --plaintext "hello-world" --region us-east-1
# Cognito — create a user pool and authenticate
aws --endpoint-url=http://localhost:4596 cognito-idp create-user-pool \
--pool-name my-pool --region us-east-1
aws --endpoint-url=http://localhost:4596 cognito-idp initiate-auth \
--auth-flow USER_PASSWORD_AUTH \
--auth-parameters USERNAME=user,PASSWORD=pass \
--client-id client-1 --region us-east-1
# Step Functions — create and run a state machine
aws --endpoint-url=http://localhost:4585 stepfunctions create-state-machine \
--name my-machine \
--definition '{"StartAt":"Hello","States":{"Hello":{"Type":"Pass","End":true}}}' \
--role-arn arn:aws:iam::000000000000:role/role \
--region us-east-1
The Web Dashboard
Every service gets a real-time status indicator in the dashboard at localhost:4580. It auto-refreshes every 5 seconds so you can see at a glance what's running.
All 17 services show up with their port and a green/red status dot.
How It Was Built
This project was built with an unusual workflow: Claude as the instructor and Codex as the developer.
Claude designed the architecture, wrote the detailed implementation prompts for each module, debugged issues from test output, and caught protocol mismatches (like the AWS CLI sending AWSStepFunctions.* instead of AmazonStates.* as the X-Amz-Target prefix — something you only discover by sniffing the actual HTTP request).
Codex implemented each module from those prompts, one PR at a time.
It's been a genuinely interesting experiment in human-AI-AI collaboration. The hardest bugs were always the subtle protocol differences between what the AWS documentation says and what the AWS CLI actually sends.
Complete Service & Port Reference
| Service | Port |
|---|---|
| S3 | 4566 |
| DynamoDB | 4569 |
| Lambda | 4574 |
| SQS | 4576 |
| API Gateway | 4572 |
| SNS | 4575 |
| Secrets Manager | 4584 |
| CloudWatch Logs | 4586 |
| IAM | 4593 |
| STS | 4592 |
| KMS | 4599 |
| CloudFormation | 4581 |
| Step Functions | 4585 |
| EventBridge | 4587 |
| ElastiCache (Redis) | 4598 |
| ElastiCache (HTTP) | 4597 |
| Cognito | 4596 |
What's Next
v0.4.0 will focus on:
- CloudWatch Metrics
- SQS FIFO queues
- Lambda layers
- X-Ray tracing
Get Involved
The project is Apache 2.0 licensed and contributions are very welcome. Check out CONTRIBUTING.md to get started.
If CloudDev saves you time or money, a ⭐ on GitHub goes a long way — it helps other developers find the project.
Top comments (0)