llms.txt@public · git:20261012.8bfd8be · 2026-10-12 · sha256 1194990d91a3b877
llms.txt@public git:20261012.8bfd8beA
Immutable. This exact content never changes and is served at /api/v1/blob/1194990d91a3b877.
# 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=`:
```
https://tinylittleoffice.com/<app>/#doc=<percent-encoded TLO>
```
`<app>` is one of `write`, `outline`, `deck`, `sheet`, `calc`, `draw`, `diagram`, `anim`, `cal`, `trip`. `&title=` names it and `&by=` says who made it. Keep the link under 2,000 characters and keep to the shapes shown here: a link written by hand is checked by nothing.
With a runtime: `import { link, read, lint } from 'https://tinylittleoffice.com/api.js'` in a browser, Deno or Bun; `npx tinylittleoffice` in Node. To learn a shape by example:
- `npx tinylittleoffice shapes <app>`: what the app reads, a line a shape
- `npx tinylittleoffice example <app> [shape]`: the smallest document that shows it, its JSON, its lint and measures
- `npx tinylittleoffice try <app> <file|->`: a draft’s lint, measures and JSON in one call
Fetch only what you need: https://tinylittleoffice.com/llms/<app>.txt is a page on one app; https://tinylittleoffice.com/examples/<app>.json every shape of it, as a document, a link and JSON.
## One example per app
More on each at https://tinylittleoffice.com/llms/<app>.txt.
- `write` Word Processor, headings: <https://tinylittleoffice.com/write/#doc=%23%23+Policies%0A%0A%2ALate+work.%2A>
- `outline` Outliner, a nested list: <https://tinylittleoffice.com/outline/#doc=-+The+Lighthouse+Keeper%0A++-+Act+three%3A+Spring%0A++++-+The+first+ferry>
- `deck` Presentation Builder, a slide of bullets: <https://tinylittleoffice.com/deck/#doc=%23%23+Prices%0A%0A-+Apples+and+pears%3A+%242.25+a+pound%0A-+Pumpkins%3A+%248+each%2C+any+size>
- `sheet` Spreadsheet, a money column: <https://tinylittleoffice.com/sheet/#doc=Month+%7C+This+year%3Amoney+%7C+Last+year%3Amoney%0A---+%7C+---+%7C+---%0AAug+%7C+39700+%7C+38900%0ASep+%7C+33600+%7C+30250>
- `calc` Calculator, named lines: <https://tinylittleoffice.com/calc/#doc=---%0Atitle%3A+Dinner+for+six%0A---%0Afood+%3D+164.50%0Adrinks+%3D+58%0Atip+%3D+%28food+%2B+drinks%29+%2A+18%25%0Atotal+%3D+food+%2B+drinks+%2B+tip%0Atotal+%2F+6>
- `draw` Drawing Tool, shapes joined by arrows: <https://tinylittleoffice.com/draw/#doc=---%0Atitle%3A+How+a+page+loads%0Aalt%3A+A+browser+asks+a+server%2C+which+reads+the+data.%0A---%0AKind+%7C+X+%7C+Y+%7C+W+%7C+H+%7C+Style+%7C+Label%0A---+%7C+---+%7C+---+%7C+---+%7C+---+%7C+---+%7C+---%0Ao+%7C+4+%7C+6+%7C+16+%7C+8+%7C+1b+%7C+Browser%0Ao+%7C+32+%7C+6+%7C+16+%7C+8+%7C+1b+%7C+Server%0Ac+%7C+60+%7C+5+%7C+14+%7C+10+%7C+1g+%7C+Data%0Ak+%7C+0+%7C+1+%7C+0+%7C+0+%7C+0+%7C+asks%0Ak+%7C+1+%7C+2+%7C+0+%7C+0+%7C+0+%7C+reads>
- `diagram` Diagram Maker, a mind map: <https://tinylittleoffice.com/diagram/#doc=---%0Akind%3A+mind%0A---%0A-+The+garden%0A++-+Jobs>
- `anim` Animator, a shape that moves: <https://tinylittleoffice.com/anim/#doc=---%0Atitle%3A+Lift+off%0Aframes%3A+24%0Afps%3A+8%0Aalt%3A+A+rocket+lifts+off+and+flies+up+and+away+to+the+right%2C+under+the+words+Lift+off.%0A---%0AKind+%7C+X+%7C+Y+%7C+W+%7C+H+%7C+Style+%7C+Label%0A---+%7C+---+%7C+---+%7C+---+%7C+---+%7C+---+%7C+---%0At+%7C+4+%7C+20+%7C+20+%7C+4+%7C+04+%7C+Lift+off%0Ai+%7C+8+%7C+36+%7C+8+%7C+8+%7C+0b+%7C+rocket%0A%0AShape+%7C+Keys%0A---+%7C+---%0A0+%7C+0%2C0%2C0%2C0%2C1%2C0%3B+23%2C0%2C-80%2C0%2C1%2C0%2Ci%0A1+%7C+0%2C0%2C0%2C0%2C1%2C0%3B+23%2C200%2C-200%2C80%2C1%2C-30%2Cd>
- `cal` Calendar, things on days: <https://tinylittleoffice.com/cal/#doc=-+2026-12-23+to+2027-01-01%3A+Winter+break%0A-+2027-01-04%3A+Classes+start+again>
- `trip` Trip Planner, a route: <https://tinylittleoffice.com/trip/#doc=Place+%7C+Lat%3Anumber+%7C+Lon%3Anumber+%7C+Note%0A---+%7C+---+%7C+---+%7C+---%0AGlencoe+%7C+56.6826+%7C+-5.1023+%7C+The+Lost+Valley+walk%2C+three+hours%0AGlasgow+%7C+55.8642+%7C+-4.2518+%7C+Drop+the+car+at+the+airport>
## 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 the app's id (```` ```anim ````, `diagram`, `draw`, `sheet`, `trip`, `cal`…) 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: <https://tinylittleoffice.com/deck/#doc=%23%23+%3Amoon%3A+Why+the+Moon+has+phases+%7B.title%7D%0A%0A---%0A%0A%23%23+%3Amoon%3A+The+model%2C+moving%0A%0A%60%60%60anim%0A---%0Aframes%3A+16%0Afps%3A+4%0Aalt%3A+The+Moon+goes+around+the+Earth%2C+lit+from+the+left+by+the+Sun.%0A---%0AKind+%7C+X+%7C+Y+%7C+W+%7C+H+%7C+Style+%7C+Label%0A---+%7C+---+%7C+---+%7C+---+%7C+---+%7C+---+%7C+---%0Ai+%7C+2+%7C+21+%7C+8+%7C+8+%7C+0o+%7C+sun%0Ae+%7C+37+%7C+22+%7C+6+%7C+6+%7C+2b+%7C%0Ae+%7C+57+%7C+24+%7C+2+%7C+2+%7C+2+%7C%0A%0AShape+%7C+Keys%0A---+%7C+---%0A2+%7C+0%2C0%2C0%2C0%2C1%2C0%3B+4%2C-144%2C-144%2C0%2C1%2C0%3B+8%2C-288%2C0%2C0%2C1%2C0%3B+12%2C-144%2C144%2C0%2C1%2C0%3B+15%2C-36%2C36%2C0%2C1%2C0%0A%60%60%60>
## 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://tinylittleoffice.com/llms-full.txt