Move the Go module to sneak.berlin/go/keyfunc (closes #15)
check / check (push) Successful in 52s

REPO_POLICIES.md sets the Go module root to sneak.berlin/go/<name>.
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
This commit is contained in:
2026-10-03 13:10:29 +00:00
parent f8c796db9b
commit 4e1258302f
18 changed files with 47 additions and 38 deletions
+1 -1
View File
@@ -3,7 +3,7 @@
# which needs the version stamped into the binary. # which needs the version stamped into the binary.
VERSION := $(shell git describe --tags --always --dirty 2>/dev/null || echo dev) 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 \ .PHONY: default bootstrap setup build test lint fmt fmt-check check \
docker cibuild hooks clean docker cibuild hooks clean
+11 -2
View File
@@ -15,7 +15,13 @@ them, and `keyfunc mnemonic ...` for child mnemonics derived from the main one.
## Getting Started ## 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 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: 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 ## License
+1 -1
View File
@@ -4,7 +4,7 @@ package main
import ( import (
"os" "os"
"git.eeqj.de/sneak/keyfunc/internal/cli" "sneak.berlin/go/keyfunc/internal/cli"
) )
func main() { func main() {
+1 -1
View File
@@ -1,4 +1,4 @@
module git.eeqj.de/sneak/keyfunc module sneak.berlin/go/keyfunc
go 1.26.0 go 1.26.0
+2 -2
View File
@@ -5,9 +5,9 @@ import (
"strings" "strings"
"testing" "testing"
"git.eeqj.de/sneak/keyfunc/internal/agekey"
"git.eeqj.de/sneak/keyfunc/internal/derive"
"github.com/stretchr/testify/require" "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 // The recipients the example mnemonic produces at the first two
+1 -1
View File
@@ -5,10 +5,10 @@ import (
"errors" "errors"
"fmt" "fmt"
"git.eeqj.de/sneak/keyfunc/internal/derive"
"git.eeqj.de/sneak/secret/pkg/bip85" "git.eeqj.de/sneak/secret/pkg/bip85"
"github.com/btcsuite/btcd/btcutil/hdkeychain" "github.com/btcsuite/btcd/btcutil/hdkeychain"
bip39 "github.com/tyler-smith/go-bip39" bip39 "github.com/tyler-smith/go-bip39"
"sneak.berlin/go/keyfunc/internal/derive"
) )
// english is the number BIP-85 gives the English word list. // english is the number BIP-85 gives the English word list.
+2 -2
View File
@@ -4,11 +4,11 @@ import (
"strings" "strings"
"testing" "testing"
"git.eeqj.de/sneak/keyfunc/internal/childmnemonic"
"git.eeqj.de/sneak/keyfunc/internal/derive"
"github.com/btcsuite/btcd/btcutil/hdkeychain" "github.com/btcsuite/btcd/btcutil/hdkeychain"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
bip39 "github.com/tyler-smith/go-bip39" 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. // The lengths the tool offers, and one it does not.
+3 -3
View File
@@ -8,10 +8,10 @@ import (
"os" "os"
"path/filepath" "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" "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. // Command returns the age command and everything under it.
+2 -2
View File
@@ -6,9 +6,9 @@ import (
"strings" "strings"
"testing" "testing"
"git.eeqj.de/sneak/keyfunc/internal/agekey"
"git.eeqj.de/sneak/keyfunc/internal/mnemonic"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"sneak.berlin/go/keyfunc/internal/agekey"
"sneak.berlin/go/keyfunc/internal/mnemonic"
) )
func TestTheAgeCommandsPrintTheKey(t *testing.T) { func TestTheAgeCommandsPrintTheKey(t *testing.T) {
+4 -4
View File
@@ -10,11 +10,11 @@ import (
"runtime/debug" "runtime/debug"
"syscall" "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" "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. // devVersion is what Version holds until a build stamps a real one.
+4 -4
View File
@@ -5,13 +5,13 @@ import (
"strings" "strings"
"testing" "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" "github.com/stretchr/testify/require"
bip39 "github.com/tyler-smith/go-bip39" bip39 "github.com/tyler-smith/go-bip39"
"golang.org/x/crypto/ssh" "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. // The two lines the README says the example mnemonic produces.
+3 -3
View File
@@ -4,10 +4,10 @@ package mnemonic
import ( import (
"fmt" "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" "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. // Command returns the mnemonic command.
+1 -1
View File
@@ -5,8 +5,8 @@ package options
import ( import (
"fmt" "fmt"
"git.eeqj.de/sneak/keyfunc/internal/mnemonic"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"sneak.berlin/go/keyfunc/internal/mnemonic"
) )
// Add gives a command the flags that every command has. They are // Add gives a command the flags that every command has. They are
+4 -4
View File
@@ -6,11 +6,11 @@ import (
"os" "os"
"strings" "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" "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. // Command returns the ssh command and everything under it.
+3 -3
View File
@@ -12,10 +12,10 @@ import (
"testing" "testing"
"time" "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" "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 // runAsTool, set in the environment of a re-executed test binary, tells
+1 -1
View File
@@ -5,8 +5,8 @@ import (
"strings" "strings"
"testing" "testing"
"git.eeqj.de/sneak/keyfunc/internal/derive"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"sneak.berlin/go/keyfunc/internal/derive"
) )
// application is the number the SSH key type uses. // application is the number the SSH key type uses.
+1 -1
View File
@@ -4,8 +4,8 @@ import (
"strings" "strings"
"testing" "testing"
"git.eeqj.de/sneak/keyfunc/internal/mnemonic"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"sneak.berlin/go/keyfunc/internal/mnemonic"
) )
// Two more mnemonics that pass the checksum, so a test can tell which // Two more mnemonics that pass the checksum, so a test can tell which
+2 -2
View File
@@ -7,11 +7,11 @@ import (
"strings" "strings"
"testing" "testing"
"git.eeqj.de/sneak/keyfunc/internal/derive"
"git.eeqj.de/sneak/keyfunc/internal/sshkey"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"golang.org/x/crypto/ssh" "golang.org/x/crypto/ssh"
"golang.org/x/crypto/ssh/agent" "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 // agentDirectoryMode is what the directory holding the agent socket