This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is a Val Town project — a React component library starter template that runs on the Val Town platform (serverless Deno environment, not Node.js). It uses no build step: Twind shim for CSS-in-JS and esm.sh for imports, served statically.
deno.jsonhttps://esm.sh (works in both browser and server)?deps=react@18.2.0,react-dom@18.2.0/** @jsxImportSource https://esm.sh/react@18.2.0 */<script type="module" src="https://cdn.skypack.dev/twind/shim">)Deno keyword in code shared between frontend and backendindex.html — Entry point, loads Twind shim and fonts, mounts React appindex.tsx — React app root, renders into #rootstyle.css — Custom CSS animations (notification slide-in/out)types.ts — Shared type definitionscomponents/ — Top-level components (Button, Card, Link, Notification, Icons)components/ui/ — Primitive UI components (Badge, Container, Input, Label, Table, Tabs) with barrel export via index.tsAGENTS.md — Val Town coding agent instructions (trigger types, stdlib, platform specifics).http.tsx), Cron (.cron.tsx), Email (.email.tsx)blob (key-value) or sqlite from Val Town stdlib — never Deno KVDeno.env.get('keyname'), never hardcodenew Response(null, { status: 302, headers: { Location: "..." } }) — Response.redirect is broken on Val Townexport default app.fetch_2, _3) instead of ALTER TABLEalert()/prompt()/confirm() browser APIs