val-town-cli

Manage Val Town projects using the vt CLI. Use when working with Vals (Val Town serverless functions), syncing code to Val Town, creating HTTP endpoints, streaming logs, or managing Val Town branches. Triggers on tasks involving Val Town development, val creation/editing, or when user mentions "vt", "val town", or "vals".

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "val-town-cli" with this command: npx skills add nbbaier/agent-skills/nbbaier-agent-skills-val-town-cli

Val Town CLI

The vt CLI manages Val Town projects locally. Key concepts:

  • Val: A serverless function/project hosted on Val Town
  • HTTP Val: A val that serves HTTP requests (filename must contain "http", e.g., index.http.tsx)
  • Branch: Version control within a val (not git branches)

Quick Reference

TaskCommand
Create new valvt create my-val
Clone existingvt clone username/valName
Push changesvt push
Pull updatesvt pull
Auto-syncvt watch
View in browservt browse
Stream logsvt tail
Check statusvt status
List your valsvt list

Common Workflows

Create and develop a new val

vt create my-api
cd my-api
# Edit files...
vt push
vt browse  # Open in browser

Clone and modify existing val

vt clone username/valName
cd valName
# Edit files...
vt push

Live development with auto-sync

cd my-val
vt watch  # Syncs on every file save

Work on a feature branch

cd my-val
vt checkout -b my-feature
# Make changes...
vt push
vt checkout main

File Naming Conventions

Val Town detects file types by naming patterns:

PatternVal Type
*.http.ts, *.http.tsxHTTP endpoint
*.cron.tsScheduled cron job
*.email.tsEmail handler
Other .ts/.tsx filesScript val

Example: To create an HTTP API, name the file api.http.ts or index.http.tsx.

Command Details

Create

vt create my-val                    # New val in ./my-val
vt create my-val ./existing-folder  # Upload existing files
vt create my-val --private          # Private val
vt create my-val --org-name myorg   # Under an organization

Clone

vt clone                                    # Interactive selection
vt clone username/valName                   # By name
vt clone https://www.val.town/x/user/val    # By URL
vt clone username/valName .                 # Into current directory

Remix

Fork someone else's val:

vt remix std/reactHonoStarter myWebsite
cd myWebsite
vt watch

Branches

vt branch              # List branches
vt checkout main       # Switch branch
vt checkout -b feature # Create new branch
vt branch -D feature   # Delete branch

Logs

vt tail                          # Stream current val's logs
vt tail @user/valName            # Stream specific val
vt tail --print-headers          # Include HTTP headers
vt tail --reverse-logs           # Latest first

Configuration

vt config options                           # List options
vt config set dangerousOperations.confirmation false  # Disable confirmations
vt config ignore                            # Edit global .vtignore

Project Structure

After cloning/creating, a val directory contains:

  • .vt/ - Metadata (like .git)
  • .vtignore - Files to exclude from sync
  • deno.json - Deno LSP configuration
  • Source files (.ts, .tsx, etc.)

Tips

  • Use vt push --dry-run to preview changes before pushing
  • Use vt checkout --dry-run to preview branch switch effects
  • HTTP vals require "http" in the filename to be recognized as endpoints
  • The vt watch command enables live reloading with the browser companion extension

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

ideation

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

implementation-guide

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

html-tools

No summary provided by upstream source.

Repository SourceNeeds Review