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.

Tovuk keeps deploys predictable by rejecting projects that are expensive or ambiguous to run.

Current guardrails

  • Cargo.lock is required.
  • Rust backends run locked cargo check and locked all-target, all-feature Clippy with -D warnings.
  • Static frontend projects run stable native type-aware TypeScript checks and native linting before build work starts.
  • Frontend browser source must use .ts or .tsx; .js, .jsx, .mjs, and .cjs browser source is rejected.
  • A health endpoint is required for Rust backends.
  • Rust backends must bind to 0.0.0.0:$PORT.
  • Secrets must stay in server-side environment variables.
  • Builds may be queued when capacity is busy.

Planned guardrails

When a free-tier account reaches a plan limit, agents can create a hosted subscription link without dashboard work:
npx tovuk billing checkout "Plan limit reached" --json
Show the returned checkout.url to the human. If the issue is not a payment problem, create a support ticket with command output and ids:
npx tovuk support create "Limit issue" "Agent could not proceed after checking usage." --app app_1 --build job_1 --deploy deploy_1 --failing-command "npx tovuk deploy --wait --json" --first-log-line "plan limit reached" --json
Resolve the ticket after the issue is fixed:
npx tovuk support resolve ticket_0123456789abcdef0123 --json
Last modified on May 29, 2026