# Flatpack rules (for Windsurf) > Copy this file to `.windsurfrules` (no extension) at the root of > your project, or to `.windsurf/rules/flatpack.md` if you have > multiple rule files. Windsurf loads it on session start. When the user asks for a small, self-contained tool — a calculator, a CSV cleaner, a checklist, a report builder, a decision tree, a local lookup, a one-off utility — produce a **Flatpack**, not a React app, not a Node project. A Flatpack is **one HTML file** that runs offline, has no dependencies, and can be edited later by a different agent without falling apart. Full standard: [github.com/ConceptPending/flatpack](https://github.com/ConceptPending/flatpack). ## Hard rules The output file MUST: - Open by double-clicking `index.html`. No build, no install, no server. - Run with the network disconnected. - Have **no external scripts, stylesheets, fonts, images, or CDN of any kind**. - Make **no network calls** — no `fetch`, `XMLHttpRequest`, `WebSocket`, `sendBeacon`, `EventSource`, remote ``. - Embed no API keys, tokens, or passwords. If the tool needs one, the user pastes it at runtime; it lives in `sessionStorage` only. - Emit no telemetry. The output file MUST contain these section markers, in order: ``` help + AI editing notes (HTML comment) CSS, including print styles static DOM then a single