From 92859201cd56b93ecf9a7772362bbe9f5e6aede3 Mon Sep 17 00:00:00 2001 From: Sven van Dam Date: Fri, 3 Apr 2026 12:23:43 +0200 Subject: [PATCH] chore: add AGENTS.md and CLAUDE.md for AI agent context Co-Authored-By: Claude Opus 4.6 (1M context) --- AGENTS.md | 38 ++++++++++++++++++++++++++++++++++++++ CLAUDE.md | 1 + 2 files changed, 39 insertions(+) create mode 100644 AGENTS.md create mode 100644 CLAUDE.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..93f4ea8 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,38 @@ +# Ploy + +Terminal-based deployment tool for AWS services. Defines desired service versions in YAML config files and can verify/deploy them. + +## Stack + +- Go 1.23, modules +- CLI framework: Cobra +- AWS SDK v2 (Lambda, ECS, EventBridge) +- Config format: YAML + +## Project Structure + +- `cmd/` - CLI commands (deploy, verify, update) +- `engine/` - Deployment engines (Lambda, ECS, ECS Scheduled Tasks) +- `deployments/` - Config parsing, deploy/verify/update orchestration +- `utils/` - Shared helpers + +## Development + +No Makefile. Use standard Go commands: + +```bash +go build ./... +go test ./... +go install . # install locally +``` + +## CI/CD + +- **PR**: `go build ./...` (`.github/workflows/pr-build.yml`) +- **Release**: Tag `v*.*.*` triggers GoReleaser (`.github/workflows/release.yml`). Create releases via GitHub UI. `source-deployments` picks up the latest release automatically. + +## Architecture Notes + +- Each deployment engine implements the `DeploymentEngine` interface in `engine/core.go` and registers itself via `RegisterDeploymentEngine` in an `init()` function. +- Config files are per-environment YAML (e.g. `development.yml`, `production.yml`). +- The `update` command only modifies the YAML file; it does not deploy. Run `deploy` separately. diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..43c994c --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1 @@ +@AGENTS.md