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

The module path becomes sneak.berlin/go/keyfunc, as the repo policy sets for Go modules: go.mod, every import and the -X path in the Makefile. The old path gets no alias. The README gives a go install line for the new path, which resolves with @latest only once main carries the move, and its TODO list now names the open 1.0 issues.

Model: opus-5-5
This commit was merged in pull request #41.
This commit is contained in:
2026-10-04 01:42:43 +02:00
parent f8c796db9b
commit 8d1c873bb7
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