Files
market/docs/quickstart.md
zeekay 661a6a28d5 rebrand: Bot Hub → Hanzo Market, white-label via @luxfi/brand schema
- Repo transferred hanzobot/hub → hanzoai/market (matches owned hanzo.market domain)
- npm package: bothub → @hanzoai/market, packages/bothub → packages/market
- bothub-schema → @hanzoai/market-schema
- CLI binary: bothub → market
- Brand: Bot Hub → Hanzo Market across ~95 user-facing surfaces (README, docs, k8s,
  Dockerfile, public/manifest.json, OG image, CLI banner, site config, theme)
- Brand-neutral white-label: src/brand/ owns BrandConfig + BrandTheme + loader,
  public/brands/<id>.json presets for hanzo, zoo, lux, pars, liquidity, generic
- BRAND_ID env at build picks default; ConfigMap-mounted brand.json overrides at runtime
- Legacy paths retained for compat: ~/.bothub, .bothubignore, /.well-known/bothub.json,
  bothub-theme localStorage key, LEGACY_HOSTS for hub.hanzo.bot/clawhub.ai
- Fixed broken sed-replace artifacts in packages/market/src/cli/botConfig.test.ts
- Drops Clawd/OpenClaw dead brand surface, keeps Clawdis* schema types and
  clawd skill directory paths (backward compat for installed bot products)
2026-05-29 13:46:09 -07:00

1.9 KiB
Raw Permalink Blame History

summary, read_when
summary read_when
Local setup + CLI smoke: login, search, install, publish, sync.
First run / local dev setup
Verifying end-to-end flows

Quickstart

0) Prereqs

  • Bun
  • Hanzo IAM client (for login)
  • OpenAI key (for embeddings/search)

1) Local dev (web + API)

bun install
cp .env.local.example .env.local

# terminal A: web app
bun run dev

# terminal B: API server
cd api && npm install && npm run dev

2) Auth setup (Hanzo IAM OIDC)

Fill in .env.local:

  • IAM_URL (default https://hanzo.id)
  • IAM_CLIENT_ID
  • IAM_CLIENT_SECRET
  • VITE_API_URL=/api
  • VITE_SITE_URL=http://localhost:3000
  • SITE_URL=http://localhost:3000
  • OPENAI_API_KEY
  • DATABASE_URL

3) CLI: login + basic commands

From this repo:

bun market --help
bun market login
bun market whoami
bun market search gif --limit 5

Install a skill into ./skills/<slug> (if Hanzo Bot is configured, installs into that workspace instead):

bun market install <slug>
bun market list
bun market uninstall <slug> --yes

You can also install into any folder:

bun market install <slug> --workdir /tmp/market-demo --dir skills

Update:

bun market update --all

4) Publish a skill

Create a folder containing SKILL.md (required) plus any supporting text files:

mkdir -p /tmp/market-skill-demo && cd /tmp/market-skill-demo
cat > SKILL.md <<'EOF'
---
name: Demo Skill
description: Demo skill for local testing
---

# Demo Skill

Hello.
EOF

Publish:

bun market publish . \
  --slug market-demo-$(date +%s) \
  --name "Demo $(date +%s)" \
  --version 1.0.0 \
  --tags latest \
  --changelog "Initial release"

5) Sync local skills (auto-publish new/changed)

sync scans for local skill folders and publishes the ones that aren’t “synced” yet.

bun market sync

Dry run + non-interactive:

bun market sync --all --dry-run --no-input