From 9c79b250effce625f5b3d1ba004b6e30696e8dd9 Mon Sep 17 00:00:00 2001 From: djmil Date: Mon, 9 Mar 2026 19:17:59 +0000 Subject: [PATCH] rename.sh respects gitea host url --- .mockery.yaml | 2 +- CLAUDE.md | 4 ++-- README.md | 2 +- cmd/app/main.go | 6 +++--- go.mod | 2 +- internal/greeter/greeter.go | 2 +- internal/greeter/greeter_test.go | 6 +++--- rename.sh | 18 +++++++++--------- 8 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.mockery.yaml b/.mockery.yaml index c97e78c..c7873d1 100644 --- a/.mockery.yaml +++ b/.mockery.yaml @@ -13,6 +13,6 @@ dir: "mocks/{{.PackageName}}" # Packages whose interfaces should be mocked. # Add entries here whenever you define an interface that other packages depend on. packages: - github.com/your-org/go-template/internal/greeter: + gitea.djmil.dev/djmil/go-template/internal/greeter: interfaces: Greeter: diff --git a/CLAUDE.md b/CLAUDE.md index 8db574d..ad0c3b1 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -11,7 +11,7 @@ Go 1.24 template / PoC starter. Demonstrates: structured logging (zap), config (viper), interfaces + mocks (mockery), linting (golangci-lint), security scanning (gosec, govulncheck), git hooks, devcontainer, VSCode tasks. -Module: `github.com/your-org/go-template` — update this when you fork. +Module: `gitea.djmil.dev/djmil/go-template` — update this when you fork. --- @@ -34,7 +34,7 @@ tools.go Tool version pinning (build tag: tools) ## Project rules -- **Module imports** — always use the full module path `github.com/your-org/go-template/...` +- **Module imports** — always use the full module path `gitea.djmil.dev/djmil/go-template/...` - **Packages** — keep `cmd/` thin (wiring only); business logic belongs in `internal/` - **Interfaces** — define interfaces where they are *used*, not where they are *implemented* - **Errors** — wrap with `fmt.Errorf("context: %w", err)`; never swallow errors silently diff --git a/README.md b/README.md index 2bfef0d..a862bea 100644 --- a/README.md +++ b/README.md @@ -157,7 +157,7 @@ In production (`app.env != dev`) the output is JSON. In development, use Generated mocks support type-safe EXPECT() call chains: ```go -import mocks "github.com/you/my-project/mocks/greeter" +import mocks "gitea.djmil.dev/djmil/go-template/mocks/greeter" func TestSomething(t *testing.T) { g := mocks.NewMockGreeter(t) diff --git a/cmd/app/main.go b/cmd/app/main.go index ce52b51..5a32847 100644 --- a/cmd/app/main.go +++ b/cmd/app/main.go @@ -7,9 +7,9 @@ import ( "fmt" "os" - "github.com/your-org/go-template/internal/config" - "github.com/your-org/go-template/internal/greeter" - "github.com/your-org/go-template/internal/logger" + "gitea.djmil.dev/djmil/go-template/internal/config" + "gitea.djmil.dev/djmil/go-template/internal/greeter" + "gitea.djmil.dev/djmil/go-template/internal/logger" ) func main() { diff --git a/go.mod b/go.mod index 54e04a7..ea54105 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/your-org/go-template +module gitea.djmil.dev/djmil/go-template go 1.25.0 diff --git a/internal/greeter/greeter.go b/internal/greeter/greeter.go index 5e13fb3..e7a90bc 100644 --- a/internal/greeter/greeter.go +++ b/internal/greeter/greeter.go @@ -10,7 +10,7 @@ package greeter import ( "fmt" - "github.com/your-org/go-template/internal/logger" + "gitea.djmil.dev/djmil/go-template/internal/logger" ) //go:generate mockery --name=Greeter diff --git a/internal/greeter/greeter_test.go b/internal/greeter/greeter_test.go index ecb71a8..7b62a72 100644 --- a/internal/greeter/greeter_test.go +++ b/internal/greeter/greeter_test.go @@ -6,8 +6,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/your-org/go-template/internal/greeter" - "github.com/your-org/go-template/internal/logger" + "gitea.djmil.dev/djmil/go-template/internal/greeter" + "gitea.djmil.dev/djmil/go-template/internal/logger" ) // ── Service (unit tests) ────────────────────────────────────────────────────── @@ -39,7 +39,7 @@ func TestGreet(t *testing.T) { func TestMockUsageExample(t *testing.T) { // Import path when used in another package: - // mocks "github.com/your-org/go-template/mocks/greeter" + // mocks "gitea.djmil.dev/djmil/go-template/mocks/greeter" // // mock := mocks.NewMockGreeter(t) // mock.EXPECT().Greet("Alice").Return("Hello, Alice!", nil) diff --git a/rename.sh b/rename.sh index 4a6b18e..883b27f 100755 --- a/rename.sh +++ b/rename.sh @@ -25,6 +25,10 @@ warn() { echo -e "${YELLOW}!${RESET} $*"; } error() { echo -e "${RED}✗${RESET} $*" >&2; } heading() { echo -e "\n${BOLD}$*${RESET}"; } +# ── Default Git host ────────────────────────────────────────────────────────── +# Change this if you ever migrate to a different server. +DEFAULT_HOST="gitea.djmil.dev" + # ── Validation ──────────────────────────────────────────────────────────────── validate_slug() { local val="$1" label="$2" @@ -54,7 +58,7 @@ if [[ ! -f go.mod ]]; then fi CURRENT_MODULE=$(grep '^module ' go.mod | awk '{print $2}') -TEMPLATE_MODULE="github.com/your-org/go-template" +TEMPLATE_MODULE="${DEFAULT_HOST}/djmil/go-template" if [[ "$CURRENT_MODULE" != "$TEMPLATE_MODULE" ]]; then warn "Module is already '$CURRENT_MODULE' (not the default template value)." @@ -72,11 +76,11 @@ if [[ $# -ge 2 ]]; then NEW_PROJECT="$2" else while true; do - read -rp "GitHub org or username (e.g. acme-corp): " NEW_ORG + read -rp "Org / username (e.g. djmil): " NEW_ORG validate_slug "$NEW_ORG" "Org/username" && break done while true; do - read -rp "Project / repo name (e.g. my-service): " NEW_PROJECT + read -rp "Project name (e.g. my-service): " NEW_PROJECT validate_slug "$NEW_PROJECT" "Project name" && break done fi @@ -84,7 +88,7 @@ fi validate_slug "$NEW_ORG" "Org/username" validate_slug "$NEW_PROJECT" "Project name" -NEW_MODULE="github.com/${NEW_ORG}/${NEW_PROJECT}" +NEW_MODULE="${DEFAULT_HOST}/${NEW_ORG}/${NEW_PROJECT}" OLD_MODULE="$CURRENT_MODULE" OLD_PROJECT=$(basename "$OLD_MODULE") # e.g. go-template NEW_DISPLAY=$(to_title "$NEW_PROJECT") # e.g. My Service @@ -161,12 +165,8 @@ fi # 6. README.md — heading + all module path occurrences if [[ -f README.md ]]; then - # Top-level heading sedi "s|^# ${OLD_PROJECT}$|# ${NEW_PROJECT}|g" README.md - # Any leftover template module paths (including the 'github.com/you/my-project' placeholder) sedi "s|${OLD_MODULE}|${NEW_MODULE}|g" README.md - sedi "s|github\.com/you/my-project|${NEW_MODULE}|g" README.md - # app.name reference in the config block sedi "s|name: \"${OLD_PROJECT}\"|name: \"${NEW_PROJECT}\"|g" README.md info "README.md" fi @@ -188,4 +188,4 @@ echo " make build # verify it compiles" echo " make test # verify tests pass" echo warn "If you renamed the directory on disk, update git remote too:" -echo " git remote set-url origin git@github.com:${NEW_ORG}/${NEW_PROJECT}.git" +echo " git remote set-url origin git@${DEFAULT_HOST}:${NEW_ORG}/${NEW_PROJECT}.git"