From 4e1258302ff6ff8a9f635b531e76a9fbbe81afba Mon Sep 17 00:00:00 2001 From: sneak Date: Sat, 3 Oct 2026 12:10:07 +0000 Subject: [PATCH] Move the Go module to sneak.berlin/go/keyfunc (closes #15) REPO_POLICIES.md sets the Go module root to sneak.berlin/go/. go.mod, every import of the old path and the -X path in the Makefile LDFLAGS now use sneak.berlin/go/keyfunc; make fmt moved those imports to their new place in the sort order. The old path keeps no alias. The README gives the go install line next to the build from a clone and drops this issue from its TODO list, which now names the open 1.0 issues. Model: opus-5-5 --- Makefile | 2 +- README.md | 13 +++++++++++-- cmd/keyfunc/main.go | 2 +- go.mod | 2 +- internal/agekey/agekey_test.go | 4 ++-- internal/childmnemonic/childmnemonic.go | 2 +- internal/childmnemonic/childmnemonic_test.go | 4 ++-- internal/cli/age/age.go | 6 +++--- internal/cli/age_test.go | 4 ++-- internal/cli/cli.go | 8 ++++---- internal/cli/cli_test.go | 8 ++++---- internal/cli/mnemonic/mnemonic.go | 6 +++--- internal/cli/options/options.go | 2 +- internal/cli/ssh/ssh.go | 8 ++++---- internal/cli/ssh_test.go | 6 +++--- internal/derive/derive_test.go | 2 +- internal/mnemonic/mnemonic_test.go | 2 +- internal/sshkey/sshkey_test.go | 4 ++-- 18 files changed, 47 insertions(+), 38 deletions(-) diff --git a/Makefile b/Makefile index b977ebe..eb1d4bd 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ # which needs the version stamped into the binary. VERSION := $(shell git describe --tags --always --dirty 2>/dev/null || echo dev) -LDFLAGS := -s -w -X 'git.eeqj.de/sneak/keyfunc/internal/cli.Version=$(VERSION)' +LDFLAGS := -s -w -X 'sneak.berlin/go/keyfunc/internal/cli.Version=$(VERSION)' .PHONY: default bootstrap setup build test lint fmt fmt-check check \ docker cibuild hooks clean diff --git a/README.md b/README.md index 182ed23..31fd1ce 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,13 @@ them, and `keyfunc mnemonic ...` for child mnemonics derived from the main one. ## Getting Started -Build from a clone and run the binary: +Install with Go: + +``` +go install sneak.berlin/go/keyfunc/cmd/keyfunc@latest +``` + +Or build from a clone and run the binary: ``` git clone git@git.eeqj.de:sneak/keyfunc.git @@ -305,7 +311,10 @@ standard: most Makefile targets are thin shims over an executable in The open issues that stand between the tree and a 1.0 release: -- [#15 Decide the Go module path before 1.0](https://git.eeqj.de/sneak/keyfunc/issues/15) +- [#38 Lint and test as phases of the Dockerfile, as the current repo policy requires](https://git.eeqj.de/sneak/keyfunc/issues/38) +- [#39 make fmt and make fmt-check cover Markdown with prettier](https://git.eeqj.de/sneak/keyfunc/issues/39) +- [#40 The linter config, .gitignore and .dockerignore from the current templates](https://git.eeqj.de/sneak/keyfunc/issues/40) +- [#42 go-bip39 no longer exists upstream: keep it, or copy it into the repo?](https://git.eeqj.de/sneak/keyfunc/issues/42) ## License diff --git a/cmd/keyfunc/main.go b/cmd/keyfunc/main.go index 90d87cc..a3b2c11 100644 --- a/cmd/keyfunc/main.go +++ b/cmd/keyfunc/main.go @@ -4,7 +4,7 @@ package main import ( "os" - "git.eeqj.de/sneak/keyfunc/internal/cli" + "sneak.berlin/go/keyfunc/internal/cli" ) func main() { diff --git a/go.mod b/go.mod index 092d55c..543f9b5 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module git.eeqj.de/sneak/keyfunc +module sneak.berlin/go/keyfunc go 1.26.0 diff --git a/internal/agekey/agekey_test.go b/internal/agekey/agekey_test.go index 376e3ab..fd488d0 100644 --- a/internal/agekey/agekey_test.go +++ b/internal/agekey/agekey_test.go @@ -5,9 +5,9 @@ import ( "strings" "testing" - "git.eeqj.de/sneak/keyfunc/internal/agekey" - "git.eeqj.de/sneak/keyfunc/internal/derive" "github.com/stretchr/testify/require" + "sneak.berlin/go/keyfunc/internal/agekey" + "sneak.berlin/go/keyfunc/internal/derive" ) // The recipients the example mnemonic produces at the first two diff --git a/internal/childmnemonic/childmnemonic.go b/internal/childmnemonic/childmnemonic.go index f795f1a..a651666 100644 --- a/internal/childmnemonic/childmnemonic.go +++ b/internal/childmnemonic/childmnemonic.go @@ -5,10 +5,10 @@ import ( "errors" "fmt" - "git.eeqj.de/sneak/keyfunc/internal/derive" "git.eeqj.de/sneak/secret/pkg/bip85" "github.com/btcsuite/btcd/btcutil/hdkeychain" bip39 "github.com/tyler-smith/go-bip39" + "sneak.berlin/go/keyfunc/internal/derive" ) // english is the number BIP-85 gives the English word list. diff --git a/internal/childmnemonic/childmnemonic_test.go b/internal/childmnemonic/childmnemonic_test.go index ccd8990..0075a24 100644 --- a/internal/childmnemonic/childmnemonic_test.go +++ b/internal/childmnemonic/childmnemonic_test.go @@ -4,11 +4,11 @@ import ( "strings" "testing" - "git.eeqj.de/sneak/keyfunc/internal/childmnemonic" - "git.eeqj.de/sneak/keyfunc/internal/derive" "github.com/btcsuite/btcd/btcutil/hdkeychain" "github.com/stretchr/testify/require" bip39 "github.com/tyler-smith/go-bip39" + "sneak.berlin/go/keyfunc/internal/childmnemonic" + "sneak.berlin/go/keyfunc/internal/derive" ) // The lengths the tool offers, and one it does not. diff --git a/internal/cli/age/age.go b/internal/cli/age/age.go index 4de2b60..700fdf2 100644 --- a/internal/cli/age/age.go +++ b/internal/cli/age/age.go @@ -8,10 +8,10 @@ import ( "os" "path/filepath" - "git.eeqj.de/sneak/keyfunc/internal/agekey" - "git.eeqj.de/sneak/keyfunc/internal/cli/options" - "git.eeqj.de/sneak/keyfunc/internal/derive" "github.com/spf13/cobra" + "sneak.berlin/go/keyfunc/internal/agekey" + "sneak.berlin/go/keyfunc/internal/cli/options" + "sneak.berlin/go/keyfunc/internal/derive" ) // Command returns the age command and everything under it. diff --git a/internal/cli/age_test.go b/internal/cli/age_test.go index 3d452b9..1b37231 100644 --- a/internal/cli/age_test.go +++ b/internal/cli/age_test.go @@ -6,9 +6,9 @@ import ( "strings" "testing" - "git.eeqj.de/sneak/keyfunc/internal/agekey" - "git.eeqj.de/sneak/keyfunc/internal/mnemonic" "github.com/stretchr/testify/require" + "sneak.berlin/go/keyfunc/internal/agekey" + "sneak.berlin/go/keyfunc/internal/mnemonic" ) func TestTheAgeCommandsPrintTheKey(t *testing.T) { diff --git a/internal/cli/cli.go b/internal/cli/cli.go index 2dd443e..e49c853 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -10,11 +10,11 @@ import ( "runtime/debug" "syscall" - "git.eeqj.de/sneak/keyfunc/internal/cli/age" - "git.eeqj.de/sneak/keyfunc/internal/cli/mnemonic" - "git.eeqj.de/sneak/keyfunc/internal/cli/options" - "git.eeqj.de/sneak/keyfunc/internal/cli/ssh" "github.com/spf13/cobra" + "sneak.berlin/go/keyfunc/internal/cli/age" + "sneak.berlin/go/keyfunc/internal/cli/mnemonic" + "sneak.berlin/go/keyfunc/internal/cli/options" + "sneak.berlin/go/keyfunc/internal/cli/ssh" ) // devVersion is what Version holds until a build stamps a real one. diff --git a/internal/cli/cli_test.go b/internal/cli/cli_test.go index fa11a40..2f46688 100644 --- a/internal/cli/cli_test.go +++ b/internal/cli/cli_test.go @@ -5,13 +5,13 @@ import ( "strings" "testing" - "git.eeqj.de/sneak/keyfunc/internal/childmnemonic" - "git.eeqj.de/sneak/keyfunc/internal/cli" - "git.eeqj.de/sneak/keyfunc/internal/derive" - "git.eeqj.de/sneak/keyfunc/internal/mnemonic" "github.com/stretchr/testify/require" bip39 "github.com/tyler-smith/go-bip39" "golang.org/x/crypto/ssh" + "sneak.berlin/go/keyfunc/internal/childmnemonic" + "sneak.berlin/go/keyfunc/internal/cli" + "sneak.berlin/go/keyfunc/internal/derive" + "sneak.berlin/go/keyfunc/internal/mnemonic" ) // The two lines the README says the example mnemonic produces. diff --git a/internal/cli/mnemonic/mnemonic.go b/internal/cli/mnemonic/mnemonic.go index e157e18..8c33332 100644 --- a/internal/cli/mnemonic/mnemonic.go +++ b/internal/cli/mnemonic/mnemonic.go @@ -4,10 +4,10 @@ package mnemonic import ( "fmt" - "git.eeqj.de/sneak/keyfunc/internal/childmnemonic" - "git.eeqj.de/sneak/keyfunc/internal/cli/options" - "git.eeqj.de/sneak/keyfunc/internal/derive" "github.com/spf13/cobra" + "sneak.berlin/go/keyfunc/internal/childmnemonic" + "sneak.berlin/go/keyfunc/internal/cli/options" + "sneak.berlin/go/keyfunc/internal/derive" ) // Command returns the mnemonic command. diff --git a/internal/cli/options/options.go b/internal/cli/options/options.go index cfad875..5d454ec 100644 --- a/internal/cli/options/options.go +++ b/internal/cli/options/options.go @@ -5,8 +5,8 @@ package options import ( "fmt" - "git.eeqj.de/sneak/keyfunc/internal/mnemonic" "github.com/spf13/cobra" + "sneak.berlin/go/keyfunc/internal/mnemonic" ) // Add gives a command the flags that every command has. They are diff --git a/internal/cli/ssh/ssh.go b/internal/cli/ssh/ssh.go index 3df7344..9fa73f6 100644 --- a/internal/cli/ssh/ssh.go +++ b/internal/cli/ssh/ssh.go @@ -6,11 +6,11 @@ import ( "os" "strings" - "git.eeqj.de/sneak/keyfunc/internal/cli/options" - "git.eeqj.de/sneak/keyfunc/internal/derive" - "git.eeqj.de/sneak/keyfunc/internal/mnemonic" - "git.eeqj.de/sneak/keyfunc/internal/sshkey" "github.com/spf13/cobra" + "sneak.berlin/go/keyfunc/internal/cli/options" + "sneak.berlin/go/keyfunc/internal/derive" + "sneak.berlin/go/keyfunc/internal/mnemonic" + "sneak.berlin/go/keyfunc/internal/sshkey" ) // Command returns the ssh command and everything under it. diff --git a/internal/cli/ssh_test.go b/internal/cli/ssh_test.go index 1bf8193..7ab7128 100644 --- a/internal/cli/ssh_test.go +++ b/internal/cli/ssh_test.go @@ -12,10 +12,10 @@ import ( "testing" "time" - "git.eeqj.de/sneak/keyfunc/internal/cli" - "git.eeqj.de/sneak/keyfunc/internal/cli/ssh" - "git.eeqj.de/sneak/keyfunc/internal/mnemonic" "github.com/stretchr/testify/require" + "sneak.berlin/go/keyfunc/internal/cli" + "sneak.berlin/go/keyfunc/internal/cli/ssh" + "sneak.berlin/go/keyfunc/internal/mnemonic" ) // runAsTool, set in the environment of a re-executed test binary, tells diff --git a/internal/derive/derive_test.go b/internal/derive/derive_test.go index 75f8b70..3c35466 100644 --- a/internal/derive/derive_test.go +++ b/internal/derive/derive_test.go @@ -5,8 +5,8 @@ import ( "strings" "testing" - "git.eeqj.de/sneak/keyfunc/internal/derive" "github.com/stretchr/testify/require" + "sneak.berlin/go/keyfunc/internal/derive" ) // application is the number the SSH key type uses. diff --git a/internal/mnemonic/mnemonic_test.go b/internal/mnemonic/mnemonic_test.go index c8f155c..7924f90 100644 --- a/internal/mnemonic/mnemonic_test.go +++ b/internal/mnemonic/mnemonic_test.go @@ -4,8 +4,8 @@ import ( "strings" "testing" - "git.eeqj.de/sneak/keyfunc/internal/mnemonic" "github.com/stretchr/testify/require" + "sneak.berlin/go/keyfunc/internal/mnemonic" ) // Two more mnemonics that pass the checksum, so a test can tell which diff --git a/internal/sshkey/sshkey_test.go b/internal/sshkey/sshkey_test.go index 2ab8cb6..4415054 100644 --- a/internal/sshkey/sshkey_test.go +++ b/internal/sshkey/sshkey_test.go @@ -7,11 +7,11 @@ import ( "strings" "testing" - "git.eeqj.de/sneak/keyfunc/internal/derive" - "git.eeqj.de/sneak/keyfunc/internal/sshkey" "github.com/stretchr/testify/require" "golang.org/x/crypto/ssh" "golang.org/x/crypto/ssh/agent" + "sneak.berlin/go/keyfunc/internal/derive" + "sneak.berlin/go/keyfunc/internal/sshkey" ) // agentDirectoryMode is what the directory holding the agent socket