内容
<div align="center">
# 克劳德初始化
**一行命令为每种编码助手生成 AI 上下文文件 - 只需扫描一次代码仓库。**
`克劳德.md` · `代理.md` · Cursor · Windsurf · Cline · Continue · Kilo Code · Trae · Copilot · `GEMINI.md` · Aider · Junie · Warp
```bash
npx @horiastanxd/claude-init
```
[](https://www.npmjs.com/package/@horiastanxd/claude-init)
[](https://github.com/horiastanxd/claude-init/actions/workflows/ci.yml)
[](./LICENSE)
[](https://nodejs.org)
[](https://glama.ai/mcp/servers/horiastanxd/claude-init)
[**官网**](https://horiastanxd.github.io/claude-init/) · [npm](https://www.npmjs.com/package/@horiastanxd/claude-init) · [更新日志](./CHANGELOG.md)
</div>
<div align="center">

</div>
---
## 为什么
每个 AI 编码工具都希望有一个描述项目的配置文件 - 而且它们都使用不同的名称和格式。手动保持十几个文件的同步非常耗时,而且当技术栈发生变化时,这些文件就会过时。
`克劳德初始化`只需扫描代码仓库一次 - 包括技术栈、脚本、结构、环境变量、约定、git - 然后立即生成所有文件。**无需 API 密钥,无需网络,100% 本地。**
```bash
$ npx @horiastanxd/claude-init
✔ 分析 my-app(TypeScript,Next.js)
+ 克劳德.md
+ 代理.md
+ .cursor/rules/project.mdc
+ .windsurf/rules/project.md
+ .clinerules/project.md
+ .continue/rules/project.md
+ .kilocode/rules/project.md
+ .trae/rules/project_rules.md
+ .github/copilot-instructions.md
+ GEMINI.md
+ CONVENTIONS.md
+ .junie/guidelines.md
+ WARP.md
完成。生成了 13 个文件。
```
## 支持的工具
| 目标 (`-t`) | 生成的文件 | 读取工具 |
| --- | --- | --- |
| `克劳德` | `克劳德.md` | 克劳德代码 |
| `代理` | `代理.md` | OpenAI Codex, Jules, Amp, Zed, Devin, RooCode, Factory, +20 代理 |
| `cursor` | `.cursor/rules/project.mdc` | Cursor(现代 `.mdc` 规则) |
| `windsurf` | `.windsurf/rules/project.md` | Windsurf / Codeium |
| `cline` | `.clinerules/project.md` | Cline, Roo 代码 |
| `continue` | `.continue/rules/project.md` | Continue |
| `kilocode` | `.kilocode/rules/project.md` | Kilo 代码 |
| `trae` | `.trae/rules/project_rules.md` | Trae IDE |
| `copilot` | `.github/copilot-instructions.md` | GitHub Copilot |
| `gemini` | `GEMINI.md` | Gemini CLI |
| `aider` | `CONVENTIONS.md` | Aider |
| `junie` | `.junie/guidelines.md` | JetBrains Junie |
| `warp` | `WARP.md` | Warp 终端 |
> [`代理.md`](https://agents.md) 正在成为共享标准 - 一个文件被越来越多的代理读取。`克劳德初始化`生成它与其他工具的原生格式一起,这样你就有两种方式。
## 用法
```bash
npx @horiastanxd/claude-init # 在当前代码仓库生成所有文件
npx @horiastanxd/claude-init ./path/to/repo # 分析不同目录
npx @horiastanxd/claude-init -t 克劳德,cursor # 只针对特定工具
npx @horiastanxd/claude-init --overwrite # 刷新已存在的文件
npx @horiastanxd/claude-init --dry-run # 以 JSON 格式打印分析结果,不写入文件
npx @horiastanxd/claude-init --recurse # 同时生成到每个工作空间包(monorepo)
npx @horiastanxd/claude-init --enrich # 可选:使用 LLM 增强项目描述(需要 ANTHROPIC_API_KEY)
npx @horiastanxd/claude-init list # 显示所有目标及其路径
```
默认情况下,现有的文件不会被修改 - 重新运行并使用 `--overwrite` 刷新它们。
```
克劳德初始化 [生成] [目录] 分析代码仓库并写入上下文文件(默认)
克劳德初始化检查 [目录] 验证文件是否最新(退出状态码 1 表示过时)
克劳德初始化列表 列出支持的目标
克劳德初始化 mcp 作为 MCP 服务器运行,通过 stdio
```
选项:
-t, --targets <列表> 以逗号分隔的目标 ID,或 "all" (默认:所有)
-o, --output <目录> 输出目录 (默认:.)
--overwrite 覆盖现有文件
--dry-run 以 JSON 格式打印分析结果,不写入文件
--recurse 同时生成到每个工作空间包(monorepo)
--enrich 使用 LLM 增强项目描述(可选)
--enrich-model <模型> --enrich 模型 (默认:claude-opus-4-8)
`--enrich` 是唯一一个离开您机器的功能,它默认关闭 - 所有其他功能都是 100% 本地的。它需要 `ANTHROPIC_API_KEY` 和 Anthropic SDK(`npm install @anthropic-ai/sdk`);如果两者缺一,生成将继续进行,但不会增强。
对于 monorepo,`--recurse` 读取 `package.json`(`workspaces`)或 `pnpm-workspace.yaml` 中的工作空间,然后在根目录和每个包中生成上下文文件,独立分析每个包。
## 保持上下文文件最新
`克劳德初始化检查` 在内存中重新生成并与磁盘进行比较,如果有差异则退出并返回非零状态码。将它集成到 CI 或 pre-commit 钩子中,以确保上下文文件始终最新。
**pre-commit** (`.git/hooks/pre-commit` 或 [pre-commit](https://pre-commit.com)):
```bash
npx @horiastanxd/claude-init 检查 || {
echo "AI 上下文文件已过时 - 运行:npx @horiastanxd/claude-init --overwrite"
exit 1
}
```
**GitHub Actions** - 直接运行 CLI:
```yaml
- run: npx @horiastanxd/claude-init 检查
```
或使用操作:
```yaml
- uses: horiastanxd/claude-init@v1
with:
command: 检查 # 或 "生成"
targets: all # 以逗号分隔的 ID,或 "all"
# args: --overwrite --recurse
```
## 示例输出
<details>
<summary><code>克劳德.md</code> 为 Next.js + Prisma 应用生成</summary>
```markdown
# 我的应用
演示应用程序。
## 技术栈
- 语言:TypeScript
- 框架:Next.js
- 运行时:Node.js
- 包管理器:pnpm
- 数据库:Prisma ORM
- 测试:Vitest
## 命令
```bash
pnpm install # 安装
pnpm run dev # 开发
pnpm run test # 测试
```
## 代码约定
- TypeScript 严格模式已启用 - 保持完整类型安全,避免 `any`。
- 校验工具:ESLint。提交前运行。
- 格式化工具:Prettier。不要手动格式化。
## 环境变量
复制 `.env.example` 到 `.env` 并设置:
- `DATABASE_URL` (**必填**)- Postgres 连接字符串
```
</details>
## MCP 服务器
`克劳德初始化` 也作为 [模型上下文协议](https://modelcontextprotocol.io) 服务器运行,以便代理可以分析代码仓库并自行写入上下文文件。
```bash
# 克劳德代码
克劳德 mcp 添加 克劳德初始化 -- npx @horiastanxd/claude-init --mcp
```
公开的工具:`分析项目`、`生成上下文文件`、`检查上下文文件`。
## 检测内容
- **技术栈** - 语言、框架、运行时、包管理器、数据库、测试运行器、构建/ monorepo 工具、CI 提供商
- **命令** - 安装/开发/构建/测试/校验/格式化,以及其他脚本、`Makefile` / `justfile` / `Taskfile` 目标,以及 `.github/workflows` 中的命令
- **结构** - 精简的文件树、入口点、配置文件
- **约定** - 严格模式、校验工具、格式化工具、导入样式、提交约定
- **环境变量** - 从 `.env.example` 解析,内联注释作为描述
- **Git** - 默认分支、远程仓库、主要作者、频繁更改的文件
语言:JS/TS(npm, pnpm, yarn, bun)、Python(pip, uv, poetry)、Rust(cargo)、
Go(模块)、Java(Maven, Gradle)、Ruby(Bundler)和 PHP(Composer)。
检测的框架包括 Next.js、Remix、Astro、Angular、Gatsby、NestJS、
Express、Fastify、Hono、SvelteKit、Nuxt、Vue、Svelte、React(JS/TS);FastAPI、
Django、Flask(Python);Axum、Actix、Rocket(Rust);Gin、Fiber、Echo(Go);
Spring Boot(Java);Rails、Sinatra(Ruby);以及 Laravel、Symfony(PHP)。
它还识别数据库(PostgreSQL、MySQL、SQLite、MongoDB、Redis、
Supabase、Prisma、Drizzle)、monorepo/构建工具(Nx、Turborepo、Lerna、Vite、
esbuild、webpack)和 CI 提供商(GitHub Actions、GitLab CI、CircleCI、
Azure Pipelines、Jenkins、Travis、Drone)。
## 作为库使用
```ts
import { 分析项目, 生成克劳德Md, 构建文件 } from '克劳德初始化';
const 分析结果 = await 分析项目(process.cwd());
const md = 生成克劳德Md(分析结果);
// 或在内存中渲染每个目标
for (const 文件 of 构建文件(分析结果)) {
console.log(文件.relPath, 文件.content.length);
}
```
## 开发
```bash
npm install
npm run dev -- --dry-run # 从源代码运行
npm test
npm run build
```
欢迎贡献 - 添加新工具通常只需在 [`src/generators/registry.ts`](./src/generators/registry.ts) 中添加一行。参见
[CONTRIBUTING.md](./CONTRIBUTING.md)。
## 路线图
- 更多工具随着其格式稳定而增加
欢迎提出想法和 PR。
## 星级历史
[](https://star-history.com/#horiastanxd/claude-init&Date)
## 许可证
[MIT](./LICENSE)