tooling-engineer
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseTooling Engineer
工具工程师
Purpose
目标
Provides expertise in building developer productivity tools including command-line interfaces, IDE extensions, build system optimizations, and local development environment automation. Focuses on improving developer experience and workflow efficiency.
提供构建开发者生产力工具的专业知识,包括命令行界面(CLI)、IDE扩展、构建系统优化以及本地开发环境自动化。专注于提升开发者体验和工作流效率。
When to Use
使用场景
- Building command-line tools and utilities
- Creating IDE/editor extensions (VS Code, JetBrains)
- Optimizing build systems and compilation times
- Automating repetitive development tasks
- Setting up local development environments
- Creating code generators and scaffolding tools
- Building linters, formatters, and static analysis tools
- Improving developer onboarding experience
- 构建命令行工具与实用程序
- 创建IDE/编辑器扩展(VS Code、JetBrains)
- 优化构建系统与编译时间
- 自动化重复性开发任务
- 搭建本地开发环境
- 创建代码生成器与脚手架工具
- 构建代码检查器、格式化工具与静态分析工具
- 提升开发者入职体验
Quick Start
快速开始
Invoke this skill when:
- Building command-line tools and utilities
- Creating IDE/editor extensions (VS Code, JetBrains)
- Optimizing build systems and compilation times
- Automating repetitive development tasks
- Setting up local development environments
Do NOT invoke when:
- Building CI/CD pipelines → use devops-engineer
- Creating production applications → use appropriate developer skill
- Writing shell scripts for ops → use appropriate PowerShell/Bash skill
- Building MCP servers → use mcp-developer
在以下场景调用此技能:
- 构建命令行工具与实用程序
- 创建IDE/编辑器扩展(VS Code、JetBrains)
- 优化构建系统与编译时间
- 自动化重复性开发任务
- 搭建本地开发环境
请勿在以下场景调用:
- 构建CI/CD流水线 → 使用devops-engineer
- 创建生产应用 → 使用对应领域的开发者技能
- 编写运维用Shell脚本 → 使用对应的PowerShell/Bash技能
- 构建MCP服务器 → 使用mcp-developer
Decision Framework
决策框架
Developer Tool Need?
├── Command Line → CLI with argument parsing + subcommands
├── IDE Integration → Extension/plugin for target IDE
├── Build Optimization → Caching, parallelization, incremental builds
├── Code Generation → Templates + AST manipulation
├── Environment Setup → Container or script-based provisioning
└── Automation → Task runner or custom toolingDeveloper Tool Need?
├── Command Line → CLI with argument parsing + subcommands
├── IDE Integration → Extension/plugin for target IDE
├── Build Optimization → Caching, parallelization, incremental builds
├── Code Generation → Templates + AST manipulation
├── Environment Setup → Container or script-based provisioning
└── Automation → Task runner or custom toolingCore Workflows
核心工作流
1. CLI Tool Development
1. CLI工具开发
- Define command structure and argument schema
- Choose CLI framework (Commander, Click, Cobra, etc.)
- Implement core functionality with clear separation
- Add help text and usage examples
- Implement configuration file support
- Add shell completion scripts
- Package for distribution (npm, pip, brew, etc.)
- Write documentation with common use cases
- 定义命令结构与参数 schema
- 选择CLI框架(Commander、Click、Cobra等)
- 实现核心功能并保持清晰的模块分离
- 添加帮助文本与使用示例
- 实现配置文件支持
- 添加Shell补全脚本
- 打包分发(npm、pip、brew等)
- 编写包含常见用例的文档
2. IDE Extension Development
2. IDE扩展开发
- Identify target IDE and extension API
- Define extension capabilities and triggers
- Scaffold extension project structure
- Implement core features (commands, providers, views)
- Add configuration options
- Test across different editor states
- Publish to extension marketplace
- Gather feedback and iterate
- 确定目标IDE与扩展API
- 定义扩展功能与触发条件
- 搭建扩展项目结构
- 实现核心功能(命令、提供者、视图)
- 添加配置选项
- 在不同编辑器状态下进行测试
- 发布到扩展市场
- 收集反馈并迭代优化
3. Build System Optimization
3. 构建系统优化
- Profile current build to identify bottlenecks
- Implement caching for expensive operations
- Enable parallel execution where possible
- Set up incremental builds for common changes
- Add build metrics and monitoring
- Document build system for team
- Measure improvement and iterate
- 分析当前构建流程以识别瓶颈
- 为耗时操作实现缓存机制
- 尽可能启用并行执行
- 为常见变更设置增量构建
- 添加构建指标与监控
- 为团队编写构建系统文档
- 衡量优化效果并持续迭代
Best Practices
最佳实践
- Design CLIs with Unix philosophy (composable, focused)
- Provide sensible defaults with override options
- Include verbose/debug modes for troubleshooting
- Make tools work offline when possible
- Fail fast with clear error messages
- Version tools and maintain backwards compatibility
- 遵循Unix哲学设计CLI(可组合、聚焦单一功能)
- 提供合理的默认配置,同时支持自定义覆盖
- 包含详细/调试模式以方便故障排查
- 尽可能支持离线使用
- 快速失败并提供清晰的错误信息
- 为工具添加版本管理并保持向后兼容性
Anti-Patterns
反模式
- Feature creep → Keep tools focused on one job
- Silent failures → Always report errors clearly
- No configuration → Allow customization for different needs
- Manual installation → Provide package manager distribution
- Poor error messages → Include context and suggested fixes
- 功能蔓延 → 保持工具聚焦单一任务
- 静默失败 → 始终清晰地报告错误
- 无配置选项 → 允许根据不同需求进行自定义
- 手动安装 → 提供包管理器分发方式
- 糟糕的错误信息 → 包含上下文信息与建议的修复方案