技能 cli-design-expert

cli-design-expert

安全 🌐 網路存取📁 檔案系統存取⚙️ 外部命令

Projetar Interfaces de Linha de Comando Profissionais

Criar ferramentas CLI intuitivas é um desafio sem padrões de design claros. Esta habilidade oferece orientação especializada para criar comandos que funcionam conforme os usuários esperam, com revelação progressiva e mensagens de erro úteis.

支援: Claude Codex Code(CC)
📊 69 充足
1

下載技能 ZIP

2

在 Claude 中上傳

前往 設定 → 功能 → 技能 → 上傳技能

3

開啟並開始使用

測試它

正在使用「cli-design-expert」。 Design a CLI command for creating feature branches with a help system and error handling

預期結果:

  • Command: branch create <name> [--base <branch>] [--no-PR]
  • Exit codes: 0=success, 1=error, 2=invalid usage, 66=no-input
  • Help shows: usage, options, examples, and common issues
  • Error for missing branch name shows suggestion: 'Run with --base develop'
  • Dangerous actions like force delete require --force flag or confirmation prompt

正在使用「cli-design-expert」。 How should I design exit codes for my CLI tool

預期結果:

  • Use standard exit codes: 0 for success, 1 for general errors
  • Use 2 for invalid usage or arguments
  • Use 66 when input file is not found
  • Use 78 for configuration errors
  • Document all exit codes in --help output

正在使用「cli-design-expert」。 Create an error message pattern for missing configuration

預期結果:

  • Show what file was looking for and where it searched
  • Provide a concrete fix command
  • Link to documentation for more help
  • Use color to highlight the error and the solution

品質評分

38
架構
100
可維護性
87
內容
22
社群
100
安全
87
規範符合性

你能建構什麼

Construir Ferramentas CLI Amigáveis

Criar comandos que seguem padrões estabelecidos como git e npm com ajuda clara e tratamento de erros.

Melhorar Adoção de Ferramentas Internas

Projetar CLIs que desenvolvedores realmente querem usar com revelação progressiva e excelente documentação.

Polir Interfaces de Comando de Projetos

Adicionar polimento profissional a ferramentas de projeto com cores semânticas, tabelas e sugestões de erro úteis.

試試這些提示

Design Básico de Comandos
Projete uma estrutura de comando CLI para [your tool]. Ele deve [describe what it does]. Siga as práticas recomendadas de CLI.
Sistema de Ajuda
Crie um sistema de ajuda em três níveis para um comando chamado [name] com subcomandos [list them]. Inclua exemplos em cada nível.
Mensagens de Erro
Projete o tratamento de erros para uma CLI que valida [input type]. Mostre códigos de erro, mensagens e sugestões de usuário para falhas comuns.
Prompts Interativos
Crie um fluxo interativo de assistente para [task] usando confirmações para ações perigosas. Mostre padrões de código para integração com inquirer.js.

最佳實務

  • Siga o padrão substantivo-verbo (git commit, npm install) para estruturas de comando intuitivas
  • Forneça opções curtas (-h) e longas (--help) para todas as flags comuns
  • Projete mensagens de erro para explicar o que deu errado E como corrigir

避免

  • Usar códigos de erro crípticos sem explicações ou sugestões
  • Exigir que usuários leiam documentação externa para uso básico
  • Executar ações destrutivas sem confirmação ou flags force

常見問題

Esta habilidade funciona com todas as linguagens de programação?
Os conceitos se aplicam universalmente. Os exemplos de código usam TypeScript/Node.js, mas os padrões funcionam para qualquer linguagem.
Quais códigos de saída minha CLI deve usar?
Códigos padrão: 0=sucesso, 1=erro geral, 2=uso inválido, 66=arquivo de entrada não encontrado, 78=erro de configuração.
Como adiciono suporte a completion de shell?
Gere scripts de completion para bash, zsh e fish que analisam a estrutura de comando e sugerem subcomandos.
Meus dados estão seguros com esta habilidade?
Sim. Esta habilidade é documentação apenas para leitura. Ela fornece orientação sem acessar arquivos ou executar código.
Por que minhas mensagens de erro são ignoradas pelos usuários?
Usuários ignoram erros sem soluções. Sempre inclua linhas de sugestão começando com 'How to fix:' ou 'Run:'
Qual a diferença de usar commander.js ou oclif diretamente?
Esses são frameworks. Esta habilidade fornece princípios de design que funcionam com qualquer framework ou linguagem.