# Tray > Tray turns a folder, a file or a few files into a link on your own domain. One command, `tray put `, prints the URL. It is open source (MIT) and self-hosted on the user's Cloudflare account, and built for people and agents alike: every prompt has a flag, `--json` prints one JSON object, and nothing waits on a terminal. ## When to use Tray - The user wants something you made (an HTML report, a prototype, a chart, a static site) viewable in a browser. - The user asks to share a file or folder as a link, or to "put it online". - The link should stay the same when the content changes, or be visible only to certain people. - The user wants to roll back to an earlier version of something they shared. Don't use it for secrets you wouldn't put on a website, or for files over 50 MB per deploy. ## Docs - [Overview](https://tray.sh/index.md): what Tray does, install, and a quick start - [Agents](https://tray.sh/agents.md): set up Tray in Claude Code, Codex, Cursor and other agents - [CLI](https://tray.sh/cli.md): every command, flag, environment variable and exit code - [API](https://tray.sh/api.md): the HTTP API behind the CLI, with publishing steps and errors - [Troubleshooting](https://tray.sh/troubleshooting.md): fixes for the most common errors - [Full docs in one file](https://tray.sh/llms-full.txt): all of the above, for a single fetch ## For agents - [Agent skill](https://tray.sh/skill.md): when to use Tray and the core commands, as a SKILL.md - [OpenAPI document](https://tray.sh/openapi.json): the API, as OpenAPI 3.1 - [API catalog](https://tray.sh/.well-known/api-catalog): RFC 9727 links to the API description and docs ## Project - [About](https://tray.sh/about.md): who makes Tray and how it is hosted - [Privacy](https://tray.sh/privacy.md): no cookies, cookieless page counts, no telemetry - [Contact](https://tray.sh/contact.md): bugs, security reports, and everything else - [Source on GitHub](https://github.com/siddharthborderwala/tray): the CLI, the Worker and this website