Token导航 LogoToken导航TokenDH.com
Swift Skeleton logo
开发工具未说明官方级别未说明来源级核验

Swift Skeleton

MCP Server

swift-skeleton是一款自动提取代码骨架的工具,通过提取类型声明、属性和方法签名等核心结构,帮助LLM快速理解代码库架构。

工具数

0

提示词数

0

GitHub Stars

15

资源数

0
代码分析开发工具ClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

1amageek

提供方

1amageek

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

敏捷骨架

向LLM提供您的代码库的全貌,而不提供完整的源代码。

为什么是骷髅?

LLM编码代理探索代码库的方式与开发人员加入新项目的方式相同。它不需要阅读每一行——它需要先看到形状:存在什么类型,它们公开了什么方法,它们彼此之间的关系,以及在哪里找到它们。

这个形状就是 骨架 --没有实现的声明。就像看一栋建筑的蓝图,而不是走过每个房间。

swiftskeleton会自动提取此骨架:类型声明、属性、方法签名、继承、文件路径和行号。结果适合一个上下文窗口,而完整的源代码永远不会出现。LLM读取骨架,理解架构,然后只深入到它实际需要的文件中。

struct SkeletonIndexCore: Sendable [Sources/SkeletonIndexCore/SkeletonIndexCore.swift:3-246]
  props: parsers:[any SkeletonParser], formatter:SkeletonFormatter
  methods:
    init([any SkeletonParser], SkeletonFormatter) [7-10]
    build(String) -> ProjectIndex [16-45]
    getSkeleton(ProjectIndex, String?) -> SkeletonTextResult [57-62]
    query(ProjectIndex, String, Int) -> [QueryHit] [97-139]

仅凭这一点,法学硕士就可以立即理解:

  • SkeletonIndexCore 是一个 Sendable 结构
  • 它通过DI调用解析器,并使用 build
  • 结果通过以下方式检索 getSkeletonquery
  • 实施生活在 SkeletonIndexCore.swift 第3行至第246行

建立在 树保姆 用于快速、准确的解析。

支持的语言

Swift、Kotlin、TypeScript、Go、Zig、Rust、C++、Python、Java

每个语言解析器都可以通过以下方式选择 包装特点(SE-0450).构建 --disable-default-traits 仅限Swift。

安装

薄荷(推荐)

mint install 1amageek/swift-skeleton

从源代码构建

git clone https://github.com/1amageek/swift-skeleton.git
cd swift-skeleton
swift build -c release

代理技能

快速骨架船 代理技能SKILLS/skeleton/该技能教LLM编码代理(Claude Code、Codex)如何使用骨架提取——在代理开始探索文件之前,为其提供任何项目的结构概述。

SKILLS/skeleton/
├── SKILL.md                  # Core instructions
└── references/
    ├── cli.md                # CLI commands and filters
    └── output-format.md      # Output format specification

通过CLI安装

skltn install-skill

这将技能复制到 ~/.claude/skills/skeleton/~/.codex/skills/skeleton/ (无论有什么工具)。

手动安装

复制 SKILLS/skeleton/ 文件夹到工具的技能目录:

cp -r SKILLS/skeleton ~/.claude/skills/skeleton

用法

# Explicit invocation
/skeleton /path/to/project

# The agent can also invoke it automatically before code exploration

命令行界面

# Full project skeleton
skltn skeleton /path/to/project

# Single file skeleton
skltn skeleton /path/to/project --path Sources/MyFile.swift

# Compact project map
skltn skeleton /path/to/project --headers-only

# Filter by language or declaration kind
skltn skeleton /path/to/project --language swift
skltn skeleton /path/to/project --kinds struct,actor

# Symbol search
skltn query /path/to/project --q "MyClass" --limit 10

# Project status and diagnostics
skltn status /path/to/project
skltn diagnostics /path/to/project
skltn files /path/to/project
skltn languages

# Install agent skill (Claude Code / Codex)
skltn install-skill

# JSON-RPC daemon (stdin/stdout)
skltn daemon

get_skeletonbuild 是的别名 skeleton. search 是的别名 query,以及 diag 是的别名 diagnostics.

建筑

SkeletonIndexCore          Language-agnostic core (protocols, models, formatter, index)
SkeletonSwiftParser        Swift parser (Tree-sitter)
SkeletonKotlinParser       Kotlin parser (Tree-sitter)
SkeletonTypeScriptParser   TypeScript parser (Tree-sitter)
SkeletonGoParser           Go parser (Tree-sitter)
SkeletonZigParser          Zig parser (Tree-sitter)
SkeletonRustParser         Rust parser (Tree-sitter)
SkeletonCppParser          C++ parser (Tree-sitter)
SkeletonPythonParser       Python parser (indent-based AST)
SkeletonJavaParser         Java parser (Tree-sitter)
SkeletonIndexClient        EmbeddedService / SidecarService
skltn                      CLI / JSON-RPC daemon

核心对Tree sitter没有任何依赖。解析器通过 SkeletonParser 协议。

添加新语言

实施 SkeletonParser 并注射:

public protocol SkeletonParser: Sendable {
    var languageName: String { get }
    var supportedExtensions: Set { get }
    func parse(path: String, source: String) -> ParsedFile
}

let core = SkeletonIndexCore(parsers: [
    SwiftSkeletonParser(),
    YourLanguageParser(),
])

图书馆使用情况

嵌入式(进程中)

import SkeletonIndexCore
import SkeletonSwiftParser

let core = SkeletonIndexCore(parsers: [SwiftSkeletonParser()])
let index = try core.build(projectRoot: "/path/to/project")
let skeleton = core.getSkeleton(index: index)
print(skeleton.text)

let hits = core.query(index: index, q: "MyType", limit: 10)

侧车(未加工)

import SkeletonIndexClient

let service = SidecarService()
let result = try await service.open(projectRoot: "/path/to/project", languages: ["swift"])
let skeleton = try await service.getSkeleton(projectID: result.projectID, path: nil)

JSON-RPC守护程序

skltn daemon

方法: index.open, index.status, index.get_skeleton, index.update, index.query, index.diagnostics

需求

  • Swift 6.2+
  • macOS 13+

许可证

麻省理工学院

目录标签

目录标签

代码分析开发工具ClaudeC本地部署LLM增强多语言支持树形解析

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP