Resource Format
Every resource in StealThis is a self-contained bundle — a directory with MDX frontmatter, code snippets, and assets.
Directory Structure
resources/└── my-resource/ ├── index.mdx # Frontmatter metadata + prose documentation ├── snippets/ │ ├── html.html # Standalone HTML page │ ├── style.css # Styles (used by html.html) │ ├── script.js # Vanilla JS (used by html.html) │ └── react.tsx # React component └── assets/ └── preview.gif # Preview image/gifFrontmatter Schema
---slug: my-resource # Unique identifier (URL-safe)title: My Resource # Display titledescription: Short description of what this does.category: web-animations # See Category Taxonomy belowtype: animation # animation | page | component | pattern | recommendation | ...tags: [scroll, fade] # Searchable tagstech: [css, js] # Technologies useddifficulty: easy # easy | med | hardtargets: [html, react] # Available snippet targetscollections: [saas] # Optional — library collection membershippreview: ./assets/preview.giflabRoute: /web-animations/my-resource # Lab demo pathlicense: MITcodepenExamples: # Optional CodePen embeds - id: abc123 title: Full Demo penUrl: https://codepen.io/stealthisdev/pen/abc123 description: Interactive version with all animations height: 520 defaultTab: resultcreatedAt: 2026-02-20updatedAt: 2026-02-20---Snippet Targets
| Target | File | Notes |
|---|---|---|
html | snippets/html.html | Full standalone HTML page |
| CSS styles | snippets/style.css | Referenced by html.html |
| JS | snippets/script.js | Referenced by html.html |
react | snippets/react.tsx | React component (default export = demo) |
next | snippets/next.tsx | Next.js variant |
vue | snippets/vue.vue | Vue SFC |
Writing Guidelines
- Include a full
<!DOCTYPE html>page - Use pure CSS by default (no Tailwind in HTML target)
- Add
<link rel="stylesheet" href="style.css" />and<script src="script.js"></script> - Add
roleandaria-labelattributes for accessibility - Respect
prefers-reduced-motion
- Export a default component that demonstrates the resource
- Props should be typed with TypeScript interfaces
- Tailwind CSS is allowed
- The default export should be a fully self-contained demo
preview.gif— animated preview, max 2MB, 16:9 or square- Use
./assets/preview.gifrelative path in frontmatter - Optimize GIFs with Gifsicle or similar
Category Taxonomy
Copy-paste resources (snippets + Lab)
| Category | Typical type | Description |
|---|---|---|
web-animations | animation | Scroll effects, parallax, canvas, WebGL |
web-pages | page | Full page templates and sections |
ui-components | component | Reusable UI elements |
patterns | pattern | Micro-interactions, loaders, hover effects |
components | component | Extended component library |
pages | page | Extended page library |
prompts | prompt | AI prompt templates |
architectures | architecture | Project structure references |
boilerplates | boilerplate | Starter project scaffolds |
remotion | animation | Remotion video compositions |
database-schemas | schema | Database schema patterns |
ultra-high-definition-pages | page | High-fidelity page designs |
design-styles | page | Design style explorations |
music | component | Music/audio UI |
3d-models | component | 3D model resources |
3d-interactions | animation | 3D interaction patterns |
plugins | component | Plugin/extension patterns |
Recommendations (no snippets)
| Category | Type | Description |
|---|---|---|
recommendations | recommendation | Topic pages comparing tools, platforms, books, courses |
Recommendation resources use options[] (alternatives) and comparison[] (table columns) instead of code snippets. They do not appear in Lab or the MCP catalog. See Recommendations for the user guide.
---slug: payment-processorstitle: Payment Processorscategory: recommendationstype: recommendationrecommendationKind: paymentscomparison: [Model, Fees, Best for]options: - name: Stripe url: https://stripe.com bestFor: Developer-first SaaS billing pros: [Great docs, Broad features] cons: [Fees add up at scale] attributes: Model: "API + dashboard" Fees: "2.9% + 30¢" Best for: "SaaS & marketplaces"license: MITdifficulty: easytech: []targets: []createdAt: 2026-06-08updatedAt: 2026-06-08---Contributors: full spec in ROADMAP_RECOMMENDATION.md.
Collections
UI resources can belong to one or more library collections via collections: frontmatter (e.g. saas, clinic, gym). Collections group copy-paste resources for browsing — they are separate from recommendation topics. See Collections for all collection IDs and URL patterns.
Contributors: when you add a new collection ID (not just assign resources to an existing one), update the Collections doc page with a new table row — see the Contributors: adding a new collection section there.