Landing site and install scripts for Coddy Agent.
Custom domain: https://coddy.dev (CNAME → coddy.dev).
| File | Role |
|---|---|
index.html |
Landing page (Coddy UI tokens) |
compare/index.html |
Comparison page: Coddy against seventeen other agent harnesses, five tables |
docs-redirect.js |
Loaded by 404.html: turns /docs/<path> into the page on GitHub (fragment kept) and /docs/<path>.md into its raw Markdown, so every documentation page has a stable address here without a copy. Generated by make site-docs in coddy-agent from docs/nav.yaml |
llms.txt, llms-full.txt |
The documentation index and the concatenated pages for agents that read documentation, pointing at the raw Markdown on main; generated with the script |
nav.js |
Shared header behaviour (mobile drawer, anchor scrolling, release pill) used by every page |
styles.css |
Shared styles |
assets/ |
Logo, og-image.png (1280×640 social preview), screenshots |
install.sh |
Linux / macOS installer: binary, man page, shell completions, and the rc-file block that wires them up |
install.ps1 |
Windows installer |
config.schema.json |
JSON Schema for ~/.coddy/config.yaml, served at https://coddy.dev/config.schema.json for editors |
robots.txt |
Crawl policy: everything allowed, AI crawlers listed explicitly, sitemap pointer |
sitemap.xml |
Sitemap with image entries for / and /compare/ |
404.html |
Branded not-found page served by GitHub Pages |
CNAME |
GitHub Pages custom domain |
Install scripts are maintained only in this repo, not in coddy-agent.
config.schema.json is the opposite: a verbatim mirror of docs/config.schema.json in
coddy-agent, published here because a hosted,
stable address is what a YAML language server can resolve. Coddy writes that address into every
config.yaml it saves (# yaml-language-server: $schema=https://coddy.dev/config.schema.json), so
the file must stay in step with the agent's config structs. Refresh it whenever those change:
cp ../coddy-agent/docs/config.schema.json config.schema.json # a plain copy, no edits
git diff --stat config.schema.jsoncurl -s https://coddy.dev/config.schema.json | head -3 # after the deploycurl -fsSL https://coddy.dev/install.sh | bashirm https://coddy.dev/install.ps1 | iexinstall.sh installs the binary into ~/.local/bin and, when the release archive carries them, the
man page and the bash and zsh completions into the matching share directory. A user-level install
then writes one guarded block to the rc file of the login shell (~/.zshrc, or ~/.bashrc /
~/.bash_profile) so a new terminal has the binary on PATH, man coddy finds the page, and Tab
completion works. The block is rewritten in place on every run rather than appended to; a system
prefix such as /usr/local gets none of it, and --no-shell-setup opts out.
Handy for testing the script against something other than a real release:
CODDY_API=http://127.0.0.1:8080 CODDY_DOWNLOAD_BASE=http://127.0.0.1:8080 ./install.sh -ySocial preview: https://coddy.dev/assets/og-image.png
index.html carries JSON-LD (Organization, WebSite, SoftwareApplication, FAQPage) and a visible FAQ section, compare/index.html adds Article, WebPage, BreadcrumbList, ItemList and its own FAQPage; robots.txt, sitemap.xml and llms.txt live in the repo root. The domain is proxied by Cloudflare, so crawler access is ultimately decided by the zone's AI Crawl Control and managed robots.txt settings, not by this repo. Quick checks after a deploy:
curl -sI -A 'Mozilla/5.0 (compatible; ClaudeBot/1.0)' https://coddy.dev/ | head -1 # expect 200
curl -s https://coddy.dev/robots.txt | head -20
npx --yes lighthouse https://coddy.dev/ --only-categories=seo,accessibility --quiet --chrome-flags='--headless=new'
npx --yes foglift-scan https://coddy.dev