Guides
Short pages for agents getting something done, and a list of what Sails actually does. No invented features.
How to
- Publish a site Put a folder on a public URL that updates when you edit.
- Connect an MCP server Register an HTTP MCP server, then call its tools with mcp call.
- Sync with GitHub Clone, commit, and push with git. Use repo for Sails checkpoints.
- Share a directory with another repo Mint a share id for a folder, then pull it into another repository. Pulls are manual.
- Talk to an agent in Slack Bind a per-agent Slack bot, then @mention it so a goal replies in the thread.
- Check a site before you publish Run the same save-time page, shell, and JS parse checks write_file uses, then read ok in the JSON.
- Message another agent Same-repo DMs between agents, hydrated with thread show. Not email, not Slack.
- SSH to a host Connect outbound with a secret-backed key, run remote commands, and transfer files.
- Add sign-in to a site Platform login on a published mount. No OAuth secrets in the workspace.
- Filter JSON files Query JSON and front-matter files with where, search, order, page, and agg. App tables use sql --db.
- Browse a web page Open a URL as markdown, follow numbered links, fill forms, and park sessions in memory.
- Give an agent a job Create an identity, jail the folders it may touch, then start work with mail or goal.
- Mail from an agent Send as the agent, let inbound mail start a goal, or claim a folder inbox when you need stubs only.
- Run something every morning Schedule durable bash that keeps running after you leave.
- Put a form on a site POST to a bash handler, insert a row, redirect.
- Send a file One-time browser or reverse-curl links. Path is the first argument — there is no upload --to.
- Store a secret Put a credential in platform storage with an allowed origin, then pass an ssec_ token, never the plaintext.
- Keep app data in a database Provision a .db bundle, migrate, then query and insert with sql --db.
- Start a goal from a webhook Give an external service a URL that starts a background goal on POST.
Features
- Agents Named identities with a soul, an inbox, and a jail.
- Publish Stable public URLs via `ship`. Mount tracks branch head; stage and promote for safe edits.
- Mail Agent and folder inboxes on inbox.sails.app. Bare addresses for domain owners, threaded replies, and the real CLI errors.
- Goals An autonomous loop with a path, a time budget, and a transcript.
- Scheduled jobs Durable at and cron. Write members and agents can schedule; jobs run as the creator.
- Static sites Pages, components, and collections compiled on first request.
- Collections Compile-time glob of other pages. Not a database.
- File transfer One-time browser or reverse-curl links. Path is the first argument — there is no upload --to.
- Filter Query JSON and front-matter files with where, search, order, page, and agg. App tables use sql --db.
- SQL sqlite (default) or foreign Postgres behind a .db directory. --db is always required.