Build from a chat AI (no terminal) #
Prompt: paste this into your AI coding tool.
Build this app and put it online. I only have this chat.
A chat AI with a signed-in Turn Zero connection can deploy a small app and manage its services without running terminal commands. This page lists what its tools can do and when to ask a person with a terminal.
What your AI tool does #
Your AI coding tool writes the application, deploys files it can supply, and checks the running app through Turn Zero's tools. A terminal is needed for local builds and tests, and for deployments beyond the chat upload limits.
What you need #
Connect your chat AI, such as claude.ai, through Connect your AI coding tool. Complete sign-in in your browser. The connection must expose the tools for each product you use.
Before your AI starts #
Check your available tools and call start to read the account and applications your connection reaches. Follow the connected tool's approval rules, and ask the person for any decision their request leaves open.
Read the relevant guide and skill before changing an application. Use read_documentation if you cannot fetch a linked page, and follow its continuation until you have the text you need.
Steps #
1. Choose the capabilities you need #
These tools work through the connection. Writing application code for a service is separate from calling a tool that configures or reads it.
| Capability | Tools and what you can do | Guide |
|---|---|---|
| Connect the chat | The person adds the connector and signs in. Use start to check the connection. |
Connect your AI coding tool |
| Deploy application files | Use create_application, submit_manifest, check_deploy, and deploy_files. Read read_status and check routes with request_route. |
Deploy from a chat |
| Use file storage | Use declare_storage_area and list_storage_areas to manage declarations. Write the app's file operations using the Storage package. Uploading a file from a computer needs the separate hand-off below. |
Store files |
| Use a database | Declare the database with submit_manifest and deploy its server and migrations through deploy_files. Use query_database for read-only SQL. |
Build a database-backed service without a shell |
| Run scheduled work | Declare a schedule and deploy its handler. Use run_schedule for a manual run and read_schedules to read its result. |
Add a scheduled job |
| Read logs and counters | Use read_status, read_logs, and read_counters. Counters report the events your application's code records. |
Read logs and counters |
| Sign in the app's users | Declare the accounts service, add the Account package to the app, and use read_realm and configure_realm for sign-in settings. |
Add sign-in to your app |
| Track issues with tzTrack | Use tztrack_raise, tztrack_find, tztrack_read, and the other issue tools to keep work across conversations. |
Set up tzTrack |
| Report a platform problem | Use submit_feedback with the problem and any error reference. Leave out personal details and secrets. |
submit_feedback |
2. Check whether the app fits #
For deployment, follow Deploy from a chat. Supply complete text, or binary bytes you actually hold as base64. A filename or a path on the person's computer does not give you the file's contents.
| Limit | What it means for a chat AI |
|---|---|
| Each supplied file | At most 512 KiB, counted in decoded bytes. Base64 does not raise the limit. |
| Complete deployment | At most 200 listed files and 4 MiB in total. Library files the platform fills count toward the byte total, but not the listed-file count. |
| Each JSON request | At most 4 MiB. Base64 increases the body size by about a third. Send contents in several calls and use the hashes returned in kept for the complete list. Deployment limits still apply. |
| File access | Send only contents your tools can read or produce. Do not truncate a file, invent binary bytes, or claim to read a local path you cannot access. |
| Builds and local tests | Without a shell, you cannot run them. Deployment checks cover configuration and source syntax, not all runtime behavior. |
| Production test data | Ask before writing test data to production unless the person explicitly approved that write. A request to build, deploy, or test alone does not approve it. |
Leave out node_modules and the Turn Zero library folders the platform fills. Read each required library entry with read_library_entry and use its returned version in the manifest. Cloud installs runtime dependencies; a project that needs a separate build must supply its built output.
3. Hand off work that needs a terminal #
Ask a person with a terminal when a whole-folder deployment exceeds those limits, or the project needs local builds or tests. Explain the missing step and give the person the source files and application identifier.
For a local build or test, give the exact command defined by the project's package.json or its build instructions. Ask for the command's result; do not report that it passed before the person supplies it.
For a whole-folder deploy, follow Deploy from your computer. The person needs Node.js 24 or later, network access, and computer authorization.
Call check_deploy for platform checks and resolve its refusals. A hosted chat connector omits the check command lines; do not ask the person to run a line the response lacks.
Call deploy to prepare the whole-folder command. Give the person its exact command_npx line, or command_npx_windows on Windows, to run from the application folder. This call prepares the command; the person runs it. The command checks and uploads that folder. Do not ask the person to paste a token into chat.
For uploading a file into storage, An upload grant from your tool explains the commands and their expiry. It requires a terminal that can read the file; a chat attachment alone does not perform that upload.
4. Verify what ran #
Follow read_status until the deploy ends. Use request_route for the health path and the routes the person needs, and read logs when a check fails.
Where your host supports a browser, follow Test sign-in with test end users. Otherwise, tell the person which browser checks remain. A healthy response alone does not prove sign-in or an AI answer works.
If a deployment response is lost, read status before retrying. A missing response does not establish that nothing started.
Expected result #
The application is deployed and the routes you checked respond as expected. Report its returned address and version, the checks you completed, and any work that still needs the person or a terminal.
Refusals #
| Refusal | Cause | Remedy |
|---|---|---|
deploy_files_too_large |
The deployment exceeds a limit named by the refusal. | Use the terminal hand-off in step 3. |
| A required tool is absent | The chat may be signed out, or the product may be turned off. | Follow Connect your AI coding tool to check sign-in and product selection. |
For other refusals, follow the named remedy in Refusals. Respect your host's tool restrictions.
Related #
- Ways to deploy compares the available deployment routes.
- Deploy from a chat gives the complete file deployment procedure.
- What happens without asking explains approval and production-data rules.