Documentation Index
Fetch the complete documentation index at: https://docs.slideless.ai/llms.txt
Use this file to discover all available pages before exploring further.
Goal
By the end of this page you’ll have a public share URL pointing at a presentation you uploaded with theslideless CLI — either a single self-contained HTML file or a folder with images, videos, or 3D assets.
Prerequisites
- Node.js 20+ (
node --versionto check) - An email you can check
- A deck to share. Either a single HTML file, or a folder with an
index.htmlplus sibling assets. See the Generate with Claude guide if you need to make one.
Step 1 — Install the CLI
npm install -g is blocked, npx slideless ... works for any command.
Step 2 — Request a signup code
you@example.com and exits. The email arrives in a few seconds. See cli/auth if you hit any error.
Step 3 — Complete signup
Check your inbox for the code, then (--first-name is required):
cko_ key is now stored in ~/.config/slideless/config.json (mode 0600) and set as the active profile. You can pass extra flags like --last-name "Morgan", --company "Acme", --brand-primary "#0a0a0a", or --logo ./logo.png to fill in user/organization details at the same time — see cli/auth for the full list.
Step 4 — Push your first presentation
Option A: single HTML file
Save a minimaldeck.html:
Option B: folder with assets
Create a folder:index.html:
slideless.json was also written at the folder root. That’s how the CLI knows the folder is a Slideless deck — subsequent slideless push calls from here re-publish in place. Don’t edit or delete it.
Step 5 — Mint a public viewer URL
The push created the deck but didn’t publish it. Mint a viewer token:Share URL into a new browser tab. You’ll see your HTML rendered inside the Slideless viewer chrome: fullscreen toggle, download menu, “Made with Slideless” footer.
Open it on your phone too. The same URL works everywhere.
Step 6 — Watch the view count
totalViews ticks up. For per-token view counts:
Updating in place
Edit your deck (change the HTML, swap an image), then re-publish from the same folder:slideless.json from the folder, recognises this as an update, and bumps the version. Recipients see the new content on next load. The URL doesn’t change, the view count is preserved, and only files whose contents actually changed re-upload — the rest are deduplicated. A one-image swap on a 200 MB deck transfers ~the size of that one image, not 200 MB.
Pick it up on another device
Already pushed on your laptop and want to keep iterating from your desktop? On the second machine:pull writes the same slideless.json at the root so push knows which deck to update. See Collaboration for the conflict model when two machines push concurrently.
Pin a recipient to a specific version
If you emailed v3 to investors and then fixed a typo in v4, you might want the investors to stay on v3 — their token can be frozen:What just happened
| Step | Behind the scenes |
|---|---|
| Signup | A Firebase Auth user, a users/{uid} doc, a one-owner organization, and a cko_… key were created atomically; the raw key was returned once and saved locally |
| Uploaded deck | The CLI hashed every file, precheck’d with the backend, uploaded only the missing blobs (content-addressed by SHA-256), and committed a version manifest |
| Opened share URL | Slideless served the entry HTML plus its assets from private Cloud Storage, inside a sandboxed iframe, and incremented the per-token view counter |
Alternative: paste a key from the dashboard
I already have a cko_ key from the web dashboard
I already have a cko_ key from the web dashboard
If you already created a key in app.slideless.ai → Organization → API Keys, skip the OTP flow and paste it:This does the same thing as
signup-complete / login-complete: verifies the key, saves a profile at ~/.config/slideless/config.json, and makes it the active one. Continue from Step 4.Next steps
- CLI command reference — every command, every flag.
- Auth (OTP signup & login) — deep dive on the OTP flow, including the full error-code table.
- Why Slideless — why HTML beats
.pptxfor sharing decks. - Collaboration — invite a teammate, move a deck across devices, resolve push conflicts.
- Presentation lifecycle — exists vs deleted, unshare vs delete.
- Use with Claude — have Claude generate and publish decks for you with the marketplace skills.
- HTTP API reference — for when you need to call the backend without the CLI.