cloudbase-declarative-deploy skill
✓ DoğrulandıCloudBase projelerini, build-plan-apply iş akışı aracılığıyla deklaratif bir cloudbaserc yapılandırması kullanarak dağıtır.
- GitHub yıldızları
- 1.164
- Dosyalar
- 5
- Son commit
- 11 Kas 2026
- Lisans
- MIT
- İzin verilen araçlar
- —
cloudbase-declarative-deploy skill ne işe yarar?
cloudbase-declarative-deploy bir agent skill'dir. CloudBase projelerini, build-plan-apply iş akışı aracılığıyla deklaratif bir cloudbaserc yapılandırması kullanarak dağıtır.
Özet, skill'in SKILL.md dosyasından oluşturuldu.
cloudbase-declarative-deploy skilli hakkında
Bu SKILL, karmaşık bulut altyapılarını yöneten geliştiricilerin tüm CloudBase projelerini tek bir istenen durum olarak dağıtmasına olanak tanır. Bir agent, cloudbaserc yapılandırma dosyasını kullanarak veritabanı, fonksiyon, uygulama, hosting ve gateway dağıtımlarını belirli bir bağımlılık sırasına göre orkestre edebilir. Bu durum, özellikle production veya staging gibi çoklu ortam kurulumlarını environment override yöntemleriyle yöneten ekipler için oldukça kullanışlıdır.
Yerel bir ortamda iş akışı, katı bir build-plan-apply dizisini takip eder. Bir agent önce statik hosting artefaktları için deployBuild kullanmalı, ardından değişiklikleri önizlemek ve bir dry-run gerçekleştirmek için deployPlan çalıştırmalı ve son olarak değişiklikleri onaylamak için bir onay bayrağı ile deployApply komutunu yürütmelidir. Yerel dosya sistemlerinin mevcut olmadığı bulut tabanlı MCP modlarında ise SKILL, yerel shell komutları yerine bulut tarafındaki pipeline'ları kullanarak fonksiyonlar ve uygulamalar için iki adımlı bir yükleme kanalına geçer. Bu sayede, yerel erişim olmasa bile kaynaklar güvenli yükleme URL'leri ve bulut tabanlı derleme süreçleri aracılığıyla dağıtılabilir.
Bir agent bununla neler yapabilir
- 1Altyapı değişikliklerini önizleyinCanlı değişiklikler yapmadan önce tam olarak hangi kaynakların oluşturulacağını, güncelleneceğini veya atlanacağını görmek için bir dry-run çalıştırın.
- 2Çoklu kaynaklı projeleri dağıtınTek bir yapılandırma dosyası kullanarak veritabanları ve fonksiyonlar dahil olmak üzere eksiksiz bir projeyi dağıtın.
- 3Çoklu ortam dağıtımlarını yönetinEnvironment override kullanarak production veya staging gibi farklı dağıtım hedeflerini yönetin.
- 4Statik hosting'i yerel olarak derleyinDağıtım süreci başlamadan önce hosting siteleri için yerel derleme artefaktları oluşturun.
Skill'in SKILL.md dosyasından yazılmıştır. Her kullanım durumu oradaki bir alıntı ile kontrol edilir.
cloudbase-declarative-deploy skill nasıl kurulur
Her komut, skill klasörünü istemcinin skills dizinine kopyalar. Yüklemek için istemciyi yeniden başlatın veya yeni bir oturum başlatın.cloudbase-declarative-deploy skill'ini Claude Code uygulamasına kur
~/.claude/skills/cloudbase-declarative-deploy/SKILL.md
$ npx degit TencentCloudBase/CloudBase-AI-Toolkit/config/.claude/skills/cloudbase-declarative-deploy ~/.claude/skills/cloudbase-declarative-deploycloudbase-declarative-deploy skill'ini Claude Code (project) uygulamasına kur
.claude/skills/cloudbase-declarative-deploy/SKILL.md
$ npx degit TencentCloudBase/CloudBase-AI-Toolkit/config/.claude/skills/cloudbase-declarative-deploy .claude/skills/cloudbase-declarative-deploycloudbase-declarative-deploy skill'ini Codex uygulamasına kur
~/.agents/skills/cloudbase-declarative-deploy/SKILL.md
$ npx degit TencentCloudBase/CloudBase-AI-Toolkit/config/.claude/skills/cloudbase-declarative-deploy ~/.agents/skills/cloudbase-declarative-deploycloudbase-declarative-deploy skill'ini Gemini CLI uygulamasına kur
~/.gemini/skills/cloudbase-declarative-deploy/SKILL.md
$ npx degit TencentCloudBase/CloudBase-AI-Toolkit/config/.claude/skills/cloudbase-declarative-deploy ~/.gemini/skills/cloudbase-declarative-deploycloudbase-declarative-deploy skill'ini Claude.ai uygulamasına kur
npx degit TencentCloudBase/CloudBase-AI-Toolkit/config/.claude/skills/cloudbase-declarative-deploy cloudbase-declarative-deploy && zip -r cloudbase-declarative-deploy.zip cloudbase-declarative-deploy # claude.ai → Customize → Skills → + → Create skill → Upload a skill → cloudbase-declarative-deploy.zip
Otomatik kontroller
Çalıştırıldı 15 Kas 2026Tam rapor →Otomatik kontrollerimizi geçti. Bu bir güvenlik denetimi değil: bir ajanın çalıştırmasına izin vermeden önce betikleri okuyun. Kontroller nasıl çalışır
- Kaynak deposu bağlantılı ve erişilebilirtencentcloudbase/cloudbase-ai-toolkit/config/.claude/skills/cloudbase-declarative-deploy is public and reachablegithub.com/tencentcloudbase/cloudbase-ai-toolkit/tree/HEAD/c ↗Geçti
- Açık kaynak lisansı (OSI)MITspdx.org/licenses/MIT.html ↗Geçti
- Son bir yıl içinde commit veya sürüm mevcutLast commit 2026-11-11github.com/tencentcloudbase/cloudbase-ai-toolkit/commits ↗Geçti
- Betiklerde indir-çalıştır veya kimlik bilgisi hırsızlığı yokNo scripts in the skill folderGeçti
- SKILL.md içinde gizli talimat yokNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/tencentcloudbase/cloudbase-ai-toolkit/blob/HEAD/c ↗Geçti
- Önceden izin verilen araçlar sınırlıNo pre-approved tools; the agent asks before using onegithub.com/tencentcloudbase/cloudbase-ai-toolkit/blob/HEAD/c ↗Geçti
- SKILL.md, Agent Skills biçimine uyuyorValid name and description; says when to use it; 261 linesgithub.com/tencentcloudbase/cloudbase-ai-toolkit/blob/HEAD/c ↗Geçti
SKILL.md
GitHub'da görüntüleCloudBase Declarative Deploy
Deploy a whole CloudBase project from one cloudbaserc config as desired state,
using the deployBuild (local hosting build), deployPlan (dry-run) and deployApply
(apply) MCP tools. The orchestrator applies resources in a fixed dependency order:
database → functions → app → hosting → gateway
Sibling skills (local only)
Sibling CloudBase skills ship beside this skill. Use local relative paths such as
../cloudbase-cli/SKILL.md.
Cloud-hosted MCP mode does not guarantee access to a local workspace filesystem or stable relative paths. If a referenced sibling file is not available in cloud mode, use this skill's embedded guidance as source of truth and ask the user for any missing constraints (or to install the missing skill). Do not HTTP-fetch remote skill or protocol markdown into the agent context.
Cross-cutting protocols (required before applying any deploy):
- Change Safety Protocol:
../cloudbase-platform/references/protocols/change-safety-protocol.md - Deployment Gate:
../cloudbase-platform/references/protocols/deployment-gate.md
When to use this skill
- The project has a
cloudbaserc.json/.yaml/.yml/.jsdescribing multiple resources, and the user wants to deploy them together as one config. - The user asks for 声明式部署 / 配置式部署 / "deploy from cloudbaserc" / "deploy the whole project".
- The user wants to preview what a deploy will change before applying (dry-run plan).
- The user wants to build the static hosting artifact locally first (declarative
hosting deploys no longer build implicitly — see
deployBuild). - Multi-environment deploy: production/staging via
mode+envOverrides.
Do NOT use for
- Deploying a single cloud function or one static site via
tcbCLI →../cloudbase-cli/SKILL.md. - In-app SDK integration (web/miniprogram/node) → the matching SDK skill.
- Console UI operations.
Cloud mode: deploy through the two-step upload channel
deployBuild / deployPlan / deployApply in this skill are the local-form declarative
executor. In cloud-hosted MCP mode they are intentionally not registered, because that
runtime has no local cwd and no filesystem-bound execution path.
This is an execution-channel switch, not a capability gap. Everything still deploys, but the artifact is uploaded first and the build runs in the cloud. If those three tools are missing from the tool list, that is expected — pick the channel that matches the resource.
Cloud functions — two-phase zip
queryFunctions(action=getFunctionUploadUrl, functionName?)returnsuploadUrl,uploadHeaders,cosBucketName,cosBucketRegion,cosObjectName,expiresInSecondsPUTthe function zip touploadUrlwithuploadHeadersmanageFunctions(action=createFunction|updateFunctionCode, code={cosBucketName, cosObjectName, cosBucketRegion?})— phase B deploys from the environment's own COS bucket (deployMode=cos); pass the triple through unchanged, the schema is strict
contentPath (a local directory) is rejected in cloud mode. For layer contents use
base64Content; for code use the two-phase path above.
CloudApp — two-step upload plus a cloud pipeline
queryApps(action=getUploadUrl, serviceName=...)returnsuploadUrl,uploadHeaders,unixTimestamp- Upload the source/build zip to
uploadUrlwith the returned headers (Content-Type: application/zip)- Public dependencies resolvable from a lockfile:
package.jsonplus lockfile is enough - Private or offline dependencies: package
node_modulesexplicitly
- Public dependencies resolvable from a lockfile:
manageApps(action=deployApp, cosTimestamp=<unixTimestamp>, installCmd?, buildCmd?, deployCmd?)installCmd/buildCmd/deployCmdare pipeline declarations executed in the cloud container; you pass data and declarations, you do not run local shell commands
Static hosting — route through CloudApp
manageHosting(action=upload) is blocked in cloud mode because it needs a local path.
Deploy a static site through the CloudApp two-step upload above (upload the prebuilt
artifact, exclude node_modules). Uploading or downloading an already-hosted file has no
remote substitute and needs local mode. The other hosting actions (delete,
setWebsiteDocument, enableService, bindDomain, unbindDomain, updateDomain) remain
available.
What cloud mode does not give you
- No dry-run. There is no
deployPlanagainst a localcloudbaserc. Do not claim a plan was generated or reviewed in cloud mode; state what is about to be deployed and what the upload contains. Roadmap: uploadcloudbasercas a data artifact, then run server-side plan/apply orchestration. - No local project context.
mode/envOverridesresolution from a project file does not apply; pass the target environment explicitly.
For parameter details, see references/plan-and-apply.md (Cloud-hosted upload pipeline path).
Core principles
-
Plan before apply — always. Run
deployPlanfirst (dry-run, zero side effects). Read the per-resource action classification and show it to the user before callingdeployApply. -
Apply requires explicit confirm.
deployApplywill refuse unlessconfirm=trueis passed. This is the destructive-write guard. -
Deployment Gate. Before any apply, complete
cloudbase-platform/references/protocols/deployment-gate.mdand present the mandatory declaration. -
Conservative on existing resources by default.
yesdefaults tofalse→ existing resources are skipped, not overwritten. Only passyes=truewhen the user explicitly wants to overwrite/update existing resources. -
database failure always aborts. Even with
continueOnError=true, a database-stage failure stops the whole deploy, because later resources depend on it. -
Resolve envId explicitly. Never rely on implicit defaults silently — know which environment is targeted (see the priority table below) and confirm it with the user before applying.
Plan action classification
deployPlan returns a list of resource entries. Each status means:
| status | meaning |
|---|---|
create |
new resource, will be created |
update |
exists, will be overwritten/updated |
skip |
no change needed |
conflict |
conflict detected — deploy will abort, must resolve first |
deploy |
direct overwrite upload |
If any entry is conflict, stop and resolve it before applying.
envId resolution priority
explicit envId param > cloudbaserc `envId` > logged-in / bound environment
If none can be resolved, the tool errors out. Prefer confirming the resolved envId with the user before applying to production.
Local workflow (build → plan → apply)
When app or hosting needs built artifacts, declarative deploy is a three-step flow —
deployApply runs no build for either resource type:
- Ensure a
cloudbasercconfig exists under the project root (cwd). - Build first. Which executor depends on the resource:
hostingwith abuildCommand: calldeployBuild({ cwd, mode? })to produce the local artifacts (builds every hosting item; pure-static items without a build command are skipped automatically).app: build it yourself in the project directory —deployBuilddoes not coverapp. RundeployPlanfirst and usebuildHint.buildCommand/buildHint.outputDirto know what to run and where the artifacts must land.- If the build artifacts are missing at apply time,
deployApplyfails withBUILD_OUTPUT_NOT_FOUNDand directs you back to this step. deployBuildneeds noenvIdand noconfirm(local build only, never touches cloud resources); if dependencies are not installed it fails withDEPENDENCY_NOT_INSTALLEDand tells you to run install first.
- Call
deployPlan(optionally withmode,envId,only,skip). Read the plan, and checkbuildHint.artifactReadyon everyapp/hostingitem. - Present the plan + Deployment Gate declaration to the user; get confirmation.
- Call
deployApplywithconfirm=true(plusyes/concurrency/continueOnErroras needed). Reuse the samemode/envId/only/skipas the plan. A hosting item with existing build output is uploaded directly (the tool clears the build command and reportshostingNeutralized: true); rebuild after source changes so the upload is not stale. - Report the applied result back to the user.
For cloud-hosted MCP mode, do not ask for local cwd/filesystem reads; use the
Cloud mode upload-channel flow above.
Build & pipeline execution
Use this mental model: build → plan → apply. The build executor depends on resource type.
deployApply never runs a build — neither for app nor for hosting. buildCommand /
installCommand / framework in cloudbaserc are only used to infer the output
directory; they are never executed by apply.
| resource | typical build executor | deployment path |
|---|---|---|
hosting |
deployBuild (local shell build, run before apply) |
deployApply uploads the built output directly; missing output → BUILD_OUTPUT_NOT_FOUND |
app |
you build it — run the build in the project directory before apply (deployBuild does not cover app) |
deployApply uploads outputDir as-is; missing/empty → BUILD_OUTPUT_NOT_FOUND |
app via cloud pipeline |
CLI tcb app deploy (source zip + cloud build) |
not reachable through deployApply — use the CLI when a cloud build is wanted |
functions |
local zip / cloud build / image pipeline | depends on buildStrategy (zip/cloud/local/image) |
Reading the build context from deployPlan
app and hosting plan items carry a machine-readable buildHint:
"buildHint": {
"buildCommand": "npm run build", // null → nothing to build
"outputDir": "/abs/path/to/dist", // what apply will upload
"artifactReady": false // false → apply will fail
}
Read these fields instead of parsing the localized text in details. When
artifactReady is false: run deployBuild for hosting, or execute
buildHint.buildCommand in the project directory for app; then re-run deployPlan
and confirm artifactReady: true. Never edit the config to work around it.
deployBuild builds every hosting item that has a buildCommand (framework mapping or
package.json auto-detection); it skips pure-static items and does not touch app.
Build failures surface as BUILD_FAILED, missing local dependencies as
DEPENDENCY_NOT_INSTALLED (run install first — deployBuild never installs
dependencies for you).
Build command resolution follows declaration priority:
explicit config > framework mapping defaults > package.json auto-detection
buildCommand / installCommand / deployCmd are declarative intent in config.
Execution ownership depends on path:
- local-form paths: specific steps may run in local shell executor
- cloud-hosted paths: commands are executed by cloud pipeline container (staticCmd), or replaced by prebuilt artifact upload
So the answer to "can cloud mode run local CLI commands" is: execution authority is moved from local shell to cloud pipeline; agent transmits declarations and artifacts.
Routing
| User task | Read |
|---|---|
| cloudbaserc resource fields & desired-state config shape | references/config-schema.md |
| deployPlan → deployApply two-step flow, parameters, safety | references/plan-and-apply.md |
| Multi-env (mode / envOverrides), envId priority, env vars | references/multi-env.md |
Minimum self-check
- Built the hosting artifacts first (
deployBuild) whenhostingdeclares abuildCommand? - Built the
appartifacts yourself (deployBuilddoes not coverapp) and confirmedbuildHint.artifactReady: truein the plan? - Ran
deployPlanand read the action classification beforedeployApply? - Resolved and confirmed the target
envId? - Completed the Deployment Gate declaration before applying?
- Passed
confirm=trueonly after user confirmation? - Left
yes=falseunless overwrite of existing resources was explicitly requested? - Handled any
conflictentries before applying?
Reference index
All packaged reference files (required for skill lint reachability):
Bu becerideki dosyalar
5cloudbase-declarative-deploy skill soruları
cloudbase-declarative-deploy skill'ini Claude Code uygulamasına nasıl kurarım?
npx degit TencentCloudBase/CloudBase-AI-Toolkit/config/.claude/skills/cloudbase-declarative-deploy ~/.claude/skills/cloudbase-declarative-deploy komutunu çalıştırın. Claude Code, skill'leri ~/.claude/skills (tüm projeler) veya .claude/skills (tek proje) konumundan yükler ve açıklaması görevle eşleştiğinde skill'i kullanır.
cloudbase-declarative-deploy skill'ini hangi istemciler kullanabilir?
Agent Skills biçimini okuyan her istemci: Claude Code, Codex, Gemini CLI ve claude.ai (ZIP olarak yükleyin). Skill içindeki betikler yalnızca istemcinin kod çalıştırmaya izin verdiği yerlerde çalışır.
CloudBase kaynakları için dağıtım sırası nedir?
Orkestratör kaynakları sabit bir bağımlılık sırasına göre uygular: önce veritabanı, ardından fonksiyonlar, uygulama, hosting ve son olarak gateway.
Dağıtımımı uygulamadan önce bir dry-run çalıştırabilir miyim?
Evet, deployApply komutunu çağırmadan önce değişiklikleri önizlemek ve bir dry-run gerçekleştirmek için deployPlan aracını kullanmalısınız.
deployApply uygulamamı veya hosting artefaktlarımı otomatik olarak derler mi?
Hayır, deployApply uygulama veya hosting kaynakları için derleme çalıştırmaz; bunları önceden deployBuild veya yerel komutlar kullanarak derlemelisiniz.