运维安装
- 作者仓库星标 0
- 作者更新于 实时读取
- 作者仓库 skills-registry
- 领域
- AI 智能
- 兼容 Agent
-
- Claude Code
- Cursor
- Cline
- Codex
- Windsurf
- Gemini CLI
- +20
- 信任分
- 88 / 100 · 社区维护
- 作者 / 版本 / 许可
- @tomevault-io · 未声明 license
- Token 消耗评级
- 低消耗
- 接入复杂程度
- 需手动接入
- 是否需要外部 API Key
- 不需要
- 兼容的系统
- macOS · Linux
- 底层运行要求
- Node.js · Python
- 文件与系统权限
-
- 只读
- 允许写入 / 修改
- Shell 执行
- 网络行为
- 仅限本地
- 安装命令数
- 26 条
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
---
name: dev-specialismsinit-local-tooling
description: Initialize and configure local development tooling for TypeScript, Rust, and Python projects inc…
category: AI 智能
runtime: Node.js / Python
---
# dev-specialismsinit-local-tooling 输出预览
## PART A: 任务判断
- 适用问题:提示词、Agent 工作流、模型评估或自动化推理。
- 输入要求:目标材料、限制条件、期望输出和验收方式。
- 证据边界:围绕“When to Use This Skill / Quick Start / TypeScript Project”读取原文规则,不把推断写成作者承诺。
## PART B: 执行结果
- **01** 任务判断:确认你的需求是否属于提示词、Agent 工作流、模型评估或自动化推理,并标出输入、限制和预期结果。
- **02** 执行计划:优先按“When to Use This Skill / Quick Start / TypeScript Project”拆成步骤,说明每一步会读取什么、修改什么、产出什么。
- **03** 交付结果:给出可复制的命令、文件改动、检查清单或内容草稿,并说明如何继续迭代。
- **04** 风险边界:结合 读取文件、写入/修改文件、执行终端命令、主要在本地完成、通常不需要额外 API Key 给出执行前确认项。
## Running Rules
- 读取文件、写入/修改文件、执行终端命令;主要在本地完成;通常不需要额外 API Key。
- 先小样例验证,再放大到真实任务。
- 交付时同时给结果、检查口径和下一步迭代建议。 原文没有稳定的斜杠命令要求。安装验证后通常全局生效,直接在对话里点名这个 Skill 并描述任务即可。
告诉 Agent 目标文件或材料、期望结果、不可改范围、是否允许联网或执行命令。本 Skill 的权限画像是:读取文件、写入/修改文件、执行终端命令。
先用一个小任务确认它会围绕“When to Use This Skill / Quick Start / TypeScript Project”工作;涉及文件或命令时,先看 diff、日志、预览或测试结果。
检查最终产物是否包含明确结果、必要证据和下一步动作;如果输出泛泛而谈,就补充输入、边界和验收标准后重跑。
---
name: dev-specialismsinit-local-tooling
description: Initialize and configure local development tooling for TypeScript, Rust, and Python projects inc…
category: AI 智能
source: tomevault-io/skills-registry
---
# dev-specialismsinit-local-tooling
## 什么时候使用
- 用于组织测试、定位失败并形成修复闭环 适合处理AI Agent、提示词、模型评估与自动化推理,核心价值是把输入、判断、执行、验证和交付边界固定下来,避免 Agent 泛泛回答。 把任务拆成可执行、可检查、可继续迭代的步骤;通常不需要额外…
- 面向提示词、Agent 工作流、模型评估或自动化推理,优先处理能明确输入、步骤和验收标准的工作。
## 需要提供什么
- 目标材料、目录范围、期望结果和不可改动内容。
- 是否允许联网、执行命令、读写文件或调用外部服务。
## 执行规则
- 围绕「When to Use This Skill / Quick Start / TypeScript Project」组织步骤,不把推断写成作者事实。
- 读取文件、写入/修改文件、执行终端命令;主要在本地完成;通常不需要额外 API Key。
- 先跑小样例,确认结果可检查后再扩大任务范围。
## 输出要求
- 给出最终产物、关键证据、验证方式和下一步动作。
- 信息不足时标记 unknown,不编造命令、平台或依赖。 作者原文负责流程事实;仓库文件负责来源和命令;流狐只补充适用场景、限制和质量判断。
skill "dev-specialismsinit-local-tooling" {
输入层 -> 用户目标 + 目标文件 + 禁止范围 + 验收标准
上下文层 -> When to Use This Skill / Quick Start / TypeScript Project
规则层 -> SKILL.md 触发条件 / 执行顺序 / 输出格式
运行层 -> Node.js / Python | 读取文件、写入/修改文件、执行终端命令 | 主要在本地完成
安全层 -> 通常不需要额外 API Key + 小任务验证 + diff / 日志复核
输出层 -> 可复制结果 + 检查清单 + 下一步迭代
} Local Tooling Initialization
Comprehensive setup for linting, formatting, type checking, testing, Git hooks, CI/CD, and publishing across TypeScript, Rust, and Python projects.
When to Use This Skill
Use this skill when you need to:
- Initialize tooling for a new TypeScript/Rust/Python project
- Set up monorepo with Nx + pnpm workspaces
- Configure Git hooks with lefthook (conventional commits, pre-commit, pre-push)
- Add GitHub Actions for CI/CD
- Set up automated publishing to npm/crates.io/PyPI
- Configure version bumping and changelog generation with Changesets
- Migrate from Husky to lefthook
- Choose between ESLint+Prettier vs Biome for TypeScript
Quick Start
TypeScript Project
Automated setup:
./scripts/init_typescript.sh
Choose tooling:
- Biome (recommended) - Fast, all-in-one, modern
- ESLint + Prettier - Traditional, highly configurable
What you get:
- Linting and formatting
- TypeScript strict mode
- Vitest for testing
- Package.json scripts
→ See: references/typescript.md
Rust Project
Manual setup (opinionated configs in assets/):
# Tools come with Rust
rustup component add rustfmt clippy
# Optional: Enhanced tooling
brew install cargo-nextest cargo-deny
# Copy configs from assets/configs/rust/
cp assets/configs/rust/rustfmt.toml .
cp assets/configs/rust/clippy.toml .
→ See: references/rust.md
Python Project
Using uv (recommended):
# Install uv
brew install uv
# Create project
uv init my-project
cd my-project
# Add dev dependencies
uv add --dev ruff mypy pytest
# Copy config from assets/
cp assets/configs/python/pyproject.toml .
→ See: references/python.md
Monorepo Setup
Create Nx + pnpm monorepo:
./scripts/init_monorepo.sh
Or manually:
npx create-nx-workspace@latest my-monorepo
# Choose: pnpm + integrated monorepo
→ See: references/monorepo.md
Workflow Decision Tree
1. Choose Project Type
Single Language Project → Use language-specific init script or manual setup → See Quick Start above
Monorepo (Multiple Packages) → Set up Nx + pnpm workspaces → See references/monorepo.md
2. Configure Git Hooks
Automated setup:
./scripts/setup_lefthook.sh
This configures:
- commit-msg - Conventional commits validation
- pre-commit - Format and lint staged files
- pre-push - Full validation (lint, type-check, test, build)
→ See: references/git-hooks.md
3. Set Up CI/CD
Copy workflow templates:
# Basic CI
cp assets/workflows/ci.yml .github/workflows/
# Language-specific workflows available in assets/
→ See: references/ci-cd.md
4. Configure Publishing (Optional)
For npm packages:
./scripts/setup_changesets.sh
Then copy publishing workflows from assets/workflows/.
→ See:
Language-Specific Guides
TypeScript/JavaScript
Tooling options:
- Biome - Fast, opinionated, all-in-one (recommended for new projects)
- ESLint + Prettier - Traditional, highly configurable (recommended for existing projects)
Testing:
- Vitest - Modern, fast, Vite-based (recommended)
- Jest - Established, widely used
Key decisions:
- Choose Biome for speed and simplicity
- Choose ESLint+Prettier for existing projects or specific plugins
→ Full guide: references/typescript.md
Rust
Built-in tools:
rustfmt- Code formattingclippy- Lintingcargo test- Testing
Enhanced tools:
cargo-nextest- Faster test runnercargo-deny- Dependency securitycargo-make- Task runner
→ Full guide: references/rust.md
Python
Modern stack (recommended):
- uv - Fast package manager
- ruff - Fast linting + formatting (replaces black, isort, flake8)
- mypy - Type checking
- pytest - Testing
→ Full guide: references/python.md
Git Hooks with lefthook
Why lefthook?
- Language-agnostic - Works across TS, Rust, Python
- Fast - Parallel execution, written in Go
- Simple - Single YAML config
- Better than Husky - Faster, works across languages
Setup
Automated:
./scripts/setup_lefthook.sh
Manual:
brew install lefthook
lefthook install
Configuration Example
lefthook.yml:
commit-msg:
commands:
commitlint:
run: npx commitlint --edit {1}
pre-commit:
parallel: true
commands:
format:
glob: "*.{ts,rs,py}"
run: format-staged-files {staged_files}
stage_fixed: true
pre-push:
commands:
validate:
run: ./scripts/validate_all.sh
→ Full guide: references/git-hooks.md
Monorepo Management
Nx + pnpm Workspaces
Key principle: Nx builds on top of pnpm, doesn't replace it.
- pnpm workspaces - Dependency management
- Nx - Task orchestration, caching, affected commands
Benefits
- Run tasks only for affected packages
- Intelligent caching
- Parallel execution
- Supports multiple languages
Common Commands
# Run target for all packages
nx run-many --target=build --all
# Run only for affected
nx affected --target=test
# Visualize dependencies
nx graph
→ Full guide: references/monorepo.md
Version Management & Publishing
Changesets Workflow
Recommended for monorepos and npm packages.
- Add changeset:
pnpm changeset
# Select packages, type (major/minor/patch), write summary
- Version packages:
pnpm changeset version
# Updates package.json, generates CHANGELOG.md
- Publish:
pnpm changeset publish
git push --follow-tags
Automated Publishing
Use GitHub Actions to automate releases:
Copy workflow:
cp assets/workflows/publish-changesets.yml .github/workflows/
This creates "Version Packages" PR on main when changesets exist.
→ See:
CI/CD Setup
Match Local Validation
Best practice: Run same checks in CI as local pre-push hook.
GitHub Actions templates:
ci.yml- Basic linting, testing, buildingpublish-npm.yml- Automated npm publishingpublish-crates.yml- Automated crates.io publishingpublish-pypi.yml- Automated PyPI publishing
Matrix Testing
Test across multiple versions:
strategy:
matrix:
node-version: [18, 20, 21]
os: [ubuntu-latest, macos-latest]
Nx Monorepo CI
Use affected commands to only test changed packages:
nx affected --target=test
nx affected --target=build
→ Full guide: references/ci-cd.md
Common Tasks
Initialize TypeScript Project
Automated:
./scripts/init_typescript.sh --biome
# or
./scripts/init_typescript.sh --eslint-prettier
Creates:
- tsconfig.json (strict mode)
- Linting config (biome.json or eslint.config.js)
- Formatting config (.prettierrc.json if ESLint)
- Testing config (vitest.config.ts)
- Package.json scripts
Set Up Git Hooks
./scripts/setup_lefthook.sh
Configures:
- Conventional commits validation
- Pre-commit: lint/format staged files
- Pre-push: full validation
Configure Changesets
./scripts/setup_changesets.sh
Sets up:
- .changeset/ directory
- Package.json scripts
- Public access configuration
Full Validation
./scripts/validate_all.sh
Runs:
- Format checking
- Linting
- Type checking
- Tests
- Builds
Bundled Resources
Scripts (scripts/)
Setup scripts:
init_typescript.sh- Initialize TypeScript projectsetup_lefthook.sh- Configure Git hookssetup_changesets.sh- Set up version managementvalidate_all.sh- Run all checks (used by pre-push)
Usage:
./scripts/script_name.sh
All scripts check if tools are installed/up-to-date before proceeding.
Config Templates (assets/configs/)
TypeScript:
tsconfig.strict.json- Strict TypeScript configbiome.json- Biome configurationeslint.config.js- ESLint flat config.prettierrc.json- Prettier configuration
Rust:
rustfmt.toml- Rustfmt configurationclippy.toml- Clippy lintsdeny.toml- Cargo-deny configuration
Python:
pyproject.toml- ruff, mypy, pytest configruff.toml- Standalone ruff config
Monorepo:
nx.json- Nx configurationpnpm-workspace.yaml- pnpm workspaces
Git Hooks:
lefthook.yml- Complete lefthook configcommitlint.config.js- Conventional commits
GitHub Workflows:
ci.yml- Basic CIpublish-changesets.yml- Automated releasespublish-npm.yml- npm publishingpublish-crates.yml- crates.io publishingpublish-pypi.yml- PyPI publishing
Reference Documentation (references/)
Language guides:
typescript.md- ESLint+Prettier vs Biome, testing, monoreporust.md- rustfmt, clippy, cargo-nextest, cargo-denypython.md- ruff, mypy, pytest, uv vs poetry
Infrastructure:
monorepo.md- Nx + pnpm workspaces setupgit-hooks.md- lefthook configurationci-cd.md- GitHub Actions workflowspublishing.md- npm, crates.io, PyPI publishingversion-management.md- Changesets workflow
Best Practices
- Use lefthook over Husky - Faster, language-agnostic
- Match CI and local - Same checks in pre-push and CI
- Choose Biome for new TS projects - Faster, simpler
- Use Nx affected commands - Only test changed packages
- Automate versioning - Use Changesets for npm packages
- Conventional commits - Enables automated changelogs
- Pre-commit: staged files - Fast feedback
- Pre-push: full validation - Catch issues before pushing
- Type-check everything - TypeScript, mypy, clippy
- Test before publish - Always run tests in pre-publish
Troubleshooting
Hooks Not Running
Check installation:
lefthook install
ls -la .git/hooks/
Test manually:
lefthook run pre-commit
Format Conflicts
ESLint + Prettier conflicts:
- Ensure
eslint-config-prettieris last in config - Run Prettier separately from ESLint
Biome + Prettier conflicts:
- Don't use both - choose one
- Biome is drop-in Prettier replacement
CI Failures
Debugging:
- Run
./scripts/validate_all.shlocally - Check CI runs same commands
- Verify Node/Rust/Python versions match
- Check caching is working
Quick Reference
Setup new TypeScript project:
./scripts/init_typescript.sh
Setup Git hooks:
./scripts/setup_lefthook.sh
Setup Changesets:
./scripts/setup_changesets.sh
Run full validation:
./scripts/validate_all.sh
Common commands:
# TypeScript
npm run lint && npm run type-check && npm test
# Rust
cargo fmt -- --check && cargo clippy -- -D warnings && cargo test
# Python
ruff check . && mypy . && pytest
# Monorepo
nx affected --target=test
nx run-many --target=build --all
# Changesets
pnpm changeset
pnpm changeset version
pnpm changeset publish
Getting Help
- TypeScript: See references/typescript.md
- Rust: See references/rust.md
- Python: See references/python.md
- Monorepo: See references/monorepo.md
- Git Hooks: See references/git-hooks.md
- CI/CD: See references/ci-cd.md
- Publishing: See references/publishing.md and references/version-management.md
Source: aaronbassett/agent-foundry — distributed by TomeVault.
先判断是否适合
作者设计意图
作者的方法与取舍
边界和复核