mcpField
D
detect-stack

detect-stack

github.com/jordancoin开发1167 次安装35 周前更新
代码仓库

关于 detect-stack

detect-stack 是一项扫描项目并生成简明 `.agents/stack-context.md` 文件的编码技能,帮助编码 Agent 了解代码库的语言、框架、测试、CI 检查和约定,并在上下文过时时重新运行。

主要功能

  1. 01检测语言与框架
  2. 02发现测试和 CI 检查
  3. 03检查约定与目录结构
  4. 04生成技术栈上下文文件
  5. 05提供过期上下文重跑条件

适用场景

  1. 01开始处理陌生项目
  2. 02依赖变更后刷新上下文
  3. 03梳理项目检查项和约定

MCP 相关

需要框架 API 细节时,建议使用 context7 MCP 查阅文档;若未覆盖,则改用网页搜索。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jordancoin/codingskills --skill detect-stack

安装后在 Claude Code 中输入/detect-stack确认已加载。

详细介绍

检测技术栈

分析当前代码库并生成 .agents/stack-context.md。在项目中首次使用时,或技术栈上下文缺失或过时时运行。

检测内容

扫描项目根目录,查找以下信号:

语言 — 统计文件扩展名(.rs、.py、.ts、.go、.swift、.java、.rb、.cs、.ex 等)。主要语言 = 文件数量最多的语言。记录次要语言。

框架 — 读取包清单文件:

  • Cargo.toml → 检查 [dependencies] 中是否有 axum、actix、rocket、sqlx、diesel、tokio
  • package.json → 检查是否有 react、next、svelte、express、fastify、prisma
  • go.mod → 检查是否有 gin、echo、fiber、chi、sqlc
  • pyproject.toml / requirements.txt → 检查是否有 django、flask、fastapi、sqlalchemy
  • Gemfile → 检查是否有 rails、sinatra
  • Package.swift → 检查是否有 Vapor;扫描 SwiftUI 导入语句
  • mix.exs → 检查是否有 phoenix、ecto

测试 — 查找测试目录、测试文件命名模式和测试配置文件。

CI 门禁 — 扫描 .github/workflows/、.gitlab-ci.yml 等,查找阻断性检查(格式、lint、类型检查、测试)。

约定 — 检查 CLAUDE.md、AGENTS.md、CONTRIBUTING.md。记录目录结构和命名模式。

输出

写入 .agents/stack-context.md,保持简短(少于 40 行):

# Stack Context

Generated: YYYY-MM-DD

## Stack
- **Language**: [primary] [version if pinned]
- **Framework**: [web framework], [db layer]
- **Build**: [build tool]
- **Test**: [test command + framework]
- **Lint**: [linter] [CI gate: yes/no]
- **Format**: [formatter] [CI gate: yes/no]

## Secondary Languages
- [language] ([what it's used for])

## Conventions
- Error handling: [pattern]
- Module structure: [pattern]
- Naming: [pattern]
- Tests: [where they live, how they're organized]

## CI Gates
- [list of blocking checks]

特定技术栈的原则应用

写入技术栈上下文后,不要生成静态参考文件。而是:

  1. 运用你对检测到的语言和框架的内置知识,以符合其惯用方式的形式应用各项编码原则
  2. 如果需要了解特定框架 API 的详细信息,请使用 context7 MCP(先执行 resolve-library-id,再执行 query-docs)获取最新文档
  3. 如果 context7 未涵盖相关内容,则使用网络搜索作为备用方案

编码原则技能在设计上与语言无关。你需要在原则与技术栈之间起到桥梁作用。

何时重新运行

  • .agents/stack-context.md 不存在
  • 主要依赖发生变化(新增框架、语言版本升级)
  • 项目结构发生重大变化
  • 上下文文件已超过 30 天未更新

评论

支持 Markdown