mcpField
Z
zeabur-project-create

zeabur-project-create

github.com/zeaburCloud & DevOps39179 installsUpdated 7w ago
Repository

About zeabur-project-create

zeabur-project-create is a skill for creating projects with the Zeabur CLI, for users setting up projects on servers. It first lists available servers and asks the user to choose a region, then supports template deployment.

Key features

  1. 01List servers and region details
  2. 02Create projects on the selected server
  3. 03Retrieve project IDs
  4. 04Deploy templates to projects
  5. 05Require selection of a suitable server

Use cases

  1. 01Create a project on a chosen server
  2. 02Deploy a template after project setup

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/zeabur/agent-skills --skill zeabur-project-create

After installing, type/zeabur-project-createin Claude Code to confirm it loaded.

Details

From the project README

Zeabur Project Create

Always use npx zeabur@latest to invoke Zeabur CLI. Never use zeabur directly or any other installation method. If npx is 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 Ubuntu have 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-catalog skill to browse options, then the zeabur-server-rent skill 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. with REQUIRE_DEDICATED_SERVER) can only be deployed on dedicated servers. If you get Unsupported 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 the zeabur-server-rent skill) 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 name
PROJECT_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 ID
npx 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 ID
PROJECT_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 troubleshooting
npx zeabur@latest template deploy -i=false --json -f template.yml --project-id $PROJECT_ID --var PUBLIC_DOMAIN=myapp

Comments

Markdown supported