Skip to content

Rewrite the install docs: three steps in the README and one guide for every option - #161

Merged
SaladDay merged 11 commits into
mainfrom
codex/install-docs
Sep 26, 2026
Merged

SaladDay merged 11 commits into
mainfrom
codex/install-docs

Conversation

@SaladDay

@SaladDay SaladDay commented Sep 26, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Phase 4 of the new-user install work rewrites the install documentation. Someone who opens the repository sees how to install Core and Web in three steps, and there is one detailed guide for every option. The docs describe what main does now.

Pages

  • README: three steps at the top: install, sign in and issue a key, add a node. Each links to its guide. Development material moves lower.
  • Install guide (docs/getting-started/install.md):
    • prerequisites;
    • download: gh auth login as its own step, then gh release download and checksum verification;
    • the install command, and a table of every install.sh option;
    • choosing the sandbox backend;
    • modes and split deployments (Web-only, Core-only), with proxy layouts;
    • HTTPS reverse proxy with Caddy and nginx examples;
    • a quick-tunnel trial;
    • what is created on disk;
    • repair.
  • New guides:
    • nodes.md: the sudo and no-sudo commands exactly as Web builds them, what sudo mode creates, the Docker root-equivalence warning, uninstall and --force, and a readiness-code table with the labels Web shows;
    • self-hosted.md;
    • docs/maintainers.md.
  • Rewritten:
    • operations.md: the parsar commands, the Core key, backups, --convert upgrades with a pre-conversion backup, retired names and troubleshooting;
    • quickstart.md: OPENAI_BASE_URL/OPENAI_API_KEY, with the key kept out of shell history and argv;
    • configuration.md: the generated config.json table, how parsar apply works and what it restarts, and the runtime settings in Web.
  • HOSTED-SANDBOX-MANAGER.md becomes the operator reference, linked from the nodes guide rather than duplicated.

Legacy paths

  • Deleted services/agents-api/HOSTED-RELEASE.md, which could not supply a complete Runtime release on its own, together with its packaging step.
  • RELEASE.md and CONTAINER.md are labelled advanced and linked only from the maintainers page.

Offline bundle

  • A new core-distribution-manifest.py docs step, driven by a fixed list, builds the bundled docs.
  • Links between bundled docs stay relative. Every other link points at the bundle's commit on GitHub, and the README banner ships inside the bundle.
  • The build fails on any missing file or anchor, and on a link split across lines.
  • Tests cover links whose text is code, images inside links, and anchors that follow GitHub's rules.

Terms

  • Web page and action names, "Core key", and OPENAI_*.
  • The harness claude_sdk is shown as "Claude Code".

Deferred on purpose

  • Changing the sandbox backend is a neutral paragraph. That flow is being redesigned: maintenance is replaced by reset and online changes.
  • The OpenAgentCore/oac rename is a separate series of PRs.
  • The docs point out that the current published release predates these docs. Publishing a matching release is tracked separately.

Review

  • Blind review: 6 P1s. Among them: the bundle's link check missed links whose text is code, the Web-only example could not work, a conversion backup path was wrong, the rename-before-convert advice was harmful, and a secret reached shell history. It also found P2s and P3s. The frontend checked UI text against Web separately.
  • Fixes: 9c6fd991 and fe781f4a.
  • Focused re-review of those fixes: no P0 or P1. Its P2 (the split layout broke self-hosted executors) and P3s were fixed in 41de66df, verified against a real core-console behind both proxy configs.

Verification


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

…node

README starts with the three newcomer steps, each linking to one detailed guide.
docs/getting-started now covers installation (every install.sh option, Caddy and
nginx examples, a quick-tunnel trial, what is created on disk), nodes (the Web
command in sudo and no-sudo form, uninstall, logs, readiness codes), self-hosted
executors, operations (parsar, the Core key, backups, upgrades, troubleshooting)
and the application quickstart with OPENAI_BASE_URL and OPENAI_API_KEY.
docs/configuration.md lists the config.json settings and the runtime settings in
Web. HOSTED-SANDBOX-MANAGER.md becomes the operator reference without repeating
the guides.

The Docker-hosted Agents API archive could not carry a complete Runtime release,
so HOSTED-RELEASE.md and its build step are removed; the standalone archive and
container move under docs/maintainers.md. Distributions now carry a fixed list of
docs whose links stay inside the bundle or point at the bundle's commit on GitHub,
and the build fails on a broken link or anchor.
The link scanner split each line on code spans first, so a link such as
[`config.json`](path) was neither rewritten nor checked, and three dead
relative links shipped. Links are now found on the whole line, skipping only code
spans outside link text. Anchors follow GitHub's rules for closing hashes and
emphasis, fenced blocks close only on a matching fence, and indented code blocks
are skipped. The README banner ships with the bundle so it renders offline.
- Web-only: --core-url must reach Core's /core/v1 directly (loopback, or a second
  HTTPS name proxying everything to Core); document the split deployment's proxies.
- Conversion: back up with the old top-level compose.json before --yes; rename only
  the pre-Core-key names by hand and leave the rest, and AGENTS_API_PUBLIC_URL, to
  --convert.
- Quickstart: read the key without echo or history, keep it off curl's command line,
  name the none rejection, and ask for the default provider's model ID.
- README: follow the docs inside the downloaded bundle; Overview's checklist.
- Upgrades between config.json releases are not supported yet; /api/v1 routing
  applies to every sandbox kind; rotate-core-key on a stopped installation.
- Nodes: Retained sandboxes is microsandbox only, the early 401 message, the log
  command, user-manager restart without sudo, Web's labels for readiness codes and
  removal, NODE_USER, and a neutral note on changing the backend.
- Self-hosted: Web's labels and dialog, the credential file name, the Docker CLI and
  root refusal, the rerun refusal after an upgrade or address change, archived
  projects.
- Configuration: Startup settings, Rename, what credential.key seals, the executor
  consequence of a public URL change, the full retired list.
- Claude Code is the display name of harness claude_sdk.
Self-hosted executors download their installer from Core's public URL, but Web
serves /node-install/* only for its own name. The split deployment's Core host
now sends /node-install/* to the Web host with Host rewritten, restricts the
core-api name to the Web host, and has Caddy and nginx examples checked against the
console's Host check. The Web host needs the node files when the deployment has
nodes or executors.

Moving a self-hosted executor to a new release or public URL is stated as not
supported yet. The bundle docs build refuses a link that spans lines, since links
are read line by line, and handles an image inside link text. Long lines are
rewrapped, and placeholders use NODE_USER.
@SaladDay
SaladDay merged commit 3448cff into main Sep 26, 2026
3 checks passed
@SaladDay
SaladDay deleted the codex/install-docs branch October 7, 2026 06:37
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