A generated CLI and AI skill package for DaoCloud Enterprise (DCE). It wraps the DCE REST API into a dce command-line tool and bundles a companion skill for AI agents.
dce— a CLI generated from DCE OpenAPI specs across supported modules. Supports API discovery, search, and execution with built-in auth management.skills/dce— an AI agent skill that teaches agents how to usedcesafely.
Currently supported products:
| Module | Description |
|---|---|
global-management |
Global Management — users, groups, workspaces, roles, audit |
container-management |
Container Management — clusters, namespaces, workloads, storage |
insight |
Insight — observability, metrics, alerting, and related operations |
operations-management |
Operations Management — cost allocation, operational reports, and alarm reports |
ai-lab |
AI Lab — notebooks, jobs, datasets, models, inference, queues, and GPU resources |
llm-studio |
LLM Studio — model catalog, inference serving, API keys, token usage, and workspace AI dashboards |
workbench |
Application Workbench — applications, pipelines, GitOps, and deployment |
billing-center |
Billing Center — products, pricing, orders, bills, and transactions |
business-cockpit |
Business Cockpit — business operations KPIs, revenue metrics, and cost analytics |
elasticsearch |
Elasticsearch — search cluster lifecycle and instance management |
kafka |
Kafka — event-streaming cluster lifecycle and instance management |
minio |
MinIO — object-storage cluster lifecycle and instance management |
mongodb |
MongoDB — document-database cluster lifecycle and instance management |
mysql |
MySQL — relational-database cluster lifecycle and instance management |
postgresql |
PostgreSQL — relational-database cluster lifecycle and instance management |
rabbitmq |
RabbitMQ — message-broker cluster lifecycle and instance management |
redis |
Redis — in-memory data-store cluster lifecycle and instance management |
rocketmq |
RocketMQ — messaging cluster lifecycle and instance management |
seaweedfs |
SeaweedFS — distributed-storage cluster lifecycle and instance management |
virtual-machines |
Virtual Machines — VM lifecycle, disks, snapshots, templates, and migration |
microservice-engine |
Microservice Engine — gateways, registries, Nacos, Sentinel, and mesh operations |
- Go 1.25+
- Git (for spec sync)
- Docker with buildx (for container image builds)
Quick Start is for contributors building from source. If you only want to use the CLI, skip to Install the CLI.
# Sync OpenAPI specs and regenerate code
make bootstrap
# Build dce
make build
# Install dce and symlink skill for local development
make devThe make dev target installs dce to /usr/local/bin and symlinks skills/dce into ~/.agents/skills/dce. After make dev, you can jump straight to Usage; you do not need to run "Install the Skill" or "Install the CLI" below.
Only needed if you want to install this repository's skills into an AI agent environment without running make dev. This installs the skills only (it does not install the dce CLI binary).
Install all skills globally (--skill '*' selects every skill in the repo):
npx skills add daocloud/daocloud-skills --skill '*' -gFor non-interactive installs, add confirmation flags:
npx -y skills add daocloud/daocloud-skills --skill '*' -g -yThe -g flag installs the skills into the selected agent's user-level skills directory, so they are available across projects. Omit -g if you want to install them only for the current project.
This installs the skills only. They help an AI agent operate DCE, but do not install the dce CLI. Install the CLI separately before running DCE operations.
--skill '*' installs all skills in the repo. To install only specific ones, pass their names instead, e.g. --skill dce (run the --list command below to see the available names).
The CLI auto-detects installed agents and installs to them. Use --agent to target specific AI coding agents instead. Common client targets include:
Claude Code
npx skills add daocloud/daocloud-skills --skill '*' -g --agent claude-codeCodex
npx skills add daocloud/daocloud-skills --skill '*' -g --agent codexCursor
npx skills add daocloud/daocloud-skills --skill '*' -g --agent cursorUse --agent more than once to install into multiple agents at once:
npx skills add daocloud/daocloud-skills --skill '*' -g \
--agent claude-code \
--agent codex \
--agent cursorThis installs from the repository's default branch. To inspect the available skills (and their names, for --skill) before installing:
npx skills add daocloud/daocloud-skills --listTo uninstall a skill, use remove with its name and the same agent target:
npx skills remove -g dce --agent codexAfter installation, open a new agent session and ask it to use the dce skill for DCE operations, for example:
Use the dce skill to list DCE clusters.
The recommended way is via npm:
npm install -g @daocloud-cli/dceOr run on demand without a global install:
npx @daocloud-cli/dce --helpThe npm package downloads the matching prebuilt binary from GitHub Releases on install and verifies it against checksums.txt. Supported platforms: darwin/linux on amd64/arm64, Node.js >= 16.
Alternatively, download a prebuilt archive from GitHub Releases directly:
VERSION=v0.2.0-rc.4
OS=darwin
ARCH=amd64
PKG="dce-${VERSION}-${OS}-${ARCH}"
curl -fL "https://github.com/DaoCloud/daocloud-skills/releases/download/${VERSION}/${PKG}.tar.gz" -o dce.tar.gz
tar -xzf dce.tar.gz
sudo install -m 0755 "${PKG}/dce" /usr/local/bin/dceUse OS=darwin for macOS and OS=linux for Linux. Use ARCH=arm64 for Apple Silicon or ARM64 Linux, and ARCH=amd64 for Intel macOS or x86_64 Linux.
Verify the CLI is available:
dce --helpFor source builds from this repository:
make build
sudo cp bin/dce /usr/local/bin/dceFor local development, use make dev to build the CLI, copy it to /usr/local/bin/dce, and symlink the local skill directory:
make dev# Log in to a DCE instance
dce auth login --hostname https://<dce-host>
# Browse available commands
dce commands --json
# Search for a command by intent
dce search "list clusters" --json
# Inspect a command before executing
dce commands show container-management cluster list-clusters --json
# Execute a command
dce container-management cluster list-clusters -o jsonThe image bundles the dce binary and the skills/dce directory under /app/, intended for use as a Kubernetes init container to distribute the tooling into a shared volume.
# Build multi-arch image locally
make image
# Build and push to registry
make image-push IMAGE_REPO=registry.example.com/dce IMAGE_TAG=v1.0.0Default values: IMAGE_REPO=daocloud/dce, IMAGE_TAG=latest.
initContainers:
- name: install-dce
image: daocloud/dce:latest
command:
- sh
- -c
- |
cp /app/dce /target/bin/dce
cp -r /app/skills/dce /target/.agents/skills/dce
volumeMounts:
- name: tools
mountPath: /target
volumes:
- name: tools
emptyDir: {}After the init container completes, the shared volume contains:
/target/bin/dce— CLI binary/target/.agents/skills/dce/— AI agent skill
| Target | Description |
|---|---|
make bootstrap |
Sync specs + regenerate all code |
make specsync |
Pull latest OpenAPI specs from upstream |
make codegen |
Regenerate Go code and skill references from specs |
make sync-one SOURCE=<name> |
Sync and regenerate a single source (e.g. ghippo) |
make build |
Build bin/dce |
make image |
Build multi-arch image locally (linux/amd64, linux/arm64) |
make image-push |
Build and push multi-arch image to registry |
make dev |
Build, install, and symlink skill for local debugging |
make dev-clean |
Remove installed binary and skill symlink |
make clean |
Remove .cache and bin |
.
├── cli.yaml # CLI name and auth config
├── specs/sources.yaml # OpenAPI source definitions (pinned commits)
├── internal/
│ ├── generated/ # Generated Go command modules (do not edit)
│ └── overlay/ # Per-source field overrides for codegen
├── skills/dce/ # AI agent skill (SKILL.md + references)
├── docs/ # Developer guides
├── cmd/dce/main.go # CLI entrypoint
└── doc.go # Embeds cli.yaml for use by main
- Adding a new product — step-by-step guide for onboarding a new DCE product (spec source, overlay, codegen, verification)
specsyncclones the pinned commit ofdaocloud-api-docsand extracts the OpenAPI JSON files into.cache/specs-sync/.codegenreads each spec, applies the overlay frominternal/overlay/<source>.yaml, and emits:- Go cobra subcommands under
internal/generated/<source>/ - A command index at
skills/dce/references/modules/<source>.md - An updated
internal/generated/modules_gen.gothat mounts all modules
- Go cobra subcommands under
go buildcompiles everything into a single static binarybin/dce.
Overlay files are the only place where human-maintained configuration lives — everything else is generated and should not be edited by hand.
Update the pinned_tag for the relevant source in specs/sources.yaml, then run:
make sync-one SOURCE=<name>