- Replace deprecated io/ioutil with os.ReadFile, os.WriteFile, etc.
- Replace interface{} with any
- Replace github.com/pkg/errors with stdlib fmt.Errorf %w wrapping
- Use errors.As() instead of direct type assertions on errors
- Use strings.Cut() for delimiter parsing
- Use slices.Contains() for linear searches
- Use t.Setenv() and t.TempDir() in tests
- Update CI workflows to Go 1.25
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Spawns an isolated sub-shell with a minimal kubeconfig containing only the specified context.
This allows the user to launch a shell where they can only interact with a single cluster without having to worry about a command or an LLM agent interacting with other contexts.
Inside the isolated shell, most context switching/editing operations on kubectx are blocked. Nested shells not allowed.
Fixes#12.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* fix(release): customize goreleaser config file, by adding json schema and fixing configuration version
* fix(go): rename invalid comment format
* fix(ci): made release workflow work again
replace goreleaser --rm-dist flag by --clean
increment go version for release pipeline
fetch previous tags use by goreleaser
give release workflow content write permissions to publish release
* stop using XDG_CACHE_HOME as home directory
XDG_CACHE_HOME is not a substitute for $HOME, see [1].
[1]: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
* fix bats testing setup/teardown
since cmdutil.Homedir() would treat $XDG_CACHE_HOME as $HOME, deleting
$XDG_CACHE_HOME would wipe out previous kubens state. now that we're not
doing that, we need to make a real synthetic $HOME and clear it out so
that $HOME/.kube/kubens doesn't persist between runs.