Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.tovuk.com/llms.txt

Use this file to discover all available pages before exploring further.

Use this page when an AI coding agent is deploying with Tovuk.

The loop

  1. Run npx tovuk doctor --json.
  2. If it fails, fix the first failed check by following agent_instruction.
  3. Run npx tovuk doctor --json again.
  4. Run npx tovuk deploy --wait --json.
  5. If the build fails, run npx tovuk logs --build <build_id> --json.
  6. Fix the first actionable error from the logs.
  7. Redeploy with the same deploy command.
  8. If a plan limit blocks the deploy, run npx tovuk billing checkout --json and show the returned checkout.url to the human.
  9. If Tovuk itself needs help, create a support ticket with the exact command, app id, build id, deploy id, and first actionable log line.
  10. Resolve the support ticket after the agent fixes the issue.
Do not weaken Rust lints, TypeScript strictness, stable native frontend typechecking, native frontend linting, or unsafe restrictions to pass Tovuk checks. Do not create JavaScript or TypeScript backends. Keep JS/TS in static frontend browser code only; move API routes, SSR handlers, middleware, and server logic to Rust.

Deploy prompt

Use Tovuk to deploy this project. Read https://docs.tovuk.com/llms.txt first.
Run `npx tovuk doctor --json`. Fix the first failed check by following
`agent_instruction`, then rerun doctor. Deploy with
`npx tovuk deploy --wait --json`. If the build fails, read
`npx tovuk logs --build <build_id> --json`, fix the first actionable
error, and redeploy. Use `--database` only when the Rust backend needs managed
Postgres.

Support loop

Create support tickets only with enough evidence for a Tovuk support agent or operator agent to act:
npx tovuk support create \
  "Deploy failed" \
  "Agent already ran doctor and retried deploy." \
  --app app_1 \
  --build job_1 \
  --deploy deploy_1 \
  --failing-command "npx tovuk deploy --wait --json" \
  --first-log-line "cargo check failed in src/main.rs" \
  --severity normal \
  --json
Before opening another ticket, list recent tickets:
npx tovuk support list --json
After the issue is fixed, resolve the ticket:
npx tovuk support resolve ticket_0123456789abcdef0123 --json
When a limit is the blocker, create a hosted Stripe subscription checkout link:
npx tovuk billing checkout "Project limit reached" --json

Starter prompt

Create a Tovuk fullstack project. Run
`npx tovuk init my-app --template fullstack-rust-tanstack`, then install
frontend packages in `my-app/web`. Keep dynamic server logic in the Rust backend.
Keep the TanStack frontend static at runtime and call same-origin `/api`. Run
doctor in JSON mode, preview from the repo root when local tools are installed,
then deploy from the repo root.

Log commands

npx tovuk overview --app app_1 --json
npx tovuk builds --app app_1 --json
npx tovuk logs --build job_1 --json
npx tovuk logs --deploy deploy_1 --json
npx tovuk logs --app app_1 --json
npx tovuk billing checkout --json
npx tovuk support list --json
npx tovuk support resolve ticket_0123456789abcdef0123 --json
logs --build is the best first command after a failed deploy. Use logs --app when you need the latest runtime and deploy context for one app.
Last modified on May 29, 2026