Overall AI readiness score
A combined result across all audit signals.
Overall AI readiness score
A combined result across all audit signals.
Overall AI readiness assessment
Val Town Documentation (docs.val.town) received an AI-readiness score of 85/100 in an automated technical audit. llms.txt was accessible, llms-full.txt was accessible, and ai.txt was not found. The robots.txt analysis found 0 explicitly allowed and 0 blocked AI crawlers, with 1 declared sitemap. Homepage markup completeness was 60%; no Schema.org types were detected and 6 OpenGraph tags were detected. Results reflect the public site response observed on 2026-09-25T01:19:02.429Z.
llms.txt is accessible and contains 4,919 tokens. An expanded llms-full.txt is also available with 92,458 tokens, giving agents more direct context. No separate ai.txt policy was detected; it is optional, but can clarify training, retrieval, and attribution preferences.
robots.txt is available. 11 of 11 tracked AI bots are not blocked. Declared sitemaps: 1. No Schema.org type was detected on the homepage. 6 OpenGraph tags were found and markup completeness is 60%, leaving more entity interpretation to crawlers.
The Google Lighthouse measurement is still collecting. Once complete, performance, accessibility, technical quality, SEO, and experimental browser-agent signals will be added with a limited weight.
The background queue is collecting mobile Performance, Accessibility, Best Practices, SEO, and experimental browser-agent signals.
Machine-readable files, crawler policy, discovery, and homepage markup.
ai.txt file was not found
1 sitemap found
Schema.org markup was not found on the homepage
6 OG tags found
Based on robots.txt analysis
Declared discovery routes for crawlers and agents.
Social preview metadata found on the homepage.
og:titleGetting started with Val Townog:descriptionDocumentation for humans and agents building on Val Townog:urlhttps://docs.val.town/og:typearticleog:site_nameVal Town Docs# Val Town Documentation > Documentation for humans and agents building on Val Town, a platform for > writing and running TypeScript on Deno, always deployed in 100ms. - [Full documentation in one file](https://docs.val.town/llms-full.txt) (~90.1k tokens) ## Getting started - [Getting started with Val Town](https://docs.val.town/index.md) (~300 tokens, updated 2026-09-10): Documentation for humans and agents building on Val Town ## Vals - [What’s a val?](https://docs.val.town/vals.md) (~500 tokens, updated 2026-09-03): Learn about the basics of Vals - [HTTP](https://docs.val.town/vals/http.md) (~600 tokens, updated 2026-09-03): A kind of val that can serve a website or an API using web-standard Request & Response objects. - [Basic examples](https://docs.val.town/vals/http/basic-examples.md) (~500 tokens, updated 2026-09-08): Examples of basic HTTP triggers for common use cases - [Custom domains](https://docs.val.town/vals/http/custom-domains.md) (~1.0k tokens, updated 2026-09-08): Point your own domains to any HTTP val - [Custom subdomains](https://docs.val.town/vals/http/custom-subdomains.md) (~500 tokens, updated 2026-09-08): Choose custom subdomains of val.run for HTTP vals in projects - [HTML & JSX](https://docs.val.town/vals/http/jsx.md) (~400 tokens, updated 2026-09-08): Use JSX syntax in Val Town to render HTML using React, Preact, Vue, Solid, Hono, etc. - [APIs & Routers](https://docs.val.town/vals/http/routing.md) (~600 tokens, updated 2026-09-08): How to implement routing within HTTP triggers to handle different paths and methods - [CDNs and Cache Control](https://docs.val.town/vals/http/cdns.md) (~1.1k tokens, updated 2026-09-08): How to use Content Delivery Networks (CDNs) and cache control headers with HTTP vals - [Early Return](https://docs.val.town/vals/http/early-return.md) (~800 tokens, updated 2026-09-08): How to return a response early from an HTTP trigger - [Cron](https://docs.val.town/vals/cron.md) (~800 tokens, updated 2026-09-03): Schedules let code on Val Town run every day, every hour, or whenever you'd like - [Email](https://docs.val.town/vals/email.md) (~800 tokens, updated 2026-09-03): A val that can receive email ## Reference - [Email](https://docs.val.town/reference/std/email.md) (~1.0k tokens, updated 2026-09-10): Send emails programmatically from your vals using Val Town's email API - [SQLite](https://docs.val.town/reference/std/sqlite.md) (~400 tokens, updated 2026-09-10): Every Val comes with its own private SQLite database - [Admin](https://docs.val.town/reference/std/sqlite/admin.md) (~300 tokens, updated 2026-09-10): Administration panels for the SQLite databases - [Global](https://docs.val.town/reference/std/sqlite/global.md) (~500 tokens, updated 2026-09-10): Account-scoped SQLite databases - [Migrations](https://docs.val.town/reference/std/sqlite/migrations.md) (~300 tokens, updated 2026-09-10): How to manage database schema changes with migrations in Val Town SQLite - [ORMs](https://docs.val.town/reference/std/sqlite/orms.md) (~400 tokens, updated 2026-09-10): Using Object-Relational Mapping libraries with Val Town SQLite - [Usage](https://docs.val.town/reference/std/sqlite/usage.md) (~900 tokens, updated 2026-09-10): How to use Val Town SQLite, with examples - [Blob storage](https://docs.val.town/reference/std/blob.md) (~1.1k tokens, updated 2026-09-10): Store and retrieve binary data with Val Town's blob storage system - [Access](https://docs.val.town/reference/access.md) (~1.5k tokens, updated 2026-09-10): Control who can use vals - [Environment variables](https://docs.val.town/reference/environment-variables.md) (~600 tokens, updated 2026-08-17): Using environment variables to store secrets that vals can securely access - [Environment groups](https://docs.val.town/reference/environment-groups.md) (~200 tokens): Share environment variables in organizations - [Importing](https://docs.val.town/reference/import.md) (~1.4k tokens, updated 2026-09-09): Import code from vals, NPM, JSR, and URLs - [Runtime](https://docs.val.town/reference/runtime.md) (~300 tokens, updated 2026-09-08): Val Town uses the Deno runtime to run your code - [Interop with Node, Deno, and Browsers](https://docs.val.town/guides/interop.md) (~1.3k tokens, updated 2024-01-16): Learn how to run your vals in different runtimes - [Deno LSP](https://docs.val.town/reference/deno-lsp.md) (~2.1k tokens): Understanding the Val Town language server - [esm.town](https://docs.val.town/reference/esm-town.md) (~300 tokens): Endpoint for getting val source code - [File I/O](https://docs.val.town/reference/file-io.md) (~2.8k tokens): How to read and write files in Val Town - [Using images in vals](https://docs.val.town/reference/images.md) (~600 tokens): Hosting images in Val Town and elsewhere - [Permissions](https://docs.val.town/reference/permissions.md) (~1.2k tokens, updated 2026-09-16): Vals can be private, unlisted, or public, and their endpoints can be restricted - [Keyboard shortcuts](https://docs.val.town/reference/shortcuts.md) (~100 tokens, updated 2024-03-18): Keyboard shortcuts for Val Town - [Version Control](https://docs.val.town/reference/version-control.md) (~800 tokens, updated 2025-01-30): Every time you save a val it creates a new immutable version in the version history. - [Overview](https://docs.val.town/reference/api.md) (~200 tokens): Val Town's REST API allows you to programmatically manage your account and its resources - vals, blob storage, sqlite databases, likes, comments, and more. - [OAuth](https://docs.val.town/reference/api/oauth.md) (~1.3k tokens, updated 2026-07-22): Authenticate to the Val Town API with OAuth 2.0, including dynamic client registration and MCP support - [Authentication](https://docs.val.town/reference/api/authentication.md) (~500 tokens): How to authenticate to Val Town using API Tokens - [JavaScript SDK](https://docs.val.town/reference/api/sdk.md) (~700 tokens): Interact with Val Town via the TypeScript SDK to programmatically create and update vals, get user information, and much more. ## Guides - [Auth](https://docs.val.town/guides/auth.md) (~2.2k tokens): Add authentication and users to your Val Town app - [Overview](https://docs.val.town/guides/prompting.md) (~600 tokens, updated 2026-09-10): A guide to using AI inside and outside Val Town - [Townie](https://docs.val.town/guides/prompting/townie.md) (~800 tokens): Townie, the Val Town coding agent - [Plugin](https://docs.val.town/guides/prompting/plugin.md) (~900 tokens, updated 2026-09-10): Connect Claude, ChatGPT, Claude Code, Codex, or Cursor to Val Town - [Skills](https://docs.val.town/guides/prompting/skills.md) (~600 tokens): Create custom skills for your agent and Townie - [MCP](https://docs.val.town/guides/prompting/mcp.md) (~700 tokens, updated 2026-09-10): Connect an app to the Val Town remote MCP server - [vt CLI](https://docs.val.town/guides/prompting/cli.md) (~300 tokens): A guide to using the Val Town CLI with your favorite AI tool - [Claude (Web, Desktop, Cowork)](https://docs.val.town/guides/prompting/claude.md) (~800 tokens, updated 2026-09-10): Connect Val Town to Claude on the web and desktop - [Claude Code](https://docs.val.town/guides/prompting/claude-code.md) (~800 tokens, updated 2026-09-10): Install and connect the Val Town plugin in Claude Code - [ChatGPT](https://docs.val.town/guides/prompting/chatgpt.md) (~600 tokens, updated 2026-09-10): Connect Val Town to ChatGPT on the web and desktop - [Codex](https://docs.val.town/guides/prompting/openai-codex.md) (~700 tokens, updated 2026-09-10): Install and connect Val Town in Codex desktop and CLI - [Cursor](https://docs.val.town/guides/prompting/cursor.md) (~700 tokens, updated 2026-09-10): Install and connect the Val Town plugin in Cursor - [GitHub Copilot](https://docs.val.town/guides/prompting/github-copilot.md) (~200 tokens): Bring Val Town to GitHub Copilot with the vt CLI - [Warp](https://docs.val.town/guides/prompting/warp.md) (~200 tokens): Bring Val Town to Warp with the vt CLI - [Windsurf](https://docs.val.town/guides/prompting/windsurf.md) (~200 tokens): Bring Val Town to Windsurf with the vt CLI - [Zed](https://docs.val.town/guides/prompting/zed.md) (~200 tokens): Bring Val Town to Zed with the vt CLI - [Organizations](https://docs.val.town/vals/organizations.md) (~300 tokens, updated 2026-07-01): Collaborate with your team - [Branches](https://docs.val.town/vals/branches.md) (~500 tokens): Val Branches are used for feature development, testing, and sharing - [Remixes](https://docs.val.town/vals/remixes.md) (~200 tokens): Other users can remix your Val, and you can remix other user's Vals. - [Pull Requests](https://docs.val.town/vals/pull-requests.md) (~200 tokens): Pull Requests are used to merge changes from a branch or remix back into the parent - [History](https://docs.val.town/vals/history.md) (~100 tokens): View a val's history and revert when needed - [How to build an MCP server](https://docs.val.town/guides/how-to-build-an-mcp-server.md) (~1.8k tokens, updated 2026-09-02): Build and host an MCP server on Val Town - [Deploy a Claude Artifact](https://docs.val.town/guides/deploy-a-claude-artifact.md) (~500 tokens, updated 2026-09-16): Deploy your website or app from Claude to a custom URL on Val Town - [Handling webhooks](https://docs.val.town/guides/creating-a-webhook.md) (~500 tokens, updated 2026-09-08): Use Val Town to receive HTTP webhooks from services like Stripe, GitHub, and Notion - [Deploy an API endpoint in under a minute](https://docs.val.town/guides/deploy-an-api-endpoint.md) (~500 tokens, updated 2026-06-11): Write a fetch handler in an HTTP val and get a live HTTPS URL the moment you save — no Dockerfile, no deploy pipeline - [Get an email address that runs your code](https://docs.val.town/guides/email-address-that-runs-code.md) (~800 tokens, updated 2026-06-10): Create an email val to get an email address that runs your TypeScript code on every message it receives - [Your first scheduled cron](https://docs.val.town/guides/first-cron.md) (~1.1k tokens): Make your first cron job - a weather notifier - [Your first website](https://docs.val.town/guides/first-website.md) (~500 tokens): Make your personal website - [Generate PDFs](https://docs.val.town/guides/generate-pdfs.md) (~200 tokens, updated 2023-12-22): Using jsPDF, you can generate PDFs from scratch and download them from Val Town. - [QR Code](https://docs.val.town/guides/qr-code.md) (~100 tokens, updated 2023-12-04): Val Town can be used as a way to generate QR Codes. - [Push notifications](https://docs.val.town/guides/push-notifications.md) (~300 tokens, updated 2025-09-08): Using the third-party service ntfy.sh, you can send push notifications to phones and computer with Val Town. - [RSS](https://docs.val.town/guides/rss.md) (~300 tokens, updated 2023-12-05): Val Town can both parse and generate RSS feeds for blogs and other updated sources - [Get a daily email digest of an RSS feed](https://docs.val.town/guides/rss-daily-email-digest.md) (~500 tokens, updated 2026-06-10): Remix a cron val that checks an RSS feed once a day and emails you only the items published since its last run - [Put a form online and save submissions](https://docs.val.town/guides/put-a-form-online.md) (~500 tokens, updated 2026-06-10): Remix an HTTP val that serves a contact form, saves every submission to SQLite, and lists what people sent — no external services - [Scrape a website daily and email yourself the results](https://docs.val.town/guides/scrape-website-daily-email.md) (~700 tokens, updated 2026-06-10): Write one cron val that fetches a page, extracts what you need, and emails it to you every day — no server, crontab, or SMTP setup - [Get an email alert when your website goes down](https://docs.val.town/guides/website-down-email-alert.md) (~500 tokens, updated 2026-06-10): Remix a cron val that checks your website every five minutes and emails you once when it goes down and once when it recovers - [Embedding Vals in other sites](https://docs.val.town/guides/embed.md) (~700 tokens, updated 2023-12-15): Any val can be embedded as an iframe on other sites - [Cache a rate-limited API behind your own endpoint](https://docs.val.town/guides/cache-rate-limited-api.md) (~800 tokens, updated 2026-06-10): Remix a two-file val where a cron caches an upstream API into blob storage and an HTTP endpoint serves the cache instantly - [Build your own Slack agent](https://docs.val.town/guides/slack/agent.md) (~1.4k tokens, updated 2026-09-16): BYOA (Bring Your Own Agent) to Slack - [Slack bot](https://docs.val.town/guides/slack/bot.md) (~800 tokens): Create interactive Slack bots that respond to mentions, slash commands, and user interactions - [Receive Slack webhooks & send messages](https://docs.val.town/guides/slack/send-messages-to-slack.md) (~600 tokens, updated 2026-09-15): Receive Slack webhooks and send messages to Slack channels from Val Town - [Syncing vals with GitHub](https://docs.val.town/guides/github-sync.md) (~400 tokens, updated 2026-06-12): Keep a val and a GitHub repo in sync — for version history, backups, CI, and local editing - [GitHub Actions + vt CLI](https://docs.val.town/guides/github-sync/github-actions.md) (~3.1k tokens, updated 2026-06-12): Deploy a val on every push to GitHub, or back a val up to a repo on a schedule, using GitHub Actions and the vt CLI - [Sync code in a val](https://docs.val.town/guides/github-sync/val-town-code.md) (~6.2k tokens, updated 2026-06-12): Sync a val with a GitHub repo using a single copy-paste file inside the val — no GitHub Actions required - [Get a Github user](https://docs.val.town/guides/github/get-a-github-user.md) (~400 tokens, updated 2023-12-22): Get a user without passing an authentication token on Val Town. - [Github user's stars (pagination)](https://docs.val.town/guides/github/github-users-stars-pagination.md) (~1.0k tokens, updated 2023-12-22): Get a user's stars across all their repositories on GitHub - [Get notified when someone stars your GitHub repo](https://docs.val.town/guides/github-star-notifications.md) (~500 tokens, updated 2026-06-10): Remix a cron val that polls your repo's stargazers hourly and emails you about every new star — no GitHub token required - [GitHub webhooks](https://docs.val.town/guides/github/receiving-a-github-webhook.md) (~1.0k tokens, updated 2026-09-08): Send yourself an email or Slack/Discord message when someone stars your GitHub repository - [Build AI apps with OpenRouter](https://docs.val.town/guides/openrouter.md) (~300 tokens, updated 2026-09-16): Call hundreds of AI models with OpenRouter - [Stripe webhooks](https://docs.val.town/guides/stripe.md) (~1.5k tokens): Accept payments in Val Town using Stripe - [Neon Postgres](https://docs.val.town/guides/databases/neon-postgres.md) (~600 tokens, updated 2023-12-22): 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/guides/databases/planetscale.md) (~800 tokens, updated 2023-12-22): How to store data in PlanetScale, a hosted MySQL platform with the ability to scale beyond a single instance and evolve schemas. - [Prisma Postgres](https://docs.val.town/guides/databases/prisma-postgres.md) (~900 tokens, updated 2025-11-26): How to connect Val Town to Prisma Postgres, a serverless Postgres database with instant provisioning and zero setup. - [Supabase](https://docs.val.town/guides/databases/supabase.md) (~1.4k tokens, updated 2023-12-22): How to connect Val Town to Supabase, a hosted Postgres-as-a-platform that lets you make queries via HTTP. - [Supabase webhooks](https://docs.val.town/guides/supabase.md) (~500 tokens): Handle Supabase webhooks in Val Town - [Upstash](https://docs.val.town/guides/databases/upstash.md) (~700 tokens, updated 2023-12-22): Using Upstash, a hosting provider that provides free 1MB Redis instances. - [Browserbase](https://docs.val.town/guides/browser-automation/browserbase.md) (~300 tokens): How to use Browserbase & Puppeteer to with Val Town - [Kernel](https://docs.val.town/guides/browser-automation/kernel.md) (~300 tokens): How to use Kernel with Val Town - [Steel](https://docs.val.town/guides/browser-automation/steel.md) (~400 tokens): How to use Steel & Puppeteer to with Val Town - [Discord welcome bot](https://docs.val.town/guides/discord/bot.md) (~1.0k tokens, updated 2023-12-08): Create a Discord bot that sends a DM to new users. - [Discord bot](https://docs.val.town/guides/discord/how-to-make-a-discord-bot-24-7.md) (~1.4k tokens, updated 2023-12-22): How to make a Discord bot hosted 24/7 for free in 6 steps - [Send Discord message via webhook](https://docs.val.town/guides/discord/send-message.md) (~300 tokens, updated 2023-12-22): Shows you how to receive webhooks from Discord on Val Town. - [Store data in Airtable](https://docs.val.town/guides/airtable.md) (~800 tokens, updated 2023-12-22): You can use Airtable with Val Town to store data or load edited data from other sources - [Store data in AWS S3](https://docs.val.town/guides/s3.md) (~1.3k tokens, updated 2023-12-22): S3 is Amazon's very popular object storage system. You can upload & download objects on S3 using Val Town. - [Send & receive Gmail](https://docs.val.town/guides/gmail.md) (~1.0k tokens): How to use Gmail with Val Town - [Store data in a Google Sheet](https://docs.val.town/guides/google-sheets.md) (~2.9k tokens, updated 2024-02-23): Using the Google Sheets API, you can add rows to a spreadsheet with Val Town. - [Social listening with Octolens](https://docs.val.town/guides/octolens.md) (~400 tokens): Track company mentions on X, Reddit, LinkedIn, etc. - [Add comments with FastComments](https://docs.val.town/guides/fastcomments.md) (~2.5k tokens, updated 2026-09-18): Put a live comment thread under any page of a val, and log readers in with the Val Town account they already have - [Telegram bot](https://docs.val.town/guides/telegram.md) (~1.0k tokens): Create a Telegram bot that can receive and respond to messages on Val Town ## Troubleshooting - [Blocked bots](https://docs.val.town/troubleshooting/bot-rate-limiting.md) (~500 tokens, updated 2026-08-27): Some bots are blocked across all Vals - [CORS](https://docs.val.town/troubleshooting/cors.md) (~700 tokens): Understanding Cross-Origin Resource Sharing (CORS) in Val Town - [Exports](https://docs.val.town/troubleshooting/exports.md) (~200 tokens, updated 2024-05-09): Vals with triggers (HTTP, Cron, Email) require at least one export. - [Permission errors](https://docs.val.town/troubleshooting/permission-errors.md) (~700 tokens, updated 2024-01-19): Vals run in a sandbox that doesn’t permit access to the filesystem, or to execute arbitrary scripts. - [Serialization](https://docs.val.town/troubleshooting/serialization.md) (~300 tokens, updated 2023-12-01): Val Town tries to serialize and deserialize as many types as it can, but doing that for all JavaScript is unfortunately very hard - [Val Limitations](https://docs.val.town/vals/limitations.md) (~100 tokens): Learn about the limitations of vals ## Contact - [Contact us](https://docs.val.town/contact-us/contact-us.md) (~100 tokens): Get in touch with the Val Town team - [Vulnerability Disclosure Policy](https://docs.val.town/contact-us/security.md) (~1.0k tokens): How to report security vulnerabilities to Val Town ## FAQ - [Frequently Asked Questions, FAQ](https://docs.val.town/faq.md) (~3.6k tokens, updated 2026-09-15): Answering common questions about Val Town for humans and AI agents ## Optional - [Discord](https://discord.gg/dHv45uN5RY) - [Email](mailto:hi@val.town) - [Blog](https://blog.val.town/)