11# ☁️ CloudDev
2-
2+
33** A free, open-source local AWS emulator — the self-hosted alternative to LocalStack.**
4-
5- CloudDev runs 23 AWS services locally as a single Go binary with zero runtime dependencies. Built for developers who want fast, offline AWS development without cloud costs or vendor lock-in.
4+
5+ CloudDev runs 29 AWS services locally as a single Go binary with zero runtime dependencies. Built for developers who want fast, offline AWS development without cloud costs or vendor lock-in.
66
77[ ![ License] ( https://img.shields.io/badge/license-Apache%202.0-blue.svg )] ( LICENSE )
88[ ![ Go Version] ( https://img.shields.io/badge/go-1.22-blue.svg )] ( https://golang.org )
9- [ ![ Version] ( https://img.shields.io/badge/version-v0.4 .0-green.svg )] ( https://github.com/Jeffrin-dev/CloudDev/releases )
9+ [ ![ Version] ( https://img.shields.io/badge/version-v0.5 .0-green.svg )] ( https://github.com/Jeffrin-dev/CloudDev/releases )
1010
1111---
1212
1313## ✨ Features
14-
15- - ** 23 AWS services** emulated locally — S3, DynamoDB, Lambda, SQS (+ FIFO), SNS, API Gateway, IAM, STS, KMS, CloudFormation, Step Functions, EventBridge, Secrets Manager, CloudWatch Logs, CloudWatch Metrics, ElastiCache, Cognito, Lambda Layers, X-Ray, Route53, SSM Parameter Store, and Rekognition
14+
15+ - ** 29 AWS services** emulated locally — S3, DynamoDB, DynamoDB Streams, Lambda, Lambda Layers, Lambda Function URLs, SQS (+ FIFO), SNS, API Gateway, API Gateway v2, IAM, STS, KMS, CloudFormation, Step Functions, EventBridge, CloudWatch Events, Secrets Manager, CloudWatch Logs, CloudWatch Metrics, ElastiCache, Cognito, X-Ray, Route53, SSM Parameter Store, Rekognition, SES, and Bedrock
1616- ** Single binary** — no Docker, no Python, no Java runtime required
1717- ** Zero config** — works out of the box with your existing AWS CLI and SDKs
1818- ** Web dashboard** — real-time service status cards at ` localhost:4580 `
1919- ** IaC support** — auto-detects Terraform, CloudFormation, and Kubernetes configs
2020- ** Lambda hot reload** — instant function updates without restarts
2121- ** Data persistence** — state survives restarts via ` ~/.clouddev/state.json `
2222- ** Cost estimator** — see estimated AWS costs for your local workloads
23-
23+
2424---
25-
25+
2626## 🚀 Quick Start
27-
27+
2828### Install
29-
29+
3030``` bash
3131git clone https://github.com/Jeffrin-dev/CloudDev.git
3232cd CloudDev
3333go build -o clouddev .
3434```
35-
35+
3636### Initialize and Start
37-
37+
3838``` bash
3939./clouddev init my-app
4040cd my-app
4141../clouddev up
4242```
43-
43+
4444### Use with AWS CLI
45-
45+
4646``` bash
4747# S3
4848aws --endpoint-url=http://localhost:4566 s3 mb s3://my-bucket
49-
49+
5050# DynamoDB
5151aws --endpoint-url=http://localhost:4569 dynamodb list-tables
52-
52+
53+ # DynamoDB Streams
54+ aws --endpoint-url=http://localhost:4570 dynamodbstreams list-streams
55+
56+ # Lambda
57+ aws --endpoint-url=http://localhost:4574 lambda list-functions
58+
59+ # Lambda Function URLs
60+ curl -X POST http://localhost:4595/2021-10-31/functions/MyFunc/url \
61+ -H " Content-Type: application/json" \
62+ -d ' {"AuthType":"NONE"}'
63+
64+ # SQS
65+ aws --endpoint-url=http://localhost:4576 sqs create-queue --queue-name my-queue
66+
67+ # SNS
68+ aws --endpoint-url=http://localhost:4575 sns create-topic --name my-topic
69+
70+ # API Gateway v2
71+ curl -X POST http://localhost:4573/v2/apis \
72+ -H " Content-Type: application/json" \
73+ -d ' {"Name":"MyAPI","ProtocolType":"HTTP"}'
74+
5375# KMS
5476aws --endpoint-url=http://localhost:4599 kms create-key --description " my-key"
55-
77+
5678# SSM Parameter Store
5779aws --endpoint-url=http://localhost:4583 ssm put-parameter \
5880 --name " /myapp/db/host" --value " localhost" --type String
59-
81+
6082# CloudWatch Metrics
6183aws --endpoint-url=http://localhost:4582 cloudwatch put-metric-data \
6284 --namespace " MyApp" --metric-name " RequestCount" --value 42 --unit Count
63-
85+
86+ # CloudWatch Events
87+ aws --endpoint-url=http://localhost:4590 events put-rule \
88+ --name MyRule --schedule-expression " rate(5 minutes)" --state ENABLED
89+
90+ # SES
91+ aws --endpoint-url=http://localhost:4579 ses verify-email-identity \
92+ --email-address test@example.com
93+
6494# Route53
6595aws --endpoint-url=http://localhost:4589 route53 create-hosted-zone \
6696 --name example.com --caller-reference ref-1
67-
97+
6898# X-Ray
6999aws xray put-trace-segments \
70100 --endpoint-url http://localhost:4588 \
71101 --trace-segment-documents ' {"id":"seg-1","trace_id":"1-abc-123","name":"my-service"}'
72-
73- # Lambda Layers
74- aws --endpoint-url=http://localhost:4578 lambda publish-layer-version \
75- --layer-name my-layer --description " My layer" \
76- --compatible-runtimes python3.9 go1.x \
77- --content S3Bucket=my-bucket,S3Key=my-layer.zip
78-
102+
79103# Rekognition
80104aws --endpoint-url=http://localhost:4594 rekognition detect-labels \
81105 --image ' {"S3Object":{"Bucket":"my-bucket","Name":"photo.jpg"}}'
106+
107+ # Bedrock
108+ curl -X POST http://localhost:4591/foundation-models
109+ curl -X POST http://localhost:4591/model/anthropic.claude-3-sonnet-20240229-v1:0/invoke \
110+ -H " Content-Type: application/json" \
111+ -d ' {"prompt":"Hello!","max_tokens_to_sample":100}'
82112```
83-
113+
84114---
85-
115+
86116## 📦 Services & Ports
87-
88- | Service | Port | Version |
117+
118+ | Service | Port | Since |
89119| ---| ---| ---|
90120| S3 | 4566 | v0.1.0 |
91121| DynamoDB | 4569 | v0.1.0 |
92122| Lambda | 4574 | v0.1.0 |
93- | SQS (+ FIFO) | 4576 | v0.1.0 / v0.4.0 |
123+ | SQS (+ FIFO) | 4576 | v0.1.0 |
94124| API Gateway | 4572 | v0.1.0 |
95125| Dashboard | 4580 | v0.1.0 |
96126| SNS | 4575 | v0.2.0 |
@@ -111,11 +141,17 @@ aws --endpoint-url=http://localhost:4594 rekognition detect-labels \
111141| Route53 | 4589 | v0.4.0 |
112142| SSM Parameter Store | 4583 | v0.4.0 |
113143| Rekognition | 4594 | v0.4.0 |
114-
144+ | CloudWatch Events | 4590 | v0.5.0 |
145+ | SES | 4579 | v0.5.0 |
146+ | DynamoDB Streams | 4570 | v0.5.0 |
147+ | Lambda Function URLs | 4595 | v0.5.0 |
148+ | API Gateway v2 | 4573 | v0.5.0 |
149+ | Bedrock | 4591 | v0.5.0 |
150+
115151---
116-
152+
117153## 🗂️ Project Structure
118-
154+
119155```
120156clouddev/
121157├── cmd/ # CLI commands (up, init, status)
@@ -129,17 +165,21 @@ clouddev/
129165│ └── services/
130166│ ├── s3/
131167│ ├── dynamodb/
168+ │ ├── dynamodbstreams/
132169│ ├── lambda/
133170│ ├── lambdalayers/
171+ │ ├── lambdaurls/
134172│ ├── sqs/
135173│ ├── sns/
136174│ ├── apigateway/
175+ │ ├── apigatewayv2/
137176│ ├── iam/
138177│ ├── sts/
139178│ ├── kms/
140179│ ├── cloudformation/
141180│ ├── cloudwatchlogs/
142181│ ├── cloudwatchmetrics/
182+ │ ├── cloudwatchevents/
143183│ ├── stepfunctions/
144184│ ├── eventbridge/
145185│ ├── secretsmanager/
@@ -148,71 +188,80 @@ clouddev/
148188│ ├── xray/
149189│ ├── route53/
150190│ ├── ssm/
151- │ └── rekognition/
152- ├── clouddev.yml
191+ │ ├── ses/
192+ │ ├── rekognition/
193+ │ └── bedrock/
153194├── go.mod
154195└── main.go
155196```
156-
197+
157198---
158-
199+
159200## ⚙️ Configuration
160-
201+
161202``` yaml
162203services :
163204 s3 : true
164205 dynamodb : true
165206 lambda : true
166207 sqs : true
167208 api_gateway : true
168-
209+
169210ports :
170211 s3 : 4566
171212 dynamodb : 4569
172213 lambda : 4574
173214 sqs : 4576
174215 api_gateway : 4572
175-
216+
176217lambda :
177218 functions_dir : ./functions
178219 hot_reload : true
179220` ` `
180-
221+
181222---
182-
223+
183224## 🧪 Running Tests
184-
225+
185226` ` ` bash
186227go test ./...
187228```
188-
229+
189230---
190-
231+
191232## 🛣️ Roadmap
192-
193- - [ ] CloudWatch Events
194- - [ ] SES email emulation
195- - [ ] DynamoDB Streams
196- - [ ] Lambda function URLs
197- - [ ] API Gateway v2 (HTTP API)
198- - [ ] Bedrock (mock LLM responses)
199-
233+
234+ ### ✅ v0.1.0
235+ - [x] S3, DynamoDB, Lambda, SQS, API Gateway, Dashboard, IaC Parser
236+
237+ ### ✅ v0.2.0
238+ - [x] SNS, Secrets Manager, CloudWatch Logs, Lambda Hot Reload, Data Persistence
239+
240+ ### ✅ v0.3.0
241+ - [x] IAM, STS, KMS, CloudFormation, Step Functions, EventBridge, ElastiCache, Cognito
242+
243+ ### ✅ v0.4.0
244+ - [x] CloudWatch Metrics, SQS FIFO, Lambda Layers, X-Ray, Route53, SSM Parameter Store, Rekognition
245+
246+ ### ✅ v0.5.0
247+ - [x] CloudWatch Events, SES, DynamoDB Streams, Lambda Function URLs, API Gateway v2, Bedrock
248+
200249---
201-
250+
202251## 🤝 Contributing
203-
252+
204253We welcome contributions! Please read [ CONTRIBUTING.md] ( CONTRIBUTING.md ) to get started.
205-
254+
206255---
207-
256+
208257## 📄 License
209-
258+
210259Apache 2.0 — see [ LICENSE] ( LICENSE ) for details.
211-
260+
212261---
213-
262+
214263## ⭐ Star History
215-
264+
216265If CloudDev saves you time or money, please consider giving it a ⭐ on GitHub!
217266
218- > Built for devs
267+ > Built with Claude (Instructor) · Codex (Developer)
0 commit comments