Skip to content

Why is the COMMAND not showed end of the OPTIONS #479

@cmoulliard

Description

@cmoulliard

Question

Why is the [COMMAND] not showed after the different OPTIONS but directly after the first option. Is it by convention or a rendering issue ?

Image

Code

@GroupCommandDefinition(
        name = "acp",
        description = "acp tool for any acp compatible agent (OpenCode, Claude, Pi, Gemini, etc.)",
        generateHelp = true,
        groupCommands = {RegistryCommand.class}
)
public class AcpCommand implements Command<CommandInvocation> {

    // -- CLI options ----

    @Option(shortName = 'a', name = "agent",
            description = "ACP agent registry ID: opencode, claude-acp, pi-acp, gemini, ... (use 'acp reg list --registry' to see all) [env: ACP_AGENT]")
    String agent;

    @Option(name = "agent-binary",
            description = "Override agent binary path (for custom agents) [env: ACP_AGENT_BINARY]")
    String acpAgentBinary;

    @Option(name = "agent-args",
            description = "Override agent arguments (for custom agents) [env: ACP_AGENT_ARGS]")
    String acpAgentArgs;

    @Option(shortName = 'p', name = "prompt",
            description = "The prompt text to send to the agent [env: ACP_PROMPT]")
    String prompt;

    @Option(shortName = 'm', name = "model",
            description = "The model to use, e.g. claude-opus-4-6 (resolved per agent/provider) [env: ACP_MODEL]")
    String model;

    @Option(name = "provider",
            description = "Provider: zen, vertex-ai [env: ACP_PROVIDER]")
    String provider;

    @Option(name = "request-timeout",
            description = "Timeout in seconds for requests (initialize, create session, etc.) [env: ACP_REQUEST_TIMEOUT]")
    Integer requestTimeout;

    @Option(name = "prompt-timeout",
            description = "Timeout in seconds for prompt requests; 0 means no timeout [env: ACP_PROMPT_TIMEOUT]")
    Integer promptTimeout;

    @Option(name = "permission-mode",
            description = "How to respond to agent permission requests: allow_always, allow_once, reject_once, reject_always [env: ACP_PERMISSION_MODE]")
    String permissionMode;

    @Option(shortName = 'b', name = "backup",
            description = "Backup workspace to target/workdirs before running: yes, no (default: yes). Only applies to Maven/Gradle projects [env: ACP_BACKUP]")
    String backup;

    @Option(name = "backup-project-name",
            description = "Name of the project used in the backup directory: target/workdirs/<name>_<timestamp> (default: current directory name) [env: ACP_BACKUP_PROJECT_NAME]")
    String backupProjectName;

    @Option(aliases = "wks",
            name = "workspace-path",
            description = "Absolute path to the project/workspace directory used as CWD for the session. If not set, defaults to the directory where the command is executed [env: WORKSPACE_PATH]")
    String workspacePath;

    @Option(shortName = 's', name = "skill-path",
            description = "Absolute path to a skills folder to add as additional directory [env: SKILL_PATH]")
    String skillPath;

    @Option(shortName = 'l', name = "log-level",
            description = "Log level: INFO, DEBUG, TRACE, WARNING, SEVERE [env: ACP_LOG_LEVEL]")
    String logLevel;

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions