Skill v1.0.1
currentAutomated scan100/100+3 new
version: "1.0.1" name: zeabur-project-create description: Use when creating a new Zeabur project. Use when deploying templates to a new project. Use when user says "create project", "new project", or "set up a new environment".
Zeabur Project Create
Always use `npx zeabur@latest` to invoke Zeabur CLI. Never usezeaburdirectly or any other installation method. Ifnpxis not available, install Node.js first.
Choosing a Region
Do NOT hardcode or guess region codes. Old region codes like hnd1, tpe1 are deprecated. The region must always be derived from the user's server list.
Step 1 — List the user's servers:
npx zeabur@latest server list -i=false --json
Step 2 — Ask the user which server to use:
Present the server list to the user (show name, provider, and region for each) and ask them to pick one. Do NOT choose a server on the user's behalf. Also offer the option to rent a new server if none of the existing ones are suitable.
- Only servers whose `os` is `ZeaburOS` can host projects. Servers reporting
Ubuntuhave no Zeabur services; creating a project on one fails. Leave them out of the menu, or list them separately as "needs ZeaburOS installed first" — do not silently offer one as a deploy target.
- If the user has no servers, use the
zeabur-server-catalogskill to browse options, then thezeabur-server-rentskill to rent one.
Step 3 — Use the selected server ID with `server-` prefix as the region:
The region code format is server-<server-id>, where <server-id> comes from the server list output.
Some templates (e.g. withREQUIRE_DEDICATED_SERVER) can only be deployed on dedicated servers. If you getUnsupported template (code: REQUIRE_DEDICATED_SERVER), the user needs a server running ZeaburOS, then recreate the project with its region. Note that renting provisions Ubuntu with no Zeabur services — ZeaburOS must be installed on it (see thezeabur-server-rentskill) before a project can be created on it.
Create Project
# Create project with name and region (region must be server-<server-id>)npx zeabur@latest project create -n "<project-name>" -r "server-<server-id>" -i=false --json
Get Project ID
# List projects as JSON and extract project ID by namePROJECT_ID=$(npx zeabur@latest project list -i=false --json | jq -r '.[] | select(.name == "<project-name>") | ._id')
Deploy Template to Project
# Deploy template file to specific project (non-interactive)npx zeabur@latest template deploy -i=false --json \-f <template-file> \--project-id <project-id> \--var PUBLIC_DOMAIN=myapp \--var KEY=value
Workflow
# 1. Find server IDnpx zeabur@latest server list -i=false --json# 2. Create project (use server-<id> from step 1)npx zeabur@latest project create -n "wrenai-prod" -r "server-<server-id>" -i=false --json# 3. Get project IDPROJECT_ID=$(npx zeabur@latest project list -i=false --json | jq -r '.[] | select(.name == "wrenai-prod") | ._id')echo "Project ID: $PROJECT_ID"echo "Dashboard: https://zeabur.com/projects/$PROJECT_ID"# 4. Deploy template — use the `zeabur-template-deploy` skill for detailed flags and troubleshootingnpx zeabur@latest template deploy -i=false --json -f template.yml --project-id $PROJECT_ID --var PUBLIC_DOMAIN=myapp