FeaturesTemplatesShowcaseTownie
AI
BlogDocsPricing
Log inSign up
flymaster

flymaster

list_emvee

Public
Like
list_emvee
Home
Code
5
.vtignore
AGENTS.md
CLAUDE.md
deno.json
H
simple-text-form.http.tsx
Branches
1
Pull requests
Remixes
History
Environment variables
2
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
CLAUDE.md
Code
/
CLAUDE.md
Search
…
CLAUDE.md

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Project Overview

This is a Val Town project configured with Deno. The project contains comprehensive guidelines for developing Val Town applications in the AGENTS.md file, which serves as the primary documentation for Val Town development patterns and best practices.

Development Environment

  • Runtime: Deno (configured via deno.json)
  • Platform: Val Town
  • Language: TypeScript/TSX
  • Linting: Configured in deno.json with relaxed rules (no-explicit-any excluded)

Common Commands

Since this is a Val Town project, traditional npm/yarn commands don't apply. Val Town projects are typically developed through:

  • Linting: deno lint (configured to include deno:/https/esm.town/**/*)
  • Type checking: Uses Deno's built-in TypeScript compiler
  • Deployment: Handled through Val Town platform

Architecture Guidelines

This project follows Val Town's specific development patterns as documented in AGENTS.md. Key architectural principles include:

Project Structure

  • Backend: Use Hono framework for API routes
  • Frontend: React with TailwindCSS
  • Shared: Common utilities and types
  • Database: SQLite through Val Town's standard library

File Naming Conventions

  • HTTP triggers: *.http.tsx
  • Cron triggers: *.cron.tsx
  • Email triggers: *.email.tsx

Import Strategy

  • Use https://esm.sh for npm dependencies
  • Use https://esm.town/v/std/* for Val Town standard libraries
  • Pin React dependencies to version 18.2.0

Storage and APIs

  • Use Val Town's blob storage for key-value data
  • Use SQLite through https://esm.town/v/stevekrouse/sqlite
  • Change table names instead of altering schemas
  • Avoid external API keys when possible

Development Best Practices

Error Handling

  • Include app.onError((err, c) => { throw err; }); in Hono apps for full stack traces
  • Add <script src="https://esm.town/v/std/catch"></script> to HTML for client-side error capture

Static File Serving

  • Use serveFile and readFile utilities from https://esm.town/v/std/utils
  • Inject initial data into HTML to avoid extra round-trips

Environment Variables

  • Access via Deno.env.get('keyname')
  • Never bake secrets into code

VSCode Configuration

The project includes Deno extension recommendation in .vscode/extensions.json for proper TypeScript support and linting in the editor.

FeaturesVersion controlCode intelligenceCLI
Use cases
TeamsAI agentsSlackGTM
ExploreDocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareersBrandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Terms of usePrivacy policyAbuse contact
© 2025 Val Town, Inc.