Logo Vincent
返回文章列表

Claude Code /init:10 秒自动生成 CLAUDE.md

Claude
Claude Code /init:10 秒自动生成 CLAUDE.md

什么是 /init

如果你用过 Claude Code,你一定知道 CLAUDE.md 这个文件——它是你给 Claude Code 的”项目说明书”,让它一启动就知道你的项目是什么、怎么构建、有哪些规范。

但手写 CLAUDE.md 有时候挺烦的,尤其是接手一个新项目或者老项目的时候,你自己都不一定能快速梳理清楚所有细节。

这就是 /init 命令的用武之地。

/init 是 Claude Code 的一个斜杠命令,在交互模式下运行,它会自动扫描你的整个代码仓库,然后生成一份 CLAUDE.md 文件。

简单来说:你不用自己写,让 Claude Code 帮你写。

它做了什么

当你在项目根目录运行 /init 时,Claude Code 会:

  1. 扫描项目结构 —— 遍历目录树,识别项目类型(Next.js?Express?Python?Monorepo?)
  2. 分析配置文件 —— 读取 package.jsontsconfig.jsonpyproject.tomlCargo.toml 等,提取技术栈、依赖、脚本命令
  3. 理解架构 —— 识别源码目录结构、核心模块、入口文件
  4. 检测开发规范 —— 查看 ESLint、Prettier、lint-staged 等配置,提取编码规范
  5. 生成 CLAUDE.md —— 把以上信息整理成一份结构化的 Markdown 文件,写入项目根目录

整个过程是自动的,你只需要确认一下生成的内容是否满意。

怎么用

基本用法

进入你的项目目录,启动 Claude Code,然后输入:

/init

就这么简单。Claude Code 会开始分析你的项目,几秒到几十秒后(取决于项目大小),它会生成 CLAUDE.md 的内容并展示给你预览。

确认没问题后,文件就会写入项目根目录。

适用场景

  • 新接手一个项目 —— 不熟悉代码?让 /init 先帮你梳理一遍,生成的 CLAUDE.md 本身就是一份不错的项目概览
  • 老项目补文档 —— 项目跑了几年,从来没有 CLAUDE.md?一个命令搞定
  • 快速上手开源项目 —— clone 下来,跑一个 /init,立刻有了项目的全局视角
  • 团队协作 —— 生成后提交到仓库,团队里每个人用 Claude Code 时都能受益

注意事项

  • /init 只能在 Claude Code 的交互模式下使用,不能在命令行直接 claude /init
  • 如果项目根目录已经有 CLAUDE.md,/init 会基于现有内容进行更新,不会直接覆盖
  • 生成的内容是一个不错的起点,但建议你根据实际情况手动调整和补充

生成的 CLAUDE.md 长什么样

/init 生成的 CLAUDE.md 通常包含以下几个部分:

# CLAUDE.md

## Project Overview
项目简介、技术栈、核心功能描述。

## Commands
常用的构建、测试、lint、部署命令。

## Architecture
目录结构说明、核心模块、数据流向。

## Code Style
编码规范、格式化配置、命名约定。

## Development Workflow
开发流程、分支策略、CI/CD 相关信息。

具体内容会根据你的项目类型和复杂度有所不同。一个简单的 Node.js 项目可能只有几十行,一个大型 monorepo 可能会更详细。

实际例子

例子一:Next.js 项目

在一个 Next.js 15 项目中运行 /init,生成的 CLAUDE.md 大致如下:

# CLAUDE.md

## Project Overview
A Next.js 15 application using App Router with TypeScript and Tailwind CSS.

## Commands
| Command          | Purpose              |
| ---------------- | -------------------- |
| `npm run dev`    | Start dev server     |
| `npm run build`  | Production build     |
| `npm run lint`   | Run ESLint           |
| `npm run test`   | Run tests with Jest  |

## Architecture
- `src/app/` - App Router pages and layouts
- `src/components/` - Reusable UI components
- `src/lib/` - Utility functions and shared logic
- `src/styles/` - Global styles and Tailwind config

## Code Style
- TypeScript strict mode enabled
- Prettier with 2-space indent, single quotes
- ESLint with Next.js recommended rules

例子二:Monorepo 项目

在一个 Lerna + Nx 管理的 monorepo 中运行 /init

# CLAUDE.md

## Project Overview
A frontend monorepo managed by Lerna + Nx with npm workspaces.

## Commands
| Command            | Purpose                              |
| ------------------ | ------------------------------------ |
| `npm run build`    | Build all packages (lerna run build) |
| `npm run test`     | Test all packages                    |
| `npm run lint`     | Full pipeline: build → lint → test   |

## Monorepo Rules
- Install deps from root: `npm i <pkg> -w <sub-package>`
- Run scripts from root: `npm run <script> -w <sub-package>`
- Never cd into sub-packages to install or run scripts.

## Packages
- `packages/app` - Main web application (Next.js)
- `packages/ui` - Shared UI component library
- `packages/utils` - Common utility functions

例子三:Python 项目

在一个 FastAPI 项目中运行 /init

# CLAUDE.md

## Project Overview
A FastAPI REST API with SQLAlchemy ORM and PostgreSQL.

## Commands
| Command                        | Purpose              |
| ------------------------------ | -------------------- |
| `uvicorn app.main:app --reload`| Start dev server     |
| `pytest`                       | Run tests            |
| `alembic upgrade head`         | Run DB migrations    |

## Architecture
- `app/main.py` - Application entry point
- `app/routers/` - API route handlers
- `app/models/` - SQLAlchemy models
- `app/schemas/` - Pydantic schemas
- `alembic/` - Database migrations

## Code Style
- Black formatter, line length 88
- isort for import sorting
- Type hints required on all functions

/init vs 手写 CLAUDE.md

/init 自动生成手动编写
速度几秒钟几十分钟
准确性基于代码分析,客观准确基于个人理解,可能遗漏
深度覆盖面广,但可能缺少业务上下文可以写入业务逻辑、��坑经验
维护项目变化后可以重新运行更新需要手动维护
最佳实践先 /init 生成基础版,再手动补充细节

我的建议是:先用 /init 生成一个基础版本,然后在此基础上手动补充。比如加上业务相关的注意事项、已知的坑、团队约定等——这些是 Claude Code 扫描代码扫不出来的。

写在最后

/init 是 Claude Code 里一个很小但很实用的命令。它解决的问题很简单:让你不用从零开始写 CLAUDE.md

对于新项目,它帮你快速建立 Claude Code 的项目认知。对于老项目,它帮你补上一直缺失的那份”AI 友好”��项目文档。

下次接手一个新项目的时候,试试在 Claude Code 里敲一个 /init,看看它对你的项目理解得怎么样。你可能会惊讶于它的准确程度——毕竟,代码不会骗人。

© 2026 vincentqiao.com . 保留所有权利。