https://github.com/lex00/wetwire-aws-go
Go DSL for AWS CloudFormation with AI-assisted design
https://github.com/lex00/wetwire-aws-go
Last synced: 5 months ago
JSON representation
Go DSL for AWS CloudFormation with AI-assisted design
- Host: GitHub
- URL: https://github.com/lex00/wetwire-aws-go
- Owner: lex00
- License: mit
- Created: 2026-01-02T23:48:42.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-01-18T06:33:36.000Z (5 months ago)
- Last Synced: 2026-01-18T07:35:22.951Z (5 months ago)
- Language: Go
- Size: 21.8 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Notice: NOTICE
Awesome Lists containing this project
README
# wetwire-aws (Go)
[](https://github.com/lex00/wetwire-aws-go/actions/workflows/ci.yml)
[](https://codecov.io/gh/lex00/wetwire-aws-go)
[](https://pkg.go.dev/github.com/lex00/wetwire-aws-go)
[](https://goreportcard.com/report/github.com/lex00/wetwire-aws-go)
[](https://opensource.org/licenses/MIT)
[](https://github.com/lex00/wetwire-aws-go/releases)
AWS CloudFormation synthesis using Go struct literals.
## Installation
```bash
go install github.com/lex00/wetwire-aws-go/cmd/wetwire-aws@latest
```
## Quick Example
```go
package infra
import (
"github.com/lex00/wetwire-aws-go/resources/s3"
"github.com/lex00/wetwire-aws-go/resources/iam"
"github.com/lex00/wetwire-aws-go/resources/lambda"
. "github.com/lex00/wetwire-aws-go/intrinsics"
)
var MyBucket = s3.Bucket{
BucketName: "my-data",
}
var MyRole = iam.Role{
RoleName: "processor-role",
}
var MyFunction = lambda.Function{
FunctionName: "processor",
Runtime: lambda.RuntimePython312,
Role: MyRole.Arn, // Type-safe GetAtt reference
}
```
```bash
wetwire-aws build ./infra > template.json
```
## Serverless (SAM) Support
Build serverless applications with type-safe SAM resources:
```go
package infra
import "github.com/lex00/wetwire-aws-go/resources/serverless"
var ProcessorFunction = serverless.Function{
Handler: "bootstrap",
Runtime: "provided.al2",
CodeUri: "./src",
MemorySize: 128,
Timeout: 30,
}
```
All 9 SAM resource types supported: `Function`, `Api`, `HttpApi`, `SimpleTable`, `LayerVersion`, `StateMachine`, `Application`, `Connector`, `GraphQLApi`.
## AI-Assisted Design
Create infrastructure interactively with AI:
```bash
# No API key required - uses Claude CLI
wetwire-aws design "Create an encrypted S3 bucket"
# Automated testing with personas
wetwire-aws test --persona beginner "Create a Lambda function"
```
Uses [Claude CLI](https://claude.ai/download) by default (no API key required). Falls back to Anthropic API if Claude CLI is not installed. See [CLI Reference](docs/CLI.md#design) for details.
## Documentation
**Getting Started:**
- [Quick Start](docs/QUICK_START.md) - 5-minute tutorial
- [FAQ](docs/FAQ.md) - Common questions
**Reference:**
- [CLI Reference](docs/CLI.md) - All commands
- [SAM Guide](docs/SAM.md) - Serverless resources
- [Lint Rules](docs/LINT_RULES.md) - WAW rule reference
**Advanced:**
- [Internals](docs/INTERNALS.md) - Architecture and extension points
- [Adoption Guide](docs/ADOPTION.md) - Team migration strategies
- [Examples](docs/EXAMPLES.md) - Imported template catalog
## Development
```bash
git clone https://github.com/lex00/wetwire-aws-go.git
cd wetwire-aws-go
go mod download
go test ./... # Run tests
./scripts/ci.sh # Full CI checks
```
See [Developer Guide](docs/DEVELOPERS.md) and [Contributing](CONTRIBUTING.md) for details.
## License
MIT - See [LICENSE](LICENSE) for details. Third-party attributions in [NOTICE](NOTICE).