Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

init-prettier-git-hooks

verified

初始化基于 lint-staged + simple-git-hooks + prettier 的 git 提交前代码格式化流程。用于在任何 Node.js 项目中快速搭建代码格式化和 git 钩子配置。

View on GitHub

Marketplace

ruan-cat-tools

ruan-cat/monorepo

Plugin

common-tools

Repository

ruan-cat/monorepo
3stars

claude-code-marketplace/common-tools/skills/init-prettier-git-hooks/SKILL.md

Last Verified

February 3, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/ruan-cat/monorepo/blob/main/claude-code-marketplace/common-tools/skills/init-prettier-git-hooks/SKILL.md -a claude-code --skill init-prettier-git-hooks

Installation paths:

Claude
.claude/skills/init-prettier-git-hooks/
Powered by add-skill CLI

Instructions

# 初始化 Prettier + Git Hooks 格式化流程

本技能用于在任何 Node.js 项目中初始化基于 `lint-staged` + `simple-git-hooks` + `prettier` 的 git 提交前代码格式化流程。

## 1. 必须安装的依赖(devDependencies)

执行以下命令安装所有必要的依赖:

```bash
pnpm add -D prettier @prettier/plugin-oxc prettier-plugin-lint-md lint-staged simple-git-hooks commitlint
```

依赖说明:

|         依赖名称          |                说明                 |
| :-----------------------: | :---------------------------------: |
|        `prettier`         |         核心代码格式化工具          |
|  `@prettier/plugin-oxc`   |   使用 oxc 引擎解析 JS/TS,更快速   |
| `prettier-plugin-lint-md` |       Markdown 文件格式化插件       |
|       `lint-staged`       | 只对 git 暂存区文件执行 lint/format |
|    `simple-git-hooks`     |      轻量级 git hooks 管理工具      |
|       `commitlint`        |        git 提交信息规范校验         |

## 2. 必须创建/修改的配置文件

### 2.1. 创建 `prettier.config.mjs`

从模板复制:参见 [templates/prettier.config.mjs](./templates/prettier.config.mjs)

### 2.2. 创建 `lint-staged.config.js`

从模板复制:参见 [templates/lint-staged.config.js](./templates/lint-staged.config.js)

### 2.3. 创建 `simple-git-hooks.mjs`

从模板复制:参见 [templates/simple-git-hooks.mjs](./templates/simple-git-hooks.mjs)

### 2.4. 更新 `package.json`

需要在 `package.json` 中添加/修改以下内容:

**scripts 部分新增命令:**

```json
{
	"scripts": {
		"format": "prettier --experimental-cli --write .",
		"prepare": "<原有的 prepare 命令> && simple-git-hooks"
	}
}
```

说明:

|   命令    |                 说明                  |
| :-------: | :-----------------------------------: |
| `format`  |     手动格式化整个项目的所有文件      |
| `prepare` | 在 npm install 后自动初始化 git hooks |

**注意:** 如果项目原本没有 `prepare` 命令,则直接设置为 `"prepare": "simple-git-hooks"`。

## 3. 初始化 Git Hooks

配置文件创建完成后,需要执行以下命令来初始化 git hooks:

```bash
# 如果 simple-git-hooks 的 postinstall 脚本被阻止,需要先批准
pnpm approve-builds simple-git-hooks

# 执行初始化 git hooks
npx simple-git-hooks
```

成功后会看到类似输出:

```log
[INFO] Successfully set the pre-commit with command: npx lint-staged
[INFO] Successfully set the commit-msg with command: npx --no-install commitli

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
2947 chars