Skip to content

chore: rebrand CLI from Craftybase to Stocksmith - #13

Merged
obitum merged 3 commits into
mainfrom
stocksmith-rebrand
Jun 29, 2026
Merged

chore: rebrand CLI from Craftybase to Stocksmith#13
obitum merged 3 commits into
mainfrom
stocksmith-rebrand

Conversation

@obitum

@obitum obitum commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Summary

Rebrands the CLI from Craftybase to Stocksmith — product name, binary, Go module, command-reference docs, website, and release pipeline.

The GitHub org (craftybase) and Homebrew tap owner are preserved — only the product/binary/repo names change. Repo is now craftybase/stocksmith-cli; binary is stocksmith.

Decisions baked in

Aspect Value
Repo / module github.com/craftybase/stocksmith-cli
Binary stocksmith
Default API URL https://api.stocksmith.dev
Docs domain cli.stocksmith.dev
Config dir ~/.stocksmith/
Env vars STOCKSMITH_API_TOKEN, STOCKSMITH_API_URL
Homebrew brew install craftybase/tap/stocksmith
Migration Hard switch — no backward compatibility

What changed

  • internal/brand/brand.go — flipped all 13 brand constants (the white-label lever). The remaining hardcoded brand strings across commands/ and internal/api/ now route through internal/brand.
  • Logo — replaced the root-help ASCII wordmark in commands/roothelp.go with the Stocksmith art.
  • Module pathcmd/craftybasecmd/stocksmith (git rename); all imports + the goimports local-prefix updated to the new module path.
  • internal/selfupdate — temp-file prefix now derives from the binary name rather than a hardcoded string.
  • Release.goreleaser.yml (binary, archive/checksum templates, brew formula, homepage), .github/workflows/ci.yml, test/install_test.sh, and the cut-release skill. owner: craftybase preserved in both goreleaser stanzas.
  • Docs/site — regenerated command reference (craftybase_*.mdstocksmith_*.md); rebranded prose, astro.config.mjs, install scripts, CNAMEcli.stocksmith.dev; copied Stocksmith logo SVGs + favicon (added a logo: block, kept the teal palette).
  • LICENSE — copyright → Stocksmith Pty Ltd.

⚠️ Hard switch — user impact

Existing craftybase users must:

  1. Re-authenticate — credentials live in the renamed ~/.stocksmith/config.toml.
  2. Update env varsCRAFTYBASE_*STOCKSMITH_*.
  3. Reinstallself-update derives release-asset names from the binary name and targets the renamed repo, so an old craftybase binary cannot auto-update across the rename.

Verification

All green locally:

  • go build ./..., go vet ./...
  • go test ./... -race (every package)
  • gofmt -l . (clean)
  • sh test/install_test.sh
  • npm run build (website, 37 pages)
  • ./stocksmith --help renders the new branded screen with the Stocksmith logo

An audit confirmed zero stray craftybase references and no org/tap corruption — the only surviving craftybase tokens are the legitimate org (craftybase/stocksmith-cli), tap owner (craftybase/tap/stocksmith), and a vault-path comment.

Out-of-band (handled separately)

  • GitHub repo rename craftybase-clistocksmith-cli ✅ (done)
  • DNS / Pages for cli.stocksmith.dev ✅ (done)
  • stocksmith formula in craftybase/homebrew-tap ✅ (done)
  • Customer comms for the hard switch (re-auth / env vars / reinstall)

🤖 Generated with Claude Code

obitum and others added 3 commits June 29, 2026 09:14
Rename the product, binary, Go module, docs, and release pipeline from
Craftybase to Stocksmith. The GitHub org (craftybase) and Homebrew tap
owner are preserved; only the product/binary/repo names change.

- brand: flip all constants in internal/brand — binary name, product
  name, env prefix (STOCKSMITH_*), config dir (~/.stocksmith), default
  API URL (https://api.stocksmith.dev), docs (cli.stocksmith.dev), repo
  (craftybase/stocksmith-cli)
- logo: replace the root-help ASCII wordmark with the Stocksmith art
- module: github.com/craftybase/craftybase-cli ->
  github.com/craftybase/stocksmith-cli; rename cmd/craftybase ->
  cmd/stocksmith; update all imports and the goimports local-prefix
- route the remaining hardcoded brand strings through internal/brand
- selfupdate: derive the temp-file prefix from the binary name
- release: update .goreleaser.yml (binary, archive/checksum templates,
  brew formula, homepage), keeping owner: craftybase
- docs: regenerate the command reference (stocksmith_*.md); rebrand
  prose, astro config, and install scripts; CNAME -> cli.stocksmith.dev;
  add Stocksmith logo assets + favicon
- license: Stocksmith Pty Ltd

Hard switch: existing users must re-authenticate (~/.stocksmith/),
update STOCKSMITH_* env vars, and reinstall — self-update does not
bridge the rename.

Verified: go build, go vet, go test ./... -race, gofmt, the install
script test, and the website build all pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
api.stocksmith.dev hosts the development docs portal, not the live API.
Set brand.DefaultAPIURL to https://api.stocksmith.io and regenerate the
command reference. The CLI docs site (cli.stocksmith.dev) is unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace the teal palette with burnt amber for the root-help logo,
command/flag/env names, sub-command accents, and footer URL:

- internal/output/style.go: TealBright/TealLight -> AmberBright
  (#E18E2D, brand ochre) / AmberLight (#EBAC5A, lighter accent)
- commands/roothelp.go: route all colour refs to the Amber* vars
- update the colour unit tests (assert the amber 24-bit sequence)
- website/astro.config.mjs: theme-color #3EB1C1 -> #E18E2D

The 256-colour fallback is auto-derived from RGB, so it follows
automatically. The plain-text golden has no colour codes and is
unaffected. Historical design docs under docs/superpowers/ are left
as-is (frozen records of the original teal design).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@obitum
obitum merged commit c705844 into main Jun 29, 2026
5 checks passed
@obitum
obitum deleted the stocksmith-rebrand branch June 29, 2026 04:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant