Thanks for your interest in contributing to lamvms!
go generate ./... # codegen + mockgen
go build ./...
go test ./...go generate runs two generators and must be re-run whenever their inputs change:
cmd/codegen/regeneratesaws.gen.goandtestdata/gen/*.jsonfrom the AWS SDK types listed incmd/codegen/main.go'stargetsslice.mockgenregeneratesmock_test.gofrom theLambdaMicroVMsClientinterface inlamvms.go.
Do not hand-edit aws.gen.go, mock_test.go, or files under testdata/gen/. They are generated and will be overwritten.
If you need custom json.Unmarshal/json.Marshal handling for a new AWS SDK struct (typically one with a union-type interface field), add it to the targets slice in cmd/codegen/main.go instead of writing it by hand.
- Run
golangci-lint run ./...before submitting; it must report 0 issues. - Do not add
//nolintsuppressions. Fix the underlying issue instead. - Exported identifiers need GoDoc comments; avoid inline comments.
- See
CLAUDE.mdfor the full set of project conventions.
- One logical change per pull request.
- Update
README.mdandREADME.ja.mdtogether when documentation changes are needed. - Releases are cut via the tagpr flow; you don't need to bump version numbers or create tags yourself.
Use the issue templates under .github/ISSUE_TEMPLATE/.
See SECURITY.md. Do not open a public issue for security vulnerabilities.