open a folder, bike is a grid. open an html file, bike is the live page. open a video, it plays. open code, you see what changed since you last saved. the file picks the tool.
the extension is the only decision. .md, you write. .mp4, it plays. .mp3, it plays. .png, it renders. .pdf, it opens. .obj, 3D. .html, live page. if it's a file, bike renders it. no mockup, no export, no handoff. when it's done, it's done.
every extension
- pages
- html — live, editable in place
- styles
- css — a living style guide, every rule previewed doing its job
- writing
- md, txt — a block editor
- code
- js, ts, py, go, rs, c, java, sql, and friends — always a diff
- data
- json, csv, xlsx, sqlite
- documents
- pdf, docx, rtf, idml — an indesign layout renders, spreads and all
- drawing
- svg — a full vector editor
- type
- glyphs, otf, ttf, woff2 — a type lab, a specimen
- media
- images render, audio and video play — hover a card and it plays
- 3d
- obj — orbits, auto-rotates, takes your theme
- disk image
- dmg — unpacked to its app icon
- anything else
- “no view for .xyz, create one?” — click it and claude writes one
- a folder
- a grid. with an
index.html, the folder is that page - over 20 mb
- the name and the size, nothing more