tooling-engineer

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Tooling 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 tooling
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 tooling

Core Workflows

核心工作流

1. CLI Tool Development

1. CLI工具开发

  1. Define command structure and argument schema
  2. Choose CLI framework (Commander, Click, Cobra, etc.)
  3. Implement core functionality with clear separation
  4. Add help text and usage examples
  5. Implement configuration file support
  6. Add shell completion scripts
  7. Package for distribution (npm, pip, brew, etc.)
  8. Write documentation with common use cases
  1. 定义命令结构与参数 schema
  2. 选择CLI框架(Commander、Click、Cobra等)
  3. 实现核心功能并保持清晰的模块分离
  4. 添加帮助文本与使用示例
  5. 实现配置文件支持
  6. 添加Shell补全脚本
  7. 打包分发(npm、pip、brew等)
  8. 编写包含常见用例的文档

2. IDE Extension Development

2. IDE扩展开发

  1. Identify target IDE and extension API
  2. Define extension capabilities and triggers
  3. Scaffold extension project structure
  4. Implement core features (commands, providers, views)
  5. Add configuration options
  6. Test across different editor states
  7. Publish to extension marketplace
  8. Gather feedback and iterate
  1. 确定目标IDE与扩展API
  2. 定义扩展功能与触发条件
  3. 搭建扩展项目结构
  4. 实现核心功能(命令、提供者、视图)
  5. 添加配置选项
  6. 在不同编辑器状态下进行测试
  7. 发布到扩展市场
  8. 收集反馈并迭代优化

3. Build System Optimization

3. 构建系统优化

  1. Profile current build to identify bottlenecks
  2. Implement caching for expensive operations
  3. Enable parallel execution where possible
  4. Set up incremental builds for common changes
  5. Add build metrics and monitoring
  6. Document build system for team
  7. Measure improvement and iterate
  1. 分析当前构建流程以识别瓶颈
  2. 为耗时操作实现缓存机制
  3. 尽可能启用并行执行
  4. 为常见变更设置增量构建
  5. 添加构建指标与监控
  6. 为团队编写构建系统文档
  7. 衡量优化效果并持续迭代

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
  • 功能蔓延 → 保持工具聚焦单一任务
  • 静默失败 → 始终清晰地报告错误
  • 无配置选项 → 允许根据不同需求进行自定义
  • 手动安装 → 提供包管理器分发方式
  • 糟糕的错误信息 → 包含上下文信息与建议的修复方案