The generator's reference,
now yours.
These are the exact documents the Vibes code generator reads when it builds apps — the API contracts for backends, data, access control, AI calls, and every creative skill. They're rendered from the platform source on every deploy, so they update when the platform does and can't drift.
Prefer the terminal? npx vibes-diy skills lists and dumps the same
docs. For guides and walkthroughs, head back to the
docs hub.
backend.js — the app's server-side backend
server-side backend.js file: answer HTTP/webhook requests at the app's /_api URL, react to committed data changes, and run scheduled jobs — its writes go through the app's own access rules; reads a web page, feed or API the person names and hands it to the page through /_api; emails, notifies and reminds people through ctx.notify by handle — a weekly digest, a summary for the owner, a Monday email to the manager — and invites a recipient who is not in the app yet; and sends a record to a tool the person names (Slack, Google Sheets, a CRM, Zapier) through a Zapier Catch Hook the owner connects
Fireproof Database API Guide
cloud-backed document database with live sync
CallAI Helper Function
easy API for LLM requests with streaming support
useVibe Hook — write gating
Gate write surfaces on the app's own access.js via useVibe().can
useViewer Hook
Get the current viewer's identity and capability gates
ImgGen Component
Generate and edit images
createVibe — meta-vibes (a vibe that builds another vibe)
Hand off to the builder to generate a second, personalized vibe (interviewer / meta-vibes)
Dates and calendars — the app knows today; subscriptions as a live .ics feed
dates and calendars: any app that keeps a date — due dates, deadlines, streaks and check-ins, schedules and shifts, reminders, timelines, 'tomorrow', 'Friday', 'every Monday' — resolves relative words against today, saves at once and shows the resolved date, and dates its sample records around the day they are written so the demo opens alive; plus live calendar subscriptions (webcal/.ics): each user's dated items as a phone-calendar feed that updates as they add more, with the backend.js aggregation recipe and the iOS-proof ICS format rules
D3.js Reference for Coding Agents
D3.js data visualization library for creating interactive charts, graphs, maps, and data-driven documents using SVG, HTML, CSS. Includes scales, selections, transitions, animations, force simulations, geographic projections, data binding, DOM manipulation, data viz, dataviz
Three.js API
Three.js 3D graphics library for WebGL rendering: mesh geometry, materials, lighting, animation, cameras, textures, GLSL shaders, GLTF/OBJ/FBX model loading, physics, particle systems, post-processing, visual effects, 3js. Anything played or steered also loads touch-games for phone controls
Web Audio API: Fundamentals, Echo with FX-in-Feedback, Mic Monitoring + Metronome, and Timing Architecture
Web Audio fundamentals; echo/delay with effects in the feedback path; mic monitoring with a metronome; audio‑clock scheduling; timing design for multi‑channel drum machines and MIDI synths with accurate voice overlap.
Babylon.js WebXR Reference for Coding Agents
Babylon.js 3D engine with first-class WebXR: immersive VR and AR passthrough, hit-testing, surface anchors, particle systems, SolidParticleSystem, custom GLSL shaders, controller and hand-tracking events, PBR materials, Quest performance patterns. babylon, babylonjs, WebXR, VR, AR, spatial computing, immersive, mixed reality, xr, augmented reality, virtual reality, Quest, Vision Pro
Access Control (`access.js`) — permission design
server-side access.js file — the record rules every app ships with: who reads and writes each record, the creator granted at creation, invites into an object, membership/roles, approval-to-join, moderation, private per-user data, DMs. Name it on every first build, an app the person keeps to themselves included: its rules give each person their own record tree and a publish step
Blockly — block editors whose blocks write real code
Block editors built with Blockly, where people snap pieces together instead of typing code. Two audiences, one recipe. Teaching code: Scratch-like coding playgrounds for kids and beginners, drag-and-drop page builders with a live preview and Code Peek, turtle and robot sequences. Business logic edited by the people who own it: no-code rules engines (credit scoring, fraud flags, approval thresholds, compliance checks, discount and pricing rules, eligibility, routing and triage) whose blocks compile to a JSON rule tree the app evaluates in the browser and in backend.js; CRM, ERP and ticket workflow automations (when a record arrives, if it matches, tag it, assign it, send it to a queue, schedule a follow-up); low-code form and screen builders; device, robot and conveyor step sequences; QA, test-case and integration scripts (steps, expectations, mock responses). Covers the one pinned esm.sh ?bundle import, custom blocks with connection checks as the type system, JSON toolboxes with shadow defaults, custom CodeGenerator output (HTML, JSON, steps) and the standard javascriptGenerator run in a sandboxed iframe with step highlighting, workspace JSON saved to Fireproof with autosave, a Blockly theme from the app's tokens, locales via setLocale, and the zelos renderer on phones. blockly, scratch, blocks, block editor, visual programming, drag and drop code, no-code, low-code, rules engine, rule builder, decision rules, business rules, policy builder, workflow builder, automation builder, if-this-then-that, approval flow, test builder, puzzle pieces
Bluesky — public profiles, follows and feeds, with no login
Reading PUBLIC Bluesky data with no credential of any kind: the unauthenticated XRPC host, profiles, follows and followers, an account's own feed, actor search, why post search is not available without a session, checking a response's status before parsing it because a refusal comes back as HTML, and paging on the cursor rather than on emptiness
Board, tile and card games — boards that fit a phone, deals that repeat, rules that hold
Board, tile and card games played one tap, guess or card at a time: bingo cards dealt per player from a shared pool, daily word guesses with an on-screen keyboard and a share grid, crosswords, word searches, grouping puzzles, letter hives, sudoku, minesweeper, 2048, checkers, chess, go, hex, mancala, solitaire and other card games with hidden hands, trivia rooms and dice scoresheets with house rules. Covers SVG boards in the app's theme tokens (square, hex, ring, graph and stacked shapes), seeded deals and daily seeds, win-line detection, turns, undo, AI opponents, and who sees what — public tables, private hands, members-only clubs.
Connections — a visitor's own account, spent by your app
Connect a visitor's own GitHub, Threads or Instagram account with one click and read it from backend.js — config.connections, useConnection, @vibes.diy/social
debugging — working out what a deployed app is actually doing
Maps — a world overview that opens with the app
world maps, countries, travel journals, places visited, best places to live, territory games and choropleths: bundled country outlines and SVG markers that render immediately, with tap-to-select and a legend; world overviews use the platform's tile-free geography module
Motion — things that move when you scroll, tap and wait
Pages that move when you scroll, tap and wait, built on Motion's vanilla animate, scroll, inView, stagger and press: launch and story pages whose sections reveal as they arrive, a bar that fills with how far you have read, numbers that count up, headline sequences with timed offsets and springs, cards that spring in, buttons that squash when pressed, parallax heroes, scroll-told explainers. Covers the pinned lazy import of the vanilla entry (no second React), a helper module whose every helper returns a stop for the effect's cleanup and reads reduced motion when it runs, above-the-fold content that stays visible, scroll progress with target and offset, sequences with at, springs, gestures, and keeping JSX class-only while Motion writes transforms through refs. animation, animate, scroll animation, scroll-driven, scrollytelling, parallax, reveal on scroll, fade in on scroll, count up, spring, bounce, micro-interaction, press effect, landing page motion, feel alive, motion one, framer motion, gsap
p5.js API
p5.js creative-coding library for 2D canvas and WEBGL sketches: generative art, flow fields, particle systems, Perlin noise, seeded deterministic sketches, kaleidoscopes, screensavers, visualisers, drawing and painting toys, plotter-style patterns, still gallery renders with noLoop, and fragment shaders. Covers instance mode in React (one useEffect, instance.remove() on cleanup), the version-pinned esm.sh import, sizing from the host element, pixelDensity, randomSeed/noiseSeed determinism, trails, and touch. p5, p5.js, processing, sketch, creative coding, generative art, canvas art, noise field. Anything played or steered also loads touch-games for phone controls
Physics — things with mass, built with Matter.js
2D physics toys and games built with Matter.js, where objects have mass and meet other objects: marble runs and Rube Goldberg builders whose pieces are documents with build and play modes, plinko and pachinko, slingshots and catapults that knock a tower down, dominoes, pinball, ragdolls and soft bodies, word piles and pages whose elements fall and can be flicked. Covers the pinned esm.sh default import, the engine in a ref with a fixed-step loop and disposal, painting bodies from their vertices on a DPR canvas in the app's theme tokens, the mouse constraint with pixelRatio for touch, pieces as Fireproof documents rebuilt into bodies, seeded replays, labelled collisions and sensors for scoring, and the Render.create ordering trap. physics, gravity, bounce, bouncy, collide, collision, tumble, fall, marble run, rube goldberg, plinko, pachinko, catapult, slingshot, dominoes, knock down the tower, pinball, ragdoll, soft body, matter.js. Anything played or steered also loads touch-games for phone controls
Rich text — notebooks, journals, wikis and documents with Tiptap
Notebooks, journals, wikis, notes apps and document editors built on Tiptap: pages with headings, lists, checklists, links and images, a list of documents and one editor, a shared page a team edits with the last editor named, meeting notes with action items, a recipe book with real pages, a journal with one entry per day. Covers every Tiptap package pinned to one version by its esm.sh URL (one ProseMirror, no second React), an editor module with createEditor, load, flush, run and destroy, a saved note as its JSON plus plain text and a derived title, a title field beside the page saved with the body (after its own pause and on close, so drafts keep their titles), saving after typing pauses with flush on blur and switch, loading a document without a save echo (setContent with emitUpdate false), destroy in the effect's cleanup, the page styled from the host with arbitrary variants, toolbar commands and active states, and images as _files. notebook, notes, note taking, journal, diary, wiki, document editor, rich text editor, text editor, wysiwyg, writing app, markdown editor, meeting notes, knowledge base, tiptap, prosemirror
Spotify catalog — with the owner's own Spotify app
Reading Spotify's public catalog with the owner's own Spotify app credentials: the setup steps the app shows when SPOTIFY_CLIENT_ID/SPOTIFY_CLIENT_SECRET are missing, the client-credentials token minted in backend.js and cached in memory rather than stored, searching artists/albums/tracks, the boundary that a listener's own top tracks and playlists need a connection instead, and keeping every refusal's reason
Strudel — live-coding music from text patterns
Live-coding music with Strudel, where the music is a pattern written as text: a pattern pad with an editor, examples, play and stop and saved patterns; a groovebox whose pads write mini-notation and whose lights follow the engine's events; knob instruments that re-evaluate a pattern as sliders move; generative radios; a prompt box that asks callAI to rewrite the groove; a shared groovebook with an access rule. Covers the AGPL engine fetched at play time by a pinned esm.sh dynamic import in a memoized loader (never bundled, credited visibly), the Dirt-Samples kit and the drum-machine banks from jsDelivr, mini-notation and the effect chain, the verbatim text-to-pattern system prompt for callAI, cpm as cycles per minute with the beats-per-cycle table, onEvalError for patterns that did not compile, hush on stop, and onTrigger for visuals. strudel, tidal, tidalcycles, live coding, livecoding, algorave, mini-notation, pattern music, algorithmic music, generative music, text patterns, code music
Touch games — the play area is the controller
Phone-first controls for anything played or steered in real time — load it beside three-js, voxel, physics, p5, worlds or pouf-game for every game, 3D scene you move through, or canvas toy: the play area is the controller (select-none touch-none surface, Pointer Events with pointer capture), swipes that fire mid-move with chaining, tap vs swipe on one surface, a floating ghost stick under the thumb, hold-to-boost with drag steering, pull-back-and-release aiming, gesture trails and feedback, keyboard twins for desktop. game, mobile game, touch controls, swipe, joystick, runner, racer, flyer, shooter, snake, slingshot, platformer, arcade, one thumb
Voxel worlds — a Minecraft-style first-person block sandbox
Any voxel or block world — Minecraft-style, an island, a city, a sandbox — walked, flown or built in. Build a Minecraft-style first-person voxel sandbox with Three.js: chunked block world, procedural terrain (noise heightmaps, biomes, caves, ore veins, trees), place/break with a DDA voxel raycast, an AABB player controller with gravity, jump, sprint, auto step-up and un-stick, pointer-lock look with a click-to-play overlay and touch drag, endless chunk streaming, a shared voxel palette with material-colored controls, a day/night cycle, ambient mobs, and live multiplayer block edits with temporary player presence over Fireproof. Covers the survival layer (table-driven crafting tiers, tools with durability, smelting, armor, mob combat, hunger, dimensions, per-player inventory, world reset) and the flat multi-file project split for bigger games. minecraft, voxel, block world, sandbox, blocks, mining, building, first-person, 3d game, procedural world, chunks, terrain, overworld, creative mode, survival, crafting, nether. Anything played or steered also loads touch-games for phone controls
Generative worlds — living simulations on a canvas
Living simulations on a canvas: ecosystems and terrariums (grass, grazers, hunters), ant farms, Conway's Game of Life and other cellular automata, falling sand, forest fires, boids and flocks, petri dishes, weather drifting over a map — a grid of cells in a typed array, two rule functions that seed and step it, one seeded random generator so the same seed grows the same world on every device, a tick loop on its own clock with play, pause, step and speed, the grid painted as pixels through ImageData in the app's theme colours, dials for the rates, a census on a slow clock, and kept moments as recipes (seed, dials, tick, recorded taps) that replay into a living gallery. ecosystem, terrarium, ant farm, game of life, cellular automaton, falling sand, forest fire, boids, flocking, simulation, petri dish, predator prey, evolution, artificial life, screensaver world. Anything played or steered also loads touch-games for phone controls
YouTube channel stats — with the owner's own API key
YouTube channel dashboards on the owner's own YouTube Data API v3 key: the setup steps the app shows when the key is missing, keeping the key in backend.js, resolving a channel from a handle or URL, reading videos through the uploads playlist instead of the 100-unit search endpoint, daily snapshots to chart change over time, and labeling the numbers an API key cannot see