Val Town's 107-line llms.txt shows what thorough AI preparation looks like

Discover Val Town's documentation for creating cron jobs, personal websites, and mastering LLM prompting. Start building your AI-powered projects today!

107
Lines
-92% vs avg
9
Sections
-62% vs avg
742+
Companies
using llms.txt
2
Files
llms.txt + full

Key Insights

Comprehensive structure

With 9 distinct sections, this file provides thorough coverage for AI systems.

Optimal length

At 107 lines, this file balances detail with AI context window efficiency.

Two-file approach

Uses both llms.txt and llms-full.txt for different AI use cases.

llms.txt Preview

First 100 lines of 107 total

# Val Town Documentation

## Getting Started
- [Your first scheduled cron](https://docs.val.town/quickstarts/first-cron.md): Make your first cron job - a weather notifier
- [Your first website](https://docs.val.town/quickstarts/first-website.md): Make your personal website
- [LLM prompting](https://docs.val.town/quickstarts/prompting.md): A guide to LLM prompting and using AI inside Val Town

## Vals
- [Branches](https://docs.val.town/vals/branches.md): Val Branches are used for feature development, testing, and sharing
- [Cron](https://docs.val.town/vals/cron.md): Schedules let code on Val Town run every day, every hour, or whenever you'd like
- [Email](https://docs.val.town/vals/email.md): A kind of val that is able to receive emails sent to it.
- [Overview](https://docs.val.town/vals.md): Learn about the basics of Vals
- [Val Limitations](https://docs.val.town/vals/limitations.md): Learn about the limitations of vals
- [Pull Requests](https://docs.val.town/vals/pull-requests.md): Pull Requests are used to merge changes from a branch or remix back into the parent
- [Remixes](https://docs.val.town/vals/remixes.md): Other users can remix your Val, and you can remix other user's Vals.
- [Basic examples](https://docs.val.town/vals/http/basic-examples.md): Examples of basic HTTP triggers for common use cases
- [CDNs and Cache Control](https://docs.val.town/vals/http/cdns.md): How to use Content Delivery Networks (CDNs) and cache control headers with HTTP vals
- [Custom domains](https://docs.val.town/vals/http/custom-domains.md): Point your own domains to any HTTP val
- [Custom subdomains](https://docs.val.town/vals/http/custom-subdomains.md): Choose custom subdomains of val.run for HTTP vals in projects
- [Early Return](https://docs.val.town/vals/http/early-return.md): How to return a response early from an HTTP trigger
- [HTTP](https://docs.val.town/vals/http.md): A kind of val that can serve a website or an API using web-standard Request & Response objects.
- [HTML & JSX](https://docs.val.town/vals/http/jsx.md): You can use JSX syntax in Val Town to render HTML using React, Preact, Vue, Solid, etc.
- [Routing](https://docs.val.town/vals/http/routing.md): How to implement routing within HTTP triggers to handle different paths and methods

## Reference
- [File I/O](https://docs.val.town/reference/file-io.md): How to read and write files in Val Town
- [Deno LSP](https://docs.val.town/reference/deno-lsp.md): Understanding the Val Town language server
- [Environment variables](https://docs.val.town/reference/environment-variables.md): Using environment variables to store secrets that vals can securely access
- [esm.town](https://docs.val.town/reference/esm-town.md): Endpoint for getting val source code
- [Using images in vals](https://docs.val.town/reference/images.md): Hosting images in Val Town and elsewhere
- [Importing](https://docs.val.town/reference/import.md): Import code from vals, NPM, JSR, and URLs
- [Permissions](https://docs.val.town/reference/permissions.md): Vals can be private, unlisted, or public
- [Keyboard shortcuts](https://docs.val.town/reference/shortcuts.md): Keyboard shortcuts for Val Town
- [Runtime](https://docs.val.town/reference/runtime.md): Val Town uses the Deno runtime to run your code
- [Version Control](https://docs.val.town/reference/version-control.md): Every time you save a val it creates a new immutable version in the version history.

## Standard Library
- [Blob Storage](https://docs.val.town/std/blob.md): Store and retrieve binary data with Val Town's blob storage system
- [OpenAI](https://docs.val.town/std/openai.md): Integrate with OpenAI's APIs to add AI capabilities to your vals
- [Proxied fetch](https://docs.val.town/std/fetch.md): Make HTTP requests to external services using Val Town's proxied fetch
- [Email](https://docs.val.town/std/email.md): Send emails programmatically from your vals using Val Town's email API
- [SQLite](https://docs.val.town/std/sqlite.md): Val Town SQLite is a lightweight, standard database. Every Val Town account comes with its own private SQLite database that is accessible from any of your vals.
- [Migrations](https://docs.val.town/std/sqlite/migrations.md): How to manage database schema changes with migrations in Val Town SQLite
- [ORMs](https://docs.val.town/std/sqlite/orms.md): Using Object-Relational Mapping libraries with Val Town SQLite
- [Usage](https://docs.val.town/std/sqlite/usage.md): How to use Val Town SQLite, with examples.

## REST API
- [Overview](https://docs.val.town/api.md): Val Town's REST API allows you to programmatically manage your account and its resources - vals, blob storage, sqlite databases, likes, comments, and more.
- [Authentication](https://docs.val.town/api/authentication.md): How to authenticate to Val Town using API Tokens
- [JavaScript SDK](https://docs.val.town/api/sdk.md): Interact with Val Town via the TypeScript SDK to programmatically create and update vals, get user information, and much more.

## Troubleshooting
- [Blocked bots](https://docs.val.town/troubleshooting/bot-rate-limiting.md): Some bots are blocked across all Vals
- [CORS](https://docs.val.town/troubleshooting/cors.md): Understanding Cross-Origin Resource Sharing (CORS) in Val Town
- [Migrating Deprecated HTTP Vals](https://docs.val.town/troubleshooting/migrating-deprecated-http-vals.md): Learn how to migrate your HTTP vals to the new runtime
- [Serialization](https://docs.val.town/troubleshooting/serialization.md): Val Town tries to serialize and deserialize as many types as it can, but doing that for all JavaScript is unfortunately very hard
- [Exports](https://docs.val.town/troubleshooting/exports.md): Vals with triggers (HTTP, Cron, Email) require at least one export.
- [Upgrade Guide: Safer Val Scopes](https://docs.val.town/troubleshooting/std-set-permission-error.md): How to upgrade your vals for the safer default scopes rolled out to everyone on Feb 11, 2025
- [Permission errors](https://docs.val.town/troubleshooting/permission-errors.md): Vals run in a sandbox that doesn’t permit access to the filesystem, or to execute arbitrary scripts.
- [Express to HTTP migration](https://docs.val.town/troubleshooting/express-to-http-migration.md): How to migrate existing vals from the deprecated express type to the HTTP type

## Guides
- [Embedding Vals in other sites](https://docs.val.town/guides/embed.md): Any val can be embedded as an iframe on other sites
- [Generate PDFs](https://docs.val.town/guides/generate-pdfs.md): Using jsPDF, you can generate PDFs from scratch and download them from Val Town.
- [Creating a webhook](https://docs.val.town/guides/creating-a-webhook.md): Use Val Town to receive HTTP webhooks from services like Discord or Stripe
- [In, Val, Out](https://docs.val.town/guides/in-val-out.md): Manage input (like user signups) and automate output (e.g., Slack messages)
- [Push notifications](https://docs.val.town/guides/push-notifications.md): Using the third-party service ntfy.sh, you can send push notifications to phones and computer with Val Town.
- [QR Code](https://docs.val.town/guides/qr-code.md): Val Town can be used as a way to generate QR Codes.
- [RSS](https://docs.val.town/guides/rss.md): Val Town can both parse and generate RSS feeds for blogs and other updated sources
- [Save HTML form data](https://docs.val.town/guides/save-html-form-data.md): Save HTML form data on Val Town
- [Saving data from a web page](https://docs.val.town/guides/saving-data-from-a-web-page.md): Save data from a web page on Val Town
- [Website Uptime Tracker](https://docs.val.town/guides/website-uptime-tracker.md)
- [Weather](https://docs.val.town/guides/weather.md): Build weather related apps with Val Town
- [Web scraping](https://docs.val.town/guides/web-scraping.md): Use Val Town to write a web scraper to extract content from websites
- [Interop with Node, Deno, and Browsers](https://docs.val.town/guides/interop.md): Learn how to run your vals in different runtimes

## Integrations
- [Airtable](https://docs.val.town/integrations/airtable.md): You can use Airtable with Val Town to store data or load edited data from other sources
- [Browserbase](https://docs.val.town/integrations/browserbase.md): How to use Browserbase & Puppeteer to with Val Town
- [Browserless](https://docs.val.town/integrations/browserless.md): How to use Browserless to scrape websites with Val Town
- [Gmail](https://docs.val.town/integrations/gmail.md): How to use Gmail with Val Town
- [Google Sheets](https://docs.val.town/integrations/google-sheets.md): Using the Google Sheets API, you can add rows to a spreadsheet with Val Town.
- [AWS S3](https://docs.val.town/integrations/s3.md): S3 is Amazon's very popular object storage system. You can upload & download objects on S3 using Val Town.
- [SQLite wasm](https://docs.val.town/integrations/sqlite-wasm.md): Using Deno's ability to load WASM modules, you can actually run SQLite right in Val Town.
- [Kernel](https://docs.val.town/integrations/kernel.md): How to use Kernel with Val Town
- [Steel](https://docs.val.town/integrations/steel.md): How to use Steel & Puppeteer to with Val Town
- [Stripe](https://docs.val.town/integrations/stripe.md): Accept payments in Val Town using Stripe
- [Supabase webhooks](https://docs.val.town/integrations/supabase.md): Handle Supabase webhooks in Val Town
- [Telegram  bot](https://docs.val.town/integrations/telegram.md): Create a Telegram bot that can receive and respond to messages on Val Town
- [Get a Github user](https://docs.val.town/integrations/github/get-a-github-user.md): Get a user without passing an authentication token on Val Town.
- [Github user's stars (pagination)](https://docs.val.town/integrations/github/github-users-stars-pagination.md): Get a user's stars across all their repositories on GitHub
- [Receiving a GitHub Webhook](https://docs.val.town/integrations/github/receiving-a-github-webhook.md): Send yourself an email / Slack / Discord notification when someone stars your GitHub repository
- [Neon Postgres](https://docs.val.town/integrations/databases/neon-postgres.md): How to integrate with Neon, a hosted Postgres platform that does horizontal scaling and includes an SQL-over-HTTP API.
- [PlanetScale](https://docs.val.town/integrations/databases/planetscale.md): How to store data in PlanetScale, a hosted MySQL platform with the ability to scale beyond a single instance and evolve schemas.
- [Supabase](https://docs.val.town/integrations/databases/supabase.md): How to connect Val Town to Supabase, a hosted Postgres-as-a-platform that lets you make queries via HTTP.
- [Upstash](https://docs.val.town/integrations/databases/upstash.md): Using Upstash, a hosting provider that provides free 1MB Redis instances.
- [Discord welcome bot](https://docs.val.town/integrations/discord/bot.md): Create a Discord bot that sends a DM to new users.
- [Discord bot](https://docs.val.town/integrations/discord/how-to-make-a-discord-bot-hosted-24-7-for-free-in-.md): How to make a Discord bot hosted 24/7 for free in 6 steps
- [Send Discord message via webhook](https://docs.val.town/integrations/discord/send-message.md): Shows you how to receive webhooks from Discord on Val Town.
- [Build a Slack bot](https://docs.val.town/integrations/slack/bot.md): Create interactive Slack bots that respond to mentions, slash commands, and user interactions

Val Town is ready for AI search. Are you?

Join 742+ companies preparing their websites for the future of search. Create your llms.txt file in minutes.

Generate Your llms.txt

Don't get left behind

Your competitors are preparing for AI search.

Val Town has 9 organized sections ready for AI crawlers. Generate your llms.txt file and join the companies optimizing for the future of search.