Documentation site for Condor, published at condor.hummingbot.org and built with Mintlify. Also hosts the Hummingbot API and Gateway reference sections.
docs/
├── docs.json # Mintlify config (navigation, theme, OpenAPI settings)
├── docs.mdx # Homepage
├── api-reference.mdx # API Reference overview page
├── gateway-reference.mdx # Gateway Reference overview page
│
├── docs/ # Documentation pages
│ ├── installation.mdx
│ ├── quickstart.mdx
│ └── gateway-setup.mdx
│
├── api-reference/ # Hummingbot API OpenAPI spec
│ └── openapi.json # → copied from openapi-sources/hummingbot-api.json
│
├── gateway-reference/ # Gateway OpenAPI spec
│ └── openapi.json # → processed from openapi-sources/gateway.json
│
├── openapi-sources/ # Raw OpenAPI specs from source servers
│ ├── hummingbot-api.json # Raw spec from Hummingbot API
│ └── gateway.json # Raw spec from Gateway
│
├── scripts/ # Build and maintenance scripts
│ ├── generate-openapi.sh # Fetch specs from running servers
│ ├── update-openapi.sh # Process and copy specs from openapi-sources/
│ └── process-openapi.js # Post-process Gateway spec for Mintlify
│
├── images/ # Documentation images
└── logo/ # Site logos
There is no preview link on pull requests. Mintlify only builds those on its Pro and Enterprise plans, so the local preview below is how you see your work before it merges — and how a reviewer sees it. It needs no Mintlify account.
- Node.js 18+
- Nothing else —
npxfetches the CLI on demand
From the repository root, the directory containing docs.json:
npx mint@latest devView at http://localhost:3000. The page reloads as you edit, and --port 3001 moves it if
something already holds 3000. The CLI also prints a LAN address, which reaches someone on
the same network but nobody else.
The CLI was renamed: it is
mint, notmintlify. Older instructions sayingnpm i -g mintlifystill work by installing a deprecated package.npx mint@latestalways fetches the current version, so there is nothing to install or keep updated.
npx mint@latest validate # docs.json, navigation paths, frontmatter
npx mint@latest broken-links # every internal link and anchorBoth are quick, and between them they catch the two things that actually break a docs
build: a page missing from docs.json, and a link to a heading that was renamed.
git fetch origin && git checkout <branch>
npx mint@latest devSearch is inactive locally until you run
mint login— the CLI says so on startup. Everything else renders exactly as it will in production.
The API Reference and Gateway Reference are generated from OpenAPI specifications. There are two methods to update them:
Fetches specs directly from running servers:
# Start the source servers first
cd ~/hummingbot-api && make run # Starts at localhost:8000
cd ~/gateway && pnpm start --dev # Starts at localhost:15888
# Generate and process specs
./scripts/generate-openapi.sh
# Or update only one:
./scripts/generate-openapi.sh --api-only
./scripts/generate-openapi.sh --gateway-onlyIf you already have the OpenAPI JSON files:
-
Place files in
openapi-sources/:hummingbot-api.json- fromhttp://localhost:8000/openapi.jsongateway.json- fromhttp://localhost:15888/docs/json
-
Run the update script:
./scripts/update-openapi.sh
-
Hummingbot API (
api-reference/openapi.json):- Copied directly from source (no processing needed)
- The API server already generates clean operationIds and summaries
-
Gateway (
gateway-reference/openapi.json):- Processed by
process-openapi.jswhich:- Adds
operationIdfields for clean URL paths - Adds
summaryfields for sidebar titles - Converts
anyOfwith null tonullable: true(Mintlify compatibility)
- Adds
- Processed by
- Run
npx mint@latest devto preview changes - Verify sidebar titles and URL paths look correct
- Commit all changes including both
openapi-sources/and processed files
npx mint@latest dev # `npx ... @latest` always fetches the current CLIEnsure you're running npx mint@latest dev in the directory containing docs.json.
Re-run ./scripts/generate-openapi.sh --gateway-only to regenerate with proper operationIds.
Changes pushed to the main branch are automatically deployed via Mintlify's GitHub integration.