CLI Tooling Resources and References
Key Takeaways
关键要点
- OpenAPI Generator: Automated CLI generation from OpenAPI specs
- Cobra (Go): Most popular Go CLI framework, used by kubectl, Hugo, GitHub CLI
- Click (Python): Decorator-based CLI with automatic help generation
- Commander.js (Node): Lightweight CLI framework for JavaScript/TypeScript
- oclif (Node): Heroku’s CLI framework, used by Salesforce CLI
- **OpenAPI Generator**:基于 OpenAPI 规范自动生成 CLI
- **Cobra (Go)**:最流行的 Go CLI 框架,kubectl、Hugo 和 GitHub CLI 均在使用
- **Click (Python)**:基于装饰器的 CLI,支持自动生成帮助信息
- **Commander.js (Node)**:适用于 JavaScript/TypeScript 的轻量级 CLI 框架
- **oclif (Node)**:Heroku 的 CLI 框架,Salesforce CLI 正在使用
Summary
摘要
This document catalogs the primary tools and frameworks for building agent-friendly CLIs.
本文档汇总了用于构建 Agent 友好型 CLI 的主要工具和框架。
OpenAPI Generator
- Website: https://openapi-generator.tech
- Languages: 50+ including Go, Python, Java, TypeScript
- Features: Generate CLI from OpenAPI 3.0 specs
- Use case: Automated CLI generation for existing APIs
**OpenAPI Generator**
- 网站:https://openapi-generator.tech
- 语言:50+ 种,包括 Go、Python、Java、TypeScript
- 特性:基于 OpenAPI 3.0 规范生成 CLI
- 使用场景:为现有 API 自动生成 CLI
Cobra (Go)
- Website: https://cobra.dev
- Used by: kubectl, Hugo, GitHub CLI, Docker CLI
- Features: Subcommands, flags, automatic help, shell completion
- Example:
**Cobra (Go)**
- 网站:https://cobra.dev
- 使用者:kubectl、Hugo、GitHub CLI、Docker CLI
- 特性:子命令、flags、自动生成帮助信息、shell 补全
- 示例:
```go
var rootCmd = &cobra.Command{
Use: "app",
Short: "My application",
}
```
Click (Python)
- Website: https://click.palletsprojects.com
- Features: Decorators, automatic help, parameter validation
- Example:
**Click (Python)**
- 官网:https://click.palletsprojects.com
- 特性:Decorators、自动帮助、参数验证
- 示例:
```python
@click.command()
@click.option('--name', required=True)
def hello(name):
click.echo(f'Hello {name}')
```
Commander.js (Node)
- Website: https://github.com/tj/commander.js
- Used by: npm, yarn, webpack
- Features: Lightweight, chainable API
- Example:
**Commander.js (Node)**
- 网站:https://github.com/tj/commander.js
- 使用者:npm, yarn, webpack
- 特性:轻量级,支持链式 API
- 示例:
```javascript
program
.command('create oclif (Node)
- Website: https://oclif.io
- Used by: Salesforce CLI, Heroku CLI
- Features: Plugin system, auto-documentation, testing utilities
- Best for: Large, extensible CLIs
**oclif (Node)**
- 官网:https://oclif.io
- 使用者:Salesforce CLI, Heroku CLI
- 特性:Plugin 系统、自动文档生成、测试工具
- 最适用于:大型、可扩展的 CLI
Relevant Concepts
相关概念