What the generator produces
The manifest defines one concern and the user-facing operations around it. Depending on that contract, go-sdk-generator can create:
- a Go module layout for the SDK, with exported configuration and domain types;
- interfaces and implementation scaffolding for SDK operations;
- an optional Cobra-style CLI backed by the same configuration model and Viper-style configuration sources;
- a reusable Go-based entrypoint for step-level GitHub Actions;
- generated documentation, release configuration in
pyproject.toml, and supporting project files.
The types and defaults reference describes built-in value formats. The generated command reference covers this repository's Go SDK and CLI interfaces.
What you still implement
Generation provides structure and boilerplate, not the domain-specific logic behind each operation. Implement the generated stubs in Go, then regenerate and review the project when its contract changes.
One operation, several ways to use it
- Import the generated SDK in another Go project and call its methods directly.
- Run the generated CLI locally, in scripts or in a container.
- Use a generated action in CI to invoke the same Go tool rather than duplicating its logic in shell or JavaScript.
The same implementation can serve library users, command-line users and automation while remaining testable as Go code. A generated action represents an operation or a step; a GitHub Actions workflow or task runner still defines how multiple steps fit together. See use GitHub Actions for workflow examples.
For GitHub-hosted repositories, those supporting files include repository workflows such as CI, release automation, dependency updates, and optional copyright-header maintenance when specification.update_copyright_headers is enabled.
As the generator gains improvements to documentation, support files, defaults and repository conventions, regenerated projects can adopt them. Review regenerated files, preserve handwritten implementation logic and manage incompatible contract changes deliberately.