AgentSkillsCN

git-gitignore

Java 开发规范,包含命名约定、异常处理、Spring Boot 最佳实践等

SKILL.md
--- frontmatter
name: git-gitignore
description: |
  自动生成符合此代码库的 .gitignore 文件。

  适用场景:
  - 初始化新项目时创建 .gitignore
  - 为现有项目补充或更新忽略规则

  触发词:gitignore

.gitignore 生成规范

执行步骤

  1. 加载模板 - 按顺序加载 8 个模板
  2. 处理模板 - 应用特殊处理(如 macOS 的 Icon* 替换)
  3. 添加标题 - 为每个模板添加对应标题 ### 标题 ###
  4. 追加项目特定规则 - 添加 ### Project ### 和自定义规则
  5. 合并内容 - 将所有内容合并为一个列表
  6. 写入文件 - 将内容写入 .gitignore
  7. 规则去重 - 对文件中的规则行进行全局去重,保留首次出现的位置

模板列表

按以下顺序加载 8 个模板,每个模板必须生成对应的标题:

顺序模板名称标题特殊处理
1Global/Windows.gitignore### Windows ###
2Global/macOS.gitignore### MacOS ###Icon[^M]Icon*
3Global/JetBrains.gitignore### JetBrains ###
4Global/VisualStudioCode.gitignore### VSCode ###
5Java.gitignore### Java ###
6Kotlin.gitignore### Kotlin ###
7Gradle.gitignore### Gradle ###
8Maven.gitignore### Maven ###

模板获取规则

使用:https://gitee.com/huang6349/gitignore/raw/main/{模板名称}

模板处理规则

macOS 模板特殊处理

Icon[^M] 替换为 Icon*,解决 IDEA 语法兼容性问题。

输出格式规则

  • 每个模板开头必须添加对应标题,格式为 ### 标题名称 ###
  • 使用上表预定义的标题,禁止使用模板原标题
  • 标题必须独占一行,第一个模板前无空行,其他模板前保留一个空行,标题后紧跟模板内容
  • 模板原内容(包括注释)必须完整保留,仅在去重和特殊处理阶段可以移除重复项

规则去重

去重是生成 .gitignore 时的核心步骤,必须严格执行:

  1. 对所有模板的规则行进行全局去重
  2. 规则行定义:非空且不以 # 开头的行
  3. 保留每个规则首次出现的位置
  4. 后续重复的规则及其关联注释直接跳过,不输出
  5. 不允许同一规则出现多次

项目特定规则

添加标题之后、合并之前,追加项目特定规则:

gitignore
### Project ###
!libs/*.jar

此规则同样参与后续的去重判断。