149 lines
3.3 KiB
Markdown
149 lines
3.3 KiB
Markdown
|
|
---
|
|||
|
|
name: load-codestyle
|
|||
|
|
description: "加载指定语言的代码风格参考文件。Loads code style reference files for a specified language from skill目录/style/{language}/*.md"
|
|||
|
|
argument-hint: "[language]"
|
|||
|
|
version: "1.0.0"
|
|||
|
|
user-invocable: true
|
|||
|
|
allowed-tools: Read, Glob, Bash
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# 代码风格加载器 (Code Style Loader)
|
|||
|
|
|
|||
|
|
## 触发条件
|
|||
|
|
|
|||
|
|
当用户说以下任意内容时启动:
|
|||
|
|
- `/load-codestyle`
|
|||
|
|
- "加载代码风格"
|
|||
|
|
- "加载{语言}代码风格"
|
|||
|
|
- "查看代码风格规范"
|
|||
|
|
|
|||
|
|
## 功能说明
|
|||
|
|
|
|||
|
|
本 Skill 负责从指定目录加载代码风格参考文件,并将其内容作为当前代码审查和编写的参考依据。
|
|||
|
|
|
|||
|
|
## 核心逻辑
|
|||
|
|
|
|||
|
|
### Step 1:确定语言
|
|||
|
|
|
|||
|
|
用户可以通过以下方式指定语言:
|
|||
|
|
- 直接在命令中指定:如 `/load-codestyle java`
|
|||
|
|
- 在对话中提及:如 "加载 Java 代码风格"
|
|||
|
|
- 如果用户未指定,询问用户希望加载哪种语言的代码风格
|
|||
|
|
|
|||
|
|
### Step 2:查找风格文件
|
|||
|
|
|
|||
|
|
在以下位置查找代码风格文件:
|
|||
|
|
|
|||
|
|
**目录结构**:
|
|||
|
|
```
|
|||
|
|
{skill目录}/style/{language}/*.md
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
其中:
|
|||
|
|
- `{skill目录}` 是技能配置的基础目录,默认为 `~/.claude/skills/load-codestyle/`
|
|||
|
|
- `{language}` 是语言名称小写,如 `java`、`python`、`javascript`、`go` 等
|
|||
|
|
|
|||
|
|
**实际查找路径**:
|
|||
|
|
```
|
|||
|
|
~/.claude/skills/load-codestyle/style/{language}/*.md
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Step 3:加载文件内容
|
|||
|
|
|
|||
|
|
1. 使用 `Glob` 工具查找匹配的文件
|
|||
|
|
2. 使用 `Read` 工具读取每个匹配的文件
|
|||
|
|
3. 汇总所有文件内容
|
|||
|
|
|
|||
|
|
### Step 4:输出结果
|
|||
|
|
|
|||
|
|
向用户展示:
|
|||
|
|
```
|
|||
|
|
已加载 {语言} 代码风格参考文件:
|
|||
|
|
|
|||
|
|
文件列表:
|
|||
|
|
- file1.md
|
|||
|
|
- file2.md
|
|||
|
|
...
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
{文件1内容}
|
|||
|
|
---
|
|||
|
|
{文件2内容}
|
|||
|
|
---
|
|||
|
|
...
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Step 5:保存为上下文
|
|||
|
|
|
|||
|
|
将加载的风格文件内容保存到会话记忆中,以便后续代码审查和编写参考:
|
|||
|
|
|
|||
|
|
参考 `~/.claude/skills/load-codestyle/memory/codestyle-{language}.md`
|
|||
|
|
|
|||
|
|
## 支持的语言
|
|||
|
|
|
|||
|
|
| 语言 | 目录 |
|
|||
|
|
|------|------|
|
|||
|
|
| Java | `style/java/*.md` |
|
|||
|
|
| Python | `style/python/*.md` |
|
|||
|
|
| JavaScript | `style/javascript/*.md` |
|
|||
|
|
| TypeScript | `style/typescript/*.md` |
|
|||
|
|
| Go | `style/go/*.md` |
|
|||
|
|
| C/C++ | `style/c/*.md` |
|
|||
|
|
| Rust | `style/rust/*.md` |
|
|||
|
|
| Kotlin | `style/kotlin/*.md` |
|
|||
|
|
|
|||
|
|
## 错误处理
|
|||
|
|
|
|||
|
|
- **目录不存在**:`style/{language}/` 目录不存在时,提示用户并列出已支持的目录
|
|||
|
|
- **没有找到文件**:目录存在但没有 `.md` 文件时,提示用户
|
|||
|
|
- **权限错误**:无法读取文件时,提示具体的权限问题
|
|||
|
|
|
|||
|
|
## 使用示例
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
用户:/load-codestyle java
|
|||
|
|
|
|||
|
|
助手:已加载 Java 代码风格参考文件:
|
|||
|
|
|
|||
|
|
文件列表:
|
|||
|
|
- naming-conventions.md
|
|||
|
|
- spring-boot-guidelines.md
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
# Java 命名规范
|
|||
|
|
|
|||
|
|
## 类命名
|
|||
|
|
- 使用 UpperCamelCase
|
|||
|
|
- 示例:UserService, OrderController
|
|||
|
|
|
|||
|
|
## 方法命名
|
|||
|
|
- 使用 lowerCamelCase
|
|||
|
|
- 示例:getUserById, createOrder
|
|||
|
|
...
|
|||
|
|
---
|
|||
|
|
# Spring Boot 开发规范
|
|||
|
|
|
|||
|
|
## Controller 层
|
|||
|
|
- 使用 @RestController 注解
|
|||
|
|
- 返回统一响应格式 RestResult
|
|||
|
|
...
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 记忆功能
|
|||
|
|
|
|||
|
|
本 Skill 会自动将加载的风格文件内容保存到记忆系统中,使得后续对话可以快速引用。
|
|||
|
|
|
|||
|
|
保存路径:`~/.claude/skills/load-codestyle/memory/codestyle-{language}.md`
|
|||
|
|
|
|||
|
|
格式:
|
|||
|
|
```markdown
|
|||
|
|
---
|
|||
|
|
name: codestyle-{language}
|
|||
|
|
description: {语言} 代码风格参考
|
|||
|
|
type: reference
|
|||
|
|
language: {language}
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
{风格文件内容}
|
|||
|
|
```
|