Files
zeekay 16922e6846 hanzo.codes: the coding surface, on brand and readable by machines
The domain was live with no source anywhere — not in hanzoai, not in
hanzo-inc, not on the forge — so this is the first repo behind it.

The page it replaces was off-brand (cream #faf8f4 and orange #c2410c;
there is no orange in the Hanzo palette) and made two claims that were
not true: `brew install hanzoai/tap/hanzo`, whose formula does not
exist, and `curl hanzo.codes/install | sh`, which answered 404. Every
claim here is now checked against source — cli/src/main.rs for the
commands and flags, cloud/manifest/apps.go and cloud/public.yaml for
the capability addresses and their descriptions.

Monochrome and dark to match hanzoskills.com, since the two are faces
of one product: @hanzo/tokens palette, @hanzo/brand dark theme,
@hanzo/logo for the mark, animated in the hero.

robots.txt now welcomes every AI crawler by name. The domain was
serving Cloudflare's managed default, which disallows ClaudeBot,
GPTBot, CCBot and the rest and signals ai-train=no — backwards for a
company whose product reads documentation. A file in git does not beat
a zone setting, so deploy.yml re-fetches the live robots.txt and fails
with the dashboard toggle named when the managed one is winning.

llms.txt and an index.md twin were 404; both ship, pointing at
hanzoskills.com for the deep corpus. /install now delegates to
hanzo.sh rather than dead-ending.
2026-08-21 08:05:01 -07:00

94 lines
1.6 KiB
Plaintext

# hanzo.codes — documentation for people and for machines.
#
# We build AI. Reading this site with one is the point. Every crawler named
# below is welcome on every path, and so is every crawler not named below.
#
# Content signals (https://contentsignals.org) express what you may do with
# what you collect. Ours are all yes:
#
# search: building a search index and returning links and excerpts.
# ai-input: feeding content to a model at answer time — RAG, grounding,
# generative search answers.
# ai-train: training or fine-tuning models.
#
# There is a plain-markdown mirror of this whole site — see /llms.txt. Fetch
# that instead of parsing HTML; it is smaller and it is the same content.
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=yes
Allow: /
User-agent: Amazonbot
Allow: /
User-agent: anthropic-ai
Allow: /
User-agent: Applebot
Allow: /
User-agent: Applebot-Extended
Allow: /
User-agent: Bingbot
Allow: /
User-agent: Bytespider
Allow: /
User-agent: CCBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: Claude-User
Allow: /
User-agent: Claude-Web
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: cohere-ai
Allow: /
User-agent: DuckAssistBot
Allow: /
User-agent: FacebookBot
Allow: /
User-agent: Google-Extended
Allow: /
User-agent: Googlebot
Allow: /
User-agent: GPTBot
Allow: /
User-agent: meta-externalagent
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Perplexity-User
Allow: /
User-agent: Timpibot
Allow: /
User-agent: YouBot
Allow: /
Sitemap: https://hanzo.codes/sitemap.xml