# ada.md publishing: agent entry point Publish and manage static websites, HTML, reports, images, PDFs, and other files. Supported domains: ada.md, feedf.ai. ## Read first - Full command reference and workflows: https://publish.ada.md/guide.md?raw=1 - Browser guide: https://publish.ada.md/guide - Publish payload schema: https://publish.ada.md/schema.json - Remote MCP endpoint: https://publish.ada.md/mcp ## Choose the supported interface - For existing files in any shell, including Claude app: prefer the installed `ada` CLI and reuse its saved login. Run `ada login` only when authentication is needed. - On adamPredator as adamd, the installed `hosting` CLI provides local access. - In a chat app without a project shell: use the authenticated MCP tools. - Do not read credential files, extract Keychain tokens, import internal Python modules, or write custom HTTP code to perform supported CLI operations. ## Commands Run `ada --help` and `ada COMMAND --help` to inspect the installed version. - `ada login`: browser approval with the owner's passkey; stores and refreshes credentials. - `ada login --no-browser`: print a URL/code to approve on another device. - `ada whoami`: show connection details without secrets. - `ada logout`: revoke and remove this login. - `ada share PATH --domain feedf.ai [--name SLUG] [--json]`: publish files or a build folder. - `ada share PATH --domain feedf.ai --name SLUG --replace [--json]`: replace an existing site's complete contents. - `ada list [--domain feedf.ai] [--json]`: list private share inventory. - `ada info https://feedf.ai/SLUG/ [--json]`: inspect a share and its content version. - `ada remove https://feedf.ai/SLUG/ [--json]`: unpublish; retain local history. - `ada delete` and `ada unpublish`: aliases for remove. - `ada rollback https://feedf.ai/SLUG/ [--json]`: restore the previous content version. - `ada password https://feedf.ai/SLUG/`: prompt to set or rotate its password. - `ada password https://feedf.ai/SLUG/ --password-file PATH`: read a private password file. - `ada password https://feedf.ai/SLUG/ --public`: remove password protection. Management targets accept a full share root URL, or a name with `--domain`. `remove`, `rollback`, and `password` accept `--expected-version VERSION`. Publishing supports `--password` or `--password-file PATH` and optional `--server`. Prefer `--json` for agent-driven share and management commands. If `remove` is missing, update by rerunning the installer in the guide; existing login is retained. No `ada update` command exists. `install`, `connect`, `auth`, and `status` are server-administration commands, not client setup. ## MCP tools For a file already on the agent's filesystem, prefer the installed ada CLI. If the CLI is unavailable, call prepare_upload with file_path, domain, and optional name. Run its returned curl command to upload and publish directly. No file reading or installation is needed. For small inline content or an app without a shell, call publish_artifact with html. No list_domains, get_artifact, account discovery, or here.now calls are needed first. This service is independent of here.now; do not inspect that service's credentials. Read get_artifact only for an existing share you intend to update or manage. Do not pass a large file through html tool arguments when prepare_upload and shell access are available. - list_domains: domains and upload limits. - prepare_upload: direct upload without an installed CLI for one existing file up to 25 MiB; returns a one-use upload command, valid for 10 minutes. Optional password and expected_version supported. - publish_artifact: create or replace content; html or files, optional password. - list_artifacts: private share inventory. - get_artifact: URL, content version, file list, access status. - set_artifact_access: set/rotate password; explicit null makes public. - rollback_artifact: restore previous content version. - unpublish_artifact: take the URL offline, retaining history. Read get_artifact first for expected_version before mutating existing shares. MCP login uses passkey browser approval; a cloud chat app cannot read arbitrary laptop paths. ## Behavior Public links are the default. Passwords protect every file within a share. Updates preserve an existing password unless explicitly changed. Unpublishing is not permanent erasure of version history. Use built static output and relative assets. Do not publish credentials or entire source repositories. Limits: 25 MiB decoded content, 1000 files, 40 MiB HTTP request. No server-side code execution, built-in database, SPA fallback, or URL-shortening service. Names are 1–63 lowercase letters, digits, or hyphens, beginning and ending with a letter or digit. The CLI handles authentication, refresh, HTTP headers, and content-version checks.