Library for our Golang projects
Development Status rebuy-go-sdk is designed for internal use. Since it uses Semantic Versioning it is safe to use, but expect big changes between major version updates.
The complete SDK documentation is available via standard Go documentation tools. Use go doc
or visit the GoDoc site to browse the documentation.
- Application Layout - see
go doc github.com/rebuy-de/rebuy-go-sdk
- Command Structure with cmdutil - see
go doc github.com/rebuy-de/rebuy-go-sdk/pkg/cmdutil
- Runner Pattern - see
go doc github.com/rebuy-de/rebuy-go-sdk/pkg/cmdutil
- HTTP Handlers with webutil - see
go doc github.com/rebuy-de/rebuy-go-sdk/pkg/webutil
- Worker Management with runutil - see
go doc github.com/rebuy-de/rebuy-go-sdk/pkg/runutil
- Dependency Injection with digutil - see
go doc github.com/rebuy-de/rebuy-go-sdk/pkg/digutil
.claude-commands
contains some commands for Claude Code that help it understanding the project structure and mostly
prevent it from doing funny things. You can add these commands to Claude Code by symlinking it:
ln -s "$(pwd)/.claude-commands" ~/.claude/commands/rebuy-go-sdk
Afterwards those commands are available with the /rebuy-go-sdk:
prefix.
Most interesting command is /rebuy-go-sdk:docs
, which loads documentation into the context that is tailored for LLMs.
Afterwards you can enter the actual changing prompt.
> /rebuy-go-sdk:docs
> Please add a new handler for managing coffee machines.
For practical examples of using the SDK, check the examples/
directory, which contains:
examples/minimal/
- A minimal application using the SDKexamples/full/
- A complete application with HTTP handlers, workers, and more
Note: vN
is the new release (eg v3
) and vP
is the previous one (eg v2
).
- Create a new branch
release-vN
to avoid breaking changes getting into the previous release. - Do your breaking changes in the branch.
- Update the imports everywhere:
find . -type f -exec sed -i 's#github.com/rebuy-de/rebuy-go-sdk/vO#github.com/rebuy-de/rebuy-go-sdk/vP#g' {} +
- Merge your branch.
- Add Release on GitHub.