mcpField
D
dce

dce

github.com/daocloudCloud & DevOps1337 installsUpdated 6d ago
Repository

About dce

A skill for using the `dce` CLI to discover and run generated API commands. It emphasizes inspecting command details, resolving authentication, and checking mutation safety before execution.

Key features

  1. 01Search generated API commands
  2. 02Inspect command details and schemas
  3. 03Resolve authenticated host selection
  4. 04Preview or confirm mutations
  5. 05Handle JSON and stream outputs
  6. 06Check module availability after 404s

Use cases

  1. 01Finding a command for an API task
  2. 02Verifying flags and request body before execution
  3. 03Checking host and authentication requirements
  4. 04Investigating module-level 404 responses

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/daocloud/daocloud-skills --skill dce

After installing, type/dcein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

.lathe-skill
agents/
openai.yaml
references/
catalog.md
references/modules/
ai-lab.md
billing-center.md
business-cockpit.md
container-management.md
elasticsearch.md
global-management.md
insight.md
kafka.md
llm-studio.md
microservice-engine.md
minio.md
mongodb.md
mysql.md
operations-management.md
postgresql.md
rabbitmq.md
redis.md
rocketmq.md
seaweedfs.md
virtual-machines.md
workbench.md

Details

From the project README

dce CLI

Use this skill when a user asks you to operate dce, inspect its API commands, or find the right generated command for an API task.

Workflow

  1. Search for candidates with dce search "<intent>" --json; use --limit when needed. Search is only candidate discovery.
  2. Inspect the exact command with dce commands show <path...> --json before executing an unfamiliar command.
  3. If the command detail has auth.required=true, run dce auth status -o json before execution and read hostname and source. Host resolution order: --hostname > $DCE_HOST > the selected host (dce auth use <host>) > http.default_hostname > the single host in hosts.yml. If none applies, stop and ask the user to authenticate or select a host.
  4. Execute only after flags, body, auth, HTTP path, mutation, dry_run, and output hints are clear from commands show. When mutation is not read, preview with --<dry_run.flag> if dry_run.mode is http_preview; if preview is unavailable, obtain explicit user confirmation before execution.

General Commands

  • dce commands --json: full generated command catalog.
  • dce commands --include-hidden --json: include hidden generated commands.
  • dce commands show <path...> --json: source of truth for one command.
  • dce commands schema --json: catalog schema version, surfaces, and dry-run result shape.
  • dce search "<intent>" --json: ranked candidate commands.
  • dce auth status -o json: resolved hostname, its source, the selected host, and every logged-in host.

Maintenance Commands

  • dce --version or dce -v: print CLI build version.

References

  • Read references/catalog.md for the command discovery protocol and catalog field meanings.
  • Read references/modules/ai-lab.md for the ai-lab module command index.
  • Read references/modules/billing-center.md for the billing-center module command index.
  • Read references/modules/business-cockpit.md for the business-cockpit module command index.
  • Read references/modules/container-management.md for the container-management module command index.
  • Read references/modules/elasticsearch.md for the elasticsearch module command index.
  • Read references/modules/global-management.md for the global-management module command index.
  • Read references/modules/insight.md for the insight module command index.
  • Read references/modules/kafka.md for the kafka module command index.
  • Read references/modules/llm-studio.md for the llm-studio module command index.
  • Read references/modules/microservice-engine.md for the microservice-engine module command index.
  • Read references/modules/minio.md for the minio module command index.
  • Read references/modules/mongodb.md for the mongodb module command index.
  • Read references/modules/mysql.md for the mysql module command index.
  • Read references/modules/operations-management.md for the operations-management module command index.
  • Read references/modules/postgresql.md for the postgresql module command index.
  • Read references/modules/rabbitmq.md for the rabbitmq module command index.
  • Read references/modules/redis.md for the redis module command index.
  • Read references/modules/rocketmq.md for the rocketmq module command index.
  • Read references/modules/seaweedfs.md for the seaweedfs module command index.
  • Read references/modules/virtual-machines.md for the virtual-machines module command index.
  • Read references/modules/workbench.md for the workbench module command index.

Rules

  • Do not guess flags or request body shape from command names.
  • Do not execute directly from search results; confirm with commands show first.
  • When mutation is not read, preview before execution if dry_run.mode is http_preview. If preview is unavailable, obtain explicit user confirmation before execution. unknown is not safe to treat as read.
  • Prefer -o json for machine-readable command output unless the user asks for human-readable output.
  • With -o json or -o yaml, branch on error.code and process exit status; error.message and error.hint are safe human guidance, and error.http.status is the only optional HTTP context.
  • A configured stream pause is successful (exit 0); inspect the collected output field mapped from the pause event instead of treating it as an error.
  • For collected streams, choose one mode: -o json for one stable document, --stream in the default output mode when catalog output.streaming.policy.live is present, or -o raw for wire events.
  • Use --file, --set, or --set-str for JSON request bodies according to commands show body requirements.
  • When body.runtime_schema is present, normal execution fetches and validates against that schema before the target request; an http_preview dry-run stays network-free and skips this preflight.
  • For sensitive flags, prefer safe modes from flags[].input_modes: --<flag>-env, --<flag>-file, or --<flag>-stdin.

Module availability

The catalog (dce commands / dce search) lists every module dce was built with, regardless of which modules are actually installed on the target host. A command appearing in the catalog does not guarantee its module is deployed.

A 404 / route-not-found at the module path level (the API route itself does not exist, not a specific object) is ambiguous: the module may not be installed, or the path/version may be wrong. On such a 404, actively confirm before concluding by running dce global-management about list-g-product-versions -o json (global-management is the always-present base module, so this is always available). Then:

  • Module not in the list → it is not installed on this host. Do not retry, do not try sibling commands in the same module, and do not tell the user the capability exists — state plainly that the module is not installed.
  • Module in the list → it is installed, so the 404 is not a missing module. Re-check the exact path and params with dce commands show <path...> --json (likely a wrong path/version or a resource-level not-found); do not report the module as missing.
  • Resource-level 404 (a specific ID/name on an otherwise-working module) means that object doesn't exist, not that the module is missing — handle that normally.

Comments

Markdown supported