This guide walks you through cloning the repository, starting the development server, and creating your very first sketch — from an empty folder to a live running canvas in under five minutes. The Creative Coding playground uses Bun as its package manager for fast installs and script execution.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/hetari/creative-coding/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites: You need Node.js 18+ and Bun installed on your machine. Install Bun with
curl -fsSL https://bun.sh/install | bash or via the official installer at bun.sh.Install dependencies
Install all dependencies using Bun:Bun resolves and installs the full dependency tree — Vue 3, PixiJS, p5.js, Three.js, GSAP, and all dev tooling — in a single fast pass.
Start the dev server
Launch the Vite development server with hot module replacement:The server starts at http://localhost:5173. Vite uses hash-based routing (
createWebHashHistory), so all sketch URLs look like http://localhost:5173/#/shader/learn.Open the dashboard
Navigate to http://localhost:5173 in your browser. You’ll see the playground dashboard — a grid of sketch cards, each with a live iframe preview or a static image card. Clicking a card navigates to that sketch’s full-screen view.
Add your first sketch
Adding a new sketch takes two edits: one entry in the central registry and one new Vue file in
2. Create the sketch componentCreate the file Save both files. The Vite dev server picks up the change instantly — navigate to
src/sketches/.1. Register the sketch in src/config/sketches.tsOpen src/config/sketches.ts and append a new entry to the SKETCHES array:| Field | Purpose |
|---|---|
id | Unique kebab-case identifier |
title | Display name on the dashboard card |
category | Slash-separated category path (creates category dashboards automatically) |
path | URL path served by the catch-all router |
order | Sort position on the dashboard (lower = first) |
previewMode | 'iframe' for live canvas preview, 'image' for static screenshot |
component | Dynamic import returning the sketch Vue component |
src/sketches/my-category/my-sketch/index.vue:http://localhost:5173/#/my-category/my-sketch to see your sketch running, and return to the dashboard to see the new card appear in its category group.Available Scripts
All scripts are run withbun run <script>:
| Script | Command | Description |
|---|---|---|
dev | bun run dev | Start the Vite dev server at localhost:5173 |
build | bun run build | Type-check with vue-tsc then build optimized static output to dist/ |
preview | bun run preview | Serve the production dist/ build locally for verification |
lint | bun run lint | Run ESLint across all .js, .ts, and .vue files |
lint:fix | bun run lint:fix | Auto-fix all ESLint errors and reformat staged files |
deploy | bun run deploy | Build then publish dist/ to GitHub Pages via gh-pages |
The project enforces Conventional Commits via
commitlint and auto-formats staged files via a Husky pre-commit hook running eslint --fix through nano-staged. Your commits must follow the format type: description (e.g. feat: add noise sketch, fix: teardown pixi app on unmount).