skillby microsoft
click
Best practices for building CLI applications with Click including commands, groups, options, and testing.
Installs: 0
Used in: 1 repos
Updated: 6h ago
$
npx ai-builder add skill microsoft/clickInstalls to .claude/skills/click/
# Skill: Click Best practices for building CLI applications with Click including commands, groups, options, and testing. ## When to Use Apply this skill when building command-line interfaces with Click — commands, groups, options, arguments, and prompts. ## Commands - Use `@click.command()` for single commands, `@click.group()` for multi-command CLIs. - Declare options with `@click.option()` and positional args with `@click.argument()`. - Use `help=` on every option and command for auto-generated help text. - Use `envvar=` to allow environment variable fallback for sensitive options. ## Groups - Organize subcommands with `@click.group()` and `group.add_command()`. - Use `@click.pass_context` to share state between group and subcommands. ## Type Safety - Use Click's built-in types (`click.Path(exists=True)`, `click.Choice([...])`, `click.IntRange()`). - Use callbacks for custom validation. ## Testing - Use `click.testing.CliRunner()` for testing commands without subprocess overhead. - Assert on `result.exit_code` and `result.output`. - Use `mix_stderr=False` to test stderr separately. ## Pitfalls - Don't use `sys.exit()` — use `click.exceptions.Exit` or return from the command. - Don't use `print()` — use `click.echo()` for proper encoding handling. - Always handle `KeyboardInterrupt` / abort prompts gracefully.
Quick Install
$
npx ai-builder add skill microsoft/clickDetails
- Type
- skill
- Author
- microsoft
- Slug
- microsoft/click
- Created
- 6h ago