DevDesk CLI Usage: devdesk doctor [--json] devdesk files list [--depth 4] [--json] devdesk files read devdesk files create [--content |--stdin] [--parents] devdesk files mkdir devdesk run [--timeout SECONDS] [--] [arguments] devdesk api request [options] devdesk api run [collection runner options] devdesk tools list devdesk tools ... devdesk project inspect [--json] [--files N] devdesk project search [--content] [--limit N] [--json] devdesk project read [--start N] [--max-chars N] [--json] devdesk git status [--json] devdesk git diff [--staged] devdesk git log [--limit N] [--json] devdesk openapi validate [--json] devdesk openapi summary [--json] devdesk openapi operations [--json] devdesk markdown list [--limit N] [--json] devdesk markdown read [--json] devdesk markdown headings [--json] devdesk markdown metadata [--json] devdesk knowledge index [--documents N] [--json] devdesk knowledge search [--limit N] [--json] devdesk knowledge links [--json] devdesk knowledge backlinks [--json] devdesk knowledge issues [--json] devdesk knowledge path [--json] devdesk search [--kind KIND[,KIND]] [--limit N] [--json] devdesk diff files [options] devdesk diff text [options] devdesk diff folders [--ignore NAME] [--all] [--json] [--exit-code] devdesk workspace manifest inspect [--json] devdesk workspace manifest init [--name NAME] [--knowledge-root PATH] [--exclude PATH] [--json] devdesk workspace manifest validate [--json] devdesk workspace manifest print [--json] devdesk workspace manifest upgrade [--json] devdesk snippets list [--query TEXT] [--tag TAG] [--limit N] [--json] [--data-dir PATH] devdesk snippets get [--json] [--data-dir PATH] devdesk snippets add --title TITLE [--content TEXT|--file PATH|--stdin] [--tag TAG] [--json] [--data-dir PATH] devdesk snippets update [--title TITLE] [--content TEXT|--file PATH|--stdin] [--tag TAG] [--json] [--data-dir PATH] devdesk snippets delete --yes [--json] [--data-dir PATH] devdesk notes list [--query TEXT] [--tag TAG] [--folder PATH] [--limit N] [--json] [--data-dir PATH] devdesk notes get [--json] [--data-dir PATH] devdesk notes search [--folder PATH] [--limit N] [--json] [--data-dir PATH] devdesk notes add --title TITLE [--content TEXT|--file PATH|--stdin] [--folder PATH] [--json] [--data-dir PATH] devdesk notes update [--title TITLE] [--content TEXT|--file PATH|--stdin] [--folder PATH] [--json] [--data-dir PATH] devdesk notes delete --yes [--json] [--data-dir PATH] devdesk settings path [--json] [--data-dir PATH] devdesk settings list|get|set|delete|reset ... [--data-dir PATH] devdesk backup validate|preview [--json] devdesk backup export [--json] [--data-dir PATH] devdesk backup restore [--merge] [--apply] [--json] [--data-dir PATH] devdesk verify plan [--json] devdesk verify run |--all --yes [--json] devdesk containers doctor [--json] devdesk containers docker runtime|list|inspect|logs|stats ... devdesk containers docker start|stop|restart|pause|unpause --yes [options] devdesk containers kube runtime|contexts|namespaces|workloads|pods ... devdesk containers kube describe [--context NAME] [--namespace NAME] [--cluster] [--json] devdesk containers kube logs [--container NAME] [--tail N] [--previous] [--context NAME] [--namespace NAME] [--json] devdesk adb capabilities [--json] devdesk adb devices [--json] devdesk adb connect --yes [--json] devdesk adb screenshot --output [--max-bytes N] [--force] [--json] devdesk adb ui [--limit N] [--json] devdesk adb logcat [--lines N] [--json] devdesk adb launch|tap|swipe|text|key ... --yes [--json] devdesk ai status|providers [--json] [--data-dir PATH] devdesk ai plan (--prompt TEXT|--file PATH|--stdin) [--provider ID] [--model ID] [--agent ID] [--credential-env NAME] [--json] [--data-dir PATH] devdesk ai run (--prompt TEXT|--file PATH|--stdin) --yes [--provider ID] [--model ID] [--agent ID] [--credential-env NAME] [--allow-secret-values] [--json] [--data-dir PATH] devdesk agents list|status [--json] [--data-dir PATH] devdesk agents activity [--limit N] [--json] [--data-dir PATH] devdesk agents automation list [--json] [--data-dir PATH] devdesk agents automation schedule-health [--hours N] --yes [--json] [--data-dir PATH] devdesk agents automation run|enable|disable --yes [--json] [--data-dir PATH] devdesk routines list [--json] [--data-dir PATH] devdesk routines get [--json] [--data-dir PATH] devdesk routines add --title TITLE (--prompt TEXT|--file PATH|--stdin) --cadence once|daily|weekdays|weekly --at ISO8601 [--mode review-first|ai-prepare|ai-auto-run] [--workspace-id ID] [--allow-workspace-context] [--allow-external-research] [--json] [--data-dir PATH] devdesk routines enable|disable|delete|run --yes [--json] [--data-dir PATH] devdesk routines check --yes [--now ISO8601] [--json] [--data-dir PATH] devdesk routines history [--limit N] [--json] [--data-dir PATH] devdesk completion powershell|bash|zsh [--output PATH] [--force] devdesk diagnostics bundle --output [--force] [--json] devdesk exit-codes [--json] Global options (place before the command): --quiet Suppress standard output; errors and exit codes remain. --no-color Disable ANSI color output (future-proof/no-op today). Run options: --timeout Stop the child after 1-86400 seconds; exits 124. API request options: --header "Name: value" Repeat for multiple headers. --body Send a text body. --body-file Read a body from a file (maximum 5 MB). --body-stdin Read the body from stdin. --timeout 1-300 seconds (default: 30). --no-redirect Disable redirects. --output Save response bytes. --json Print a machine-readable response. --fail Exit 1 for HTTP 4xx/5xx responses. Examples: devdesk doctor devdesk files list . --depth 3 devdesk files create . lib/example.dart --content "void main() {}" --parents devdesk run . --timeout 120 -- flutter test devdesk api request GET https://api.example.com/health --fail devdesk api run devdesk-api-workspace.json --environment staging --report junit devdesk tools json pretty --file payload.json devdesk tools base64 encode 'hello' devdesk tools uuid generate 3 devdesk project inspect . --files 25 devdesk project search . payment --content devdesk git status . devdesk openapi validate openapi.yaml devdesk markdown headings . README.md devdesk knowledge backlinks . Architecture.md devdesk search . authentication --kind markdown,workspaceFile devdesk diff files old.json new.json --json --exit-code devdesk workspace manifest inspect . devdesk snippets add --title "HTTP retry" --file retry.dart --tag dart devdesk notes search "release checklist" devdesk settings path devdesk backup restore backup.json # dry-run devdesk backup restore backup.json --apply # explicit mutation devdesk verify plan . devdesk verify run . flutter-analyze --yes devdesk containers doctor devdesk containers docker list devdesk containers kube pods --namespace default devdesk adb devices devdesk adb screenshot emulator-5554 --output phone.png devdesk ai status . --json devdesk ai plan . --prompt "Explain this error" --json devdesk ai run . --prompt "Explain this error" --yes devdesk agents automation list . devdesk routines list devdesk completion powershell --output devdesk-completion.ps1 devdesk diagnostics bundle --output devdesk-diagnostics.json devdesk exit-codes --json All file paths passed to files commands are bounded to the selected workspace. Create never overwrites an existing file. Run executes the exact program and arguments supplied by the current user without opening the DevDesk app. Phase D project verification runs only approved detected adapters and requires --yes. Container and ADB mutation commands also require --yes; arbitrary shell, container/pod exec, Kubernetes secret reveal, ADB root/fastboot, install/uninstall, and device-wipe operations are intentionally not exposed. Phase E AI runs require --yes, accept credentials only by environment-variable name, and never attach workspace files automatically. Routine execution is review-first and never sends an AI prompt automatically.