An open API service indexing awesome lists of open source software.

https://github.com/lex00/wetwire


https://github.com/lex00/wetwire

Last synced: 5 months ago
JSON representation

Awesome Lists containing this project

README

          

# Wetwire

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Go](https://img.shields.io/badge/Go-1.23+-blue?logo=go)](https://golang.org/)

Declarative infrastructure-as-code designed for AI-human collaboration.

## What is Wetwire?

Wetwire is a pattern for writing infrastructure-as-code using Go structs. The primary workflow is **design mode**, where an AI agent and human developer work together to generate infrastructure.

```
Developer: "I need a Lambda function that processes S3 uploads"

AI Agent: Generates flat, declarative code

Linter: Enforces patterns

Developer: Reviews, refines, iterates
```

The name is a reference to William Gibson's "Johnny Mnemonic" — representing the interface between human developers and AI agents.

## Key Features

- **Flat declarations** — Scannable blocks, no nested constructor calls
- **AI-optimized** — Patterns designed for generation and review
- **Type-safe** — Full IDE support and static analysis
- **Lint-enforced** — Rules guide toward analyzable code

## Documentation

### Core Documentation

| Document | Description |
|----------|-------------|
| [Wetwire Specification](docs/WETWIRE_SPEC.md) | Philosophy, requirements, and algorithms |
| [Feature Matrix](docs/FEATURE_MATRIX.md) | Cross-domain feature comparison |
| [FAQ](docs/FAQ.md) | Frequently asked questions |

### For Contributors

| Document | Description |
|----------|-------------|
| [Domain Guide](docs/DOMAIN_GUIDE.md) | How to create a new domain package |
| [Documentation Guide](docs/DOCUMENTATION_GUIDE.md) | Documentation standards and style |

### Architecture

| Document | Description |
|----------|-------------|
| [Architecture](docs/architecture/ARCHITECTURE.md) | System design and implementation details |
| [Code Generation](docs/architecture/CODEGEN_WORKFLOW.md) | Schema fetching and code generation |

## Repositories

### Core Package

| Repository | Description |
|------------|-------------|
| [wetwire-core-go](https://github.com/lex00/wetwire-core-go) | Agent infrastructure, providers, MCP |

### Domain Packages — Infrastructure

| Repository | Description |
|------------|-------------|
| [wetwire-aws-go](https://github.com/lex00/wetwire-aws-go) | AWS CloudFormation synthesis |
| [wetwire-k8s-go](https://github.com/lex00/wetwire-k8s-go) | Kubernetes manifest synthesis |
| [wetwire-azure-go](https://github.com/lex00/wetwire-azure-go) | Azure ARM template synthesis |

### Domain Packages — CI/CD

| Repository | Description |
|------------|-------------|
| [wetwire-github-go](https://github.com/lex00/wetwire-github-go) | GitHub Actions synthesis |
| [wetwire-gitlab-go](https://github.com/lex00/wetwire-gitlab-go) | GitLab CI synthesis |

### Domain Packages — Observability

| Repository | Description |
|------------|-------------|
| [wetwire-honeycomb-go](https://github.com/lex00/wetwire-honeycomb-go) | Honeycomb query synthesis |

### Domain Packages — Graph

| Repository | Description |
|------------|-------------|
| [wetwire-neo4j-go](https://github.com/lex00/wetwire-neo4j-go) | Neo4j GDS pipeline synthesis |

## Status

| Domain | Status |
|--------|--------|
| AWS CloudFormation | ✅ Active |
| GitHub Actions | ✅ Active |
| GitLab CI | ✅ Active |
| Kubernetes | ✅ Active |
| Azure ARM | ✅ Active |
| Honeycomb | 🔨 Scaffold |
| Neo4j GDS | 🔨 Scaffold |

**Status Key:**
- ✅ **Active** — Feature-complete, in production use
- 🔨 **Scaffold** — Repository created, under development

## Getting Started

### With Claude Code (Recommended)

The easiest way to use wetwire is with [Claude Code](https://claude.ai/claude-code):

1. Install a domain package:
```bash
go install github.com/lex00/wetwire-github-go@latest
```

2. Add the MCP server to your Claude Code settings (`~/.claude/settings.json`):
```json
{
"mcpServers": {
"wetwire-github": {
"command": "wetwire-github-mcp"
}
}
}
```

3. Start Claude Code in your project and ask it to generate infrastructure

### Manual Setup

1. Read the [Wetwire Specification](docs/WETWIRE_SPEC.md) for philosophy and patterns
2. Choose a domain package and follow its Quick Start guide:
- [wetwire-aws-go](https://github.com/lex00/wetwire-aws-go) — Quick Start

## License

MIT