Click 上下文测试
- 作者仓库星标 2,412
- 许可证 NOASSERTION
- 作者仓库 debugpy
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()andgroup.add_command(). - Use
@click.pass_contextto 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_codeandresult.output. - Use
mix_stderr=Falseto test stderr separately.
Pitfalls
- Don't use
sys.exit()— useclick.exceptions.Exitor return from the command. - Don't use
print()— useclick.echo()for proper encoding handling. - Always handle
KeyboardInterrupt/ abort prompts gracefully.
- 流狐分类
- 通用
- 作者声明 Agent
- 未找到明确声明;不据此推断已兼容或已测试
- 静态检查
- 94 / 100 · 启发式扫描,不代表运行安全
- 作者 / 版本 / 许可
- @microsoft · NOASSERTION
- 流狐 Token 估算
- 低消耗
- 流狐接入估算
- 需简单配置
- 是否需要外部 API Key
- 未发现要求
- 检测到的系统要求
- 未声明
- 底层运行要求
- 未声明
- 检测到的文件与系统行为
-
- 只读
- Shell 执行
- 读取环境变量
- 检测到的网络行为
- 仅限本地
- 安装命令数
- 无(仅作为资料)
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
作者没有在当前 SKILL.md 中定义固定输出样例。 Apply this skill when building command-line interfaces with Click — commands, groups, options, arguments, and prompts.
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.
Organize subcommands with @click.group() and group.addcommand(). Use @click.passcontext to share state between group and subcommands.
Use Click's built-in types (click.Path(exists=True), click.Choice([...]), click.IntRange()). Use callbacks for custom validation.
Use click.testing.CliRunner() for testing commands without subprocess overhead. Assert on result.exitcode and result.output. Use mixstderr=False to test stderr separately.
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.
# 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. 作者原文负责流程事实;流狐只索引当前章节、要点、文件与命令。
章节 -> When to Use → Commands → Groups → Type Safety → Testing → Pitfalls
要点 -> Best practices for building CLI applications with Click including commands, groups, options, and testing. · Apply this skill when building command-line interfaces with Click — commands, groups, options, arguments, and prompts. · - Use @click.command() for single commands, @click.group() for multi-command CLIs. · - Organize subcommands with @click.group() and group.addcommand(). · - Use Click's built-in types (click.Path(exists=True), click.Choice([...]), click.IntRange()). · - Use click.testing.CliRunner() for testing commands without subprocess overhead. · - Don't use sys.exit() — use click.exceptions.Exit or return from the command.
文件/命令 -> @click.command() · @click.group() · @click.option() · @click.argument() · help= · envvar= · group.addcommand() · @click.passcontext
内容 SHA-256 -> 14b8da56c09c
原文结构
适用与边界
原文中的明确线索
@click.command()、@click.group()、@click.option()、@click.argument()、help=、envvar=、group.addcommand()、@click.passcontext