# Tiny Little Office Tiny Little Office (https://tinylittleoffice.com) is an office suite whose documents live entirely in their links. You make a document by writing a URL. The document is TLO (Markdown with a few additions), percent-encoded after `#doc=`; the site and the API’s `link` write it packed, `#/v1//`; both open: ``` https://office.thin-sky.cloud//#doc= ``` `` is one of `write`, `outline`, `deck`, `sheet`, `calc`, `draw`, `diagram`, `anim`, `cal`, `trip`, `worksheet`, `study`, `team`, `tier`, `dates`. `&title=` names it, `&by=` says who made it, and `&lang=` (`es`, `zh-hant`…) opens the page in one of the site's languages. Words can use any language; emoji, icons and inline code are supported. Keep links under 2,000 characters; validate drafts with try. With a runtime: `import { link, read, lint } from 'https://office.thin-sky.cloud/api.js'` in a browser, Deno or Bun; `npx tinylittleoffice` in Node, where `skill --into ~/.claude/skills` installs this guide for Claude Code. To learn a shape by example: New apps need this API or `npm run tinyoffice --` in this fork. - `npx tinylittleoffice shapes `: what the app reads, a line a shape - `npx tinylittleoffice example [shape]`: the smallest document that shows it, its JSON, lint and measures - `npx tinylittleoffice try `: a draft’s lint, measures and JSON https://office.thin-sky.cloud/llms/.txt is a page on one app; https://office.thin-sky.cloud/examples/.json every shape of it as a document, a link and JSON. ## One example per app - `write`: - `outline`: - `deck`: - `sheet`: - `calc`: - `draw`: - `diagram`: - `anim`: - `cal`: - `trip`: - `worksheet`: - `study`: - `team`: - `tier`: - `dates`: ## A document inside a document Any app's document goes inside a Word Processor page, a slide or an outline item: a fence named by any of the ten app ids (```` ```sheet ````, ```` ```calc ````, ```` ```anim ````…) holding that document's own TLO. Its own app draws it there, and it is edited in place. A slide with one shows it alone under the headline; an animation moves on its slide and plays when presented. A page's or a deck's PDF, and a deck's PowerPoint, carry it drawn. Put a document inside rather than link to it. Two slides, a cover and then the Moon going around the Earth, an animation on its slide: ## Three rules agents break first 1. **Every space and line break is kept.** A list nests by two spaces a level, and in a link each space is written (`%20%20` or `++`, a new line `%0A`): a dropped space flattens the tree. A line break inside a paragraph stays a line break, so never wrap a paragraph's lines. 2. **A slide shows one thing.** A slide with a chart, a table or a diagram shows it alone under the headline: bullets on it are not drawn, so put them in the notes (`> ` lines) or on a slide of their own. A `{.title}` slide is a cover, with a line or two under it, not a list. 3. **A comma in a list splits it.** In a Venn's or a seating chart's list a comma separates things, a comma in a number too: "2,000 cases" is two things, so write 2000. ## More The whole description: https://office.thin-sky.cloud/llms-full.txt