• Townie
    AI
  • Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
dervondenbergen

dervondenbergen

vt-tests

Unlisted
Like
vt-tests
Home
Code
4
.vtignore
CLAUDE.md
deno.json
H
emailAnalyzer.http.tsx
Branches
1
Pull requests
Remixes
History
Environment variables
1
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
6/13/2025
Viewing readonly version of main branch: v5
View latest version
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 Deno project configured for Val Town development. The project uses TypeScript with Val Town-specific types and has experimental features enabled for Node.js compatibility.

Development Commands

  • Lint: deno lint
  • Type Check: deno check [file.ts]
  • Run: deno run [file.ts]

Architecture & Configuration

Deno Configuration

  • Locking is disabled ("lock": false)
  • Compiler options are relaxed (noImplicitAny: false, strict: false)
  • Val Town types are included from https://www.val.town/types/valtown.d.ts
  • Experimental Node.js globals, Temporal API, and worker options are enabled

Val Town Development Patterns

Always check the the Documentation if you are unsure how to do a thing which is available under https://docs.val.town/ or as repo at https://github.com/val-town/val-town-docs.

File Naming Conventions:

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

Standard Val Town Imports:

Create val
import { blob } from "https://esm.town/v/std/blob"; import { sqlite } from "https://esm.town/v/std/sqlite"; import { OpenAI } from "https://esm.town/v/std/openai"; import { email } from "https://esm.town/v/std/email";

Key Development Rules:

  • Generate code in TypeScript/TSX
  • Never embed secrets - use environment variables with Deno.env.get()
  • Use https://esm.sh for npm dependencies
  • SQLite: Change table names when modifying schemas instead of altering tables
  • Use new Response(null, { status: 302, headers: { Location: "/path" }}) for redirects
FeaturesVersion controlCode intelligenceCLI
Use cases
TeamsAI agentsSlackGTM
ExploreDocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Terms of usePrivacy policyAbuse contact
© 2025 Val Town, Inc.