NAME

ask - private built-in command wrapper for Developer Dashboard

SYNOPSIS

dashboard ask ...

DESCRIPTION

This private helper is staged under ~/.developer-dashboard/cli/dd/ so the public dashboard entrypoint can stay a thin switchboard.

PURPOSE

This staged helper exposes dashboard ask so an operator can put a question to an AI backend straight from the dashboard shell and get a plain-text answer, with the running conversation remembered per workspace.

WHY IT EXISTS

It exists because the ask command needs a uniform surface over several assistant backends -- the Anthropic API, the local claude CLI, and the codex, copilot, and gemini command-line tools -- but the public switchboard should only dispatch to a staged helper instead of embedding backend-invocation logic directly in bin/dashboard.

WHEN TO USE

Use this file when changing how the dashboard ask command is routed into the private runtime, or when the staged wrapper for the ask surface needs adjusting.

HOW TO USE

Users run dashboard ask "question", optionally selecting a backend with --codex, --copilot, or --gemini (default --claude), attaching files with --file, or starting a fresh conversation with --new. The staged helper forwards the raw argv list into the private built-in runtime, which loads the ask CLI module and calls the selected backend.

WHAT USES IT

It is used by operators asking a coding assistant from the shell, by CLI smoke tests, and by staged-helper coverage tests.

EXAMPLES

Example 1:

dashboard ask "How do I list collectors?"

Ask the default claude backend and print a plain-text answer through the public built-in command path.

Example 2:

dashboard ask --codex "Explain this stack trace" --file trace.txt

Switch the workspace to the codex backend and inline a text attachment.

Example 3:

prove -lv t/05-cli-smoke.t t/30-dashboard-loader.t

Rerun the focused staged-helper and thin-loader tests after changing helper dispatch behavior.

Example 4:

prove -lr t

Verify that the helper still behaves correctly inside the complete repository suite.