# Yeeet CLI documentation > Yeeet publishes a file or folder as an atomic static deployment with managed HTTPS and CDN caching. A site receives either a generated or chosen https://.site.yeeet.dev URL. Canonical human docs: https://docs.yeeet.dev/ Complete plain-text docs: https://docs.yeeet.dev/llms-full.txt OpenAPI: https://docs.yeeet.dev/openapi.json Dashboard: https://yeeet.dev/dashboard Source and self-hosting guide: https://github.com/nearbycoder/yeeet.dev Yeeet is for developers shipping static builds, teams reviewing immutable previews, agents and CI that need deterministic JSON, and operators who want a compact self-hosted deployment plane. It serves already-built files; it does not execute untrusted builds. ## Fastest path npm install --global @yeeet.dev/cli yeeet login yeeet deploy ./dist The default deployment uses a generated readable subdomain and SPA fallback. Add --name for a stable URL or --static for strict file-only routing. ## Agent and CI path Create an API key in https://yeeet.dev/dashboard, keep it out of logs and source control, then run: export YEEET_TOKEN="yeeet_…" yeeet deploy ./dist --json Exit codes are 0 for success, 2 when authentication is required, and 1 for validation, upload, or network failure. Successful JSON includes status, url, versionUrl, deployment, site, spaFallback, protected, shareUrl, files, and bytes. ## Core commands - yeeet login: authenticate through the browser with a one-time device code. - yeeet whoami --json: verify the current credential. - yeeet deploy [path] --json: atomically publish a file or folder. Path defaults to the current directory. - yeeet deploy ./dist --name : update a stable named site. - yeeet sites --json: list sites. - yeeet versions --json: list immutable releases and preview URLs. - yeeet rollback [version] --json: activate a prior ready release. Omit version to choose the previous release. - yeeet version remove --yes --json: delete one immutable version. - yeeet remove --yes --json: delete a site and every version. - yeeet access protect --password --json: protect an existing version. - yeeet share [version] --json: return a one-click private share URL. - yeeet access rotate-link --json: revoke the previous link and issue another. - yeeet access public --json: remove protection. - yeeet domain add --json: attach a custom hostname and return required DNS records. - yeeet domain list --json: inspect DNS and TLS status. - yeeet init [name]: create .yeeet.json for repeatable deploy defaults. ## Invariants useful to agents - Uploads are atomic: the live pointer changes only after every object completes. - Version preview URLs are immutable; live aliases update at the edge in about 10 seconds. - SPA fallback defaults to true and only handles navigation-like paths, not missing assets. - --json suppresses decorative output. Parse stdout as one JSON object. - Version identifiers accept an unambiguous prefix of at least 8 characters where supported. - Passwords are 8–128 characters. YEEET_DEPLOY_PASSWORD avoids a password in shell history. - Never log or commit YEEET_TOKEN.