This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is a Val Town project - a full-stack web application combining React frontend with Hono backend, designed for Val Town's Deno-based serverless platform.
├── backend/
│ └── server.ts # Hono HTTP server with API routes
├── frontend/
│ ├── index.html # HTML entry point
│ └── app.tsx # React application component
├── deno.json # Deno configuration
└── .cursorrules # Val Town development guidelines
Uses Val Town's serveFile
utility for proper content-type handling:
import { serveFile } from "https://esm.town/v/std/utils@85-main/index.ts";
app.get("/frontend/**/*", c => serveFile(c.req.path, import.meta.url));
All React files must include JSX pragma and use pinned versions:
/** @jsxImportSource https://esm.sh/react@18.2.0 */
import React from "https://esm.sh/react@18";
Include error unwrapping for proper debugging:
HTTP vals must export the fetch handler:
No traditional build commands - code runs directly on Val Town's platform. Files are served and executed as-is.
deno lint
- Check for code quality issuesdeno check backend/server.ts
- Verify TypeScript typesKey utilities available:
import { blob } from "https://esm.town/v/std/blob"
import { sqlite } from "https://esm.town/v/stevekrouse/sqlite"
import { OpenAI } from "https://esm.town/v/std/openai"
import { email } from "https://esm.town/v/std/email"
npm:
prefix for npm imports in server-side code onlyDeno.env.get()
Simple React counter app demonstrating:
/api/health
)