惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
P
Privacy International News Feed
P
Proofpoint News Feed
Security Archives - TechRepublic
Security Archives - TechRepublic
C
CXSECURITY Database RSS Feed - CXSecurity.com
Know Your Adversary
Know Your Adversary
Security Latest
Security Latest
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Attack and Defense Labs
Attack and Defense Labs
NISL@THU
NISL@THU
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
W
WeLiveSecurity
GbyAI
GbyAI
N
News and Events Feed by Topic
N
News | PayPal Newsroom
Y
Y Combinator Blog
C
CERT Recently Published Vulnerability Notes
N
Netflix TechBlog - Medium
S
Security Affairs
Spread Privacy
Spread Privacy
罗磊的独立博客
腾讯CDC
MyScale Blog
MyScale Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
L
LINUX DO - 热门话题
The Cloudflare Blog
L
LangChain Blog
博客园_首页
H
Hacker News: Front Page
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
博客园 - 聂微东
SecWiki News
SecWiki News
A
Arctic Wolf
爱范儿
爱范儿
Google Online Security Blog
Google Online Security Blog
T
Threat Research - Cisco Blogs
Hacker News - Newest:
Hacker News - Newest: "LLM"
有赞技术团队
有赞技术团队
The GitHub Blog
The GitHub Blog
Cyberwarzone
Cyberwarzone
博客园 - 叶小钗
V
Visual Studio Blog
V
V2EX
T
Tailwind CSS Blog
Project Zero
Project Zero
T
The Blog of Author Tim Ferriss
F
Fortinet All Blogs
MongoDB | Blog
MongoDB | Blog
D
Docker

博客园 - 郭慕荣

彻底搞懂 Codex Skill 与插件:区别、试用、核心作用、项目落地全指南(程序员实战向) Codex Skill 和插件到底有什么区别?程序员如何在项目中落地使用 claudecode 配置防止配置文件泄露总结 Claude code分析外部文件总结 Claude code三种模式详解 hasCompletedOnboarding详解 Claudecode 有哪些常用的命令 claude code 的setting文件详解 Docker部署zookeeper总结 Mac中git ssh的配置(GitLab) Java 类加载机制 面试题(一) 如何监控和调优JVM性能? jvm常用的参数有哪些? 怎么配置? hashmap 和currenthashmap 的原理?详解一下 aop在项目中使用的场景?怎么使用? Java dubbo spring springboot中的spi机制 spring中常见的两种代理模式 Redis的zset 面试汇总 drools 规则引擎在线化配置 springcloud中常用的注解详解 springcloud中网关gateway总结 spring是怎么解决循环依赖的? MySQL 死锁 怎么处理? 在写left join的时候 是大表在左侧 还是小表在左侧(二) 在写left join的时候 是大表在左侧 还是小表在左侧(一) nacos客户端(接口调用者)如何感知被调用服务下线? (二) nacos客户端(接口调用者)如何感知被调用服务下线?(一) 在MySQL中 redolog undolog binlog 写入的场景,顺序
claude.md文件详解
郭慕荣 · 2026-06-06 · via 博客园 - 郭慕荣

Claude.md 完整详解(Claude Code 项目规则文件|目录位置 + 配置要求 + 开发落地实操)

一、什么是 CLAUDE.md(项目规则说明书,Claude Code 专属项目级提示词配置) 

CLAUDE.md = 项目专属 AI 开发规范手册,放在项目根目录,是给 Claude Code 阅读的项目约束文档,优先级高于全局配置、settings.json。
作用:
  1. 定义项目技术栈、编码规范、业务背景、代码编写规则;
  2. 强制 AI 遵循项目架构、统一代码风格、避免乱写代码;
  3. 限定 AI 的开发边界(不能改配置、不能私自改表结构、遵循项目 DDD / 分层);
  4. 区分于 settings.json
    • settings.json:API、模型、文件读写权限、环境变量(底层运行配置)
    • CLAUDE.md:业务 & 编码规则、项目知识、开发约束(AI 行为约束)

二、文件存放目录(固定位置)

1. 标准路径:项目根目录 / CLAUDE.md

finance-accounting-engine/       # 项目根目录
├── CLAUDE.md                       # 【固定位置】项目规则文档
├── .claude/
│   ├── settings.json
│   └── settings.local.json
├── pom.xml
├── finance-accounting-engine-core/
└── finance-accounting-engine-task/
⚠️ 关键:必须放在项目根目录,文件名固定大写 CLAUDE.md,不能放子模块、不能改名
生效逻辑:进入项目目录启动 claude 命令行时,Claude Code 自动加载同目录 CLAUDE.md 全文作为系统提示词

补充:全局公用 CLAUDE.md(全项目通用规范,可选) 

全局路径:~/.claude/CLAUDE.md

  • 全局规则:所有没有项目级CLAUDE.md的工程,自动加载全局规则;
  • 优先级:项目根目录 CLAUDE.md > 全局~/.claude/CLAUDE.md

三、开发人员配置规范 & 文件编写硬性要求

(一)格式硬性要求

  1. 文件名严格大写:CLAUDE.md,不能小写 claude.md、不能改名 claude-rule.md;
  2. 标准 Markdown 格式,分段、分级标题## ###,禁止乱码、无格式大段文本;
  3. 文件编码:UTF-8,Mac 默认保存即可;
  4. 可以提交 Git(纯规范文档,无密钥、无隐私信息,推荐纳入版本管理)。

(二)内容编写四大必填模块(Java 财务项目标准模板)

模块 1:项目基础信息(项目名称、技术栈、架构)

告知 AI 项目是什么、技术选型、整体架构,防止 AI 用错框架。

模块 2:编码强制规范(代码格式、命名、阿里规范、SQL 规范) 

约束 AI 生成代码统一规范,贴合团队开发标准。 

模块 3:目录 & 分层约束(分包规则、各层职责:Controller/Service/Mapper/Entity)

禁止 AI 乱建包、乱分层,适配项目现有 DDD / 分层架构。 

模块 4:权限 & 操作红线(禁止操作项:不能删表、不能改配置、不能读取密钥 yml、不能批量 DELETE 全表)

管控 AI 高危操作,避免生产数据风险。

四、财务 NC 项目实战示例(finance-accounting-engine / CLAUDE.md 完整样例)

# CLAUDE.md 财务NC核算引擎项目开发规范
> 本规则约束Claude Code所有代码生成、代码分析、需求开发行为,必须严格遵守

## 一、项目基础信息
1. 项目名称:finance-accounting-engine,财务源数据清洗&凭证核算引擎
2. 技术栈:Java8 + SpringBoot2.x + MyBatis + Oracle + Dubbo + Redis,Maven多模块聚合项目
3. 数据库:Oracle,分表规则nc_source_data_0000、nc_source_data_0001按后缀分表
4. 业务场景:NC系统财务凭证源数据落地、费用摊销、凭证生成、历史数据清理

## 二、编码强制规范
1. 编码规范:严格遵循《阿里巴巴Java开发手册》,禁止魔法值、禁止字段大小写混乱;
2. DTO/Entity:禁止使用CopyUtil工具类,必须手动get/set赋值;
3. SQL规范:Oracle语法,日期使用TO_DATE/TO_CHAR,字段别名下划线命名;
4. 分页/删除:批量删除禁止一次性全表DELETE,必须分批LIMIT分页删除;
5. 异常:自定义项目异常BizException,禁止直接抛出Exception。

## 三、项目分包分层规则(强制遵循,禁止新建自定义包)
项目分两大模块core(核心业务)、task(定时任务)
### core模块分包:
com.zto.api        Dubbo对外暴露接口
com.zto.impl       业务实现层
    ├ data         源数据拉取、删除业务(FetchDataServiceImpl)
    ├ amortize     费用摊销业务
com.zto.mapper     Mybatis Mapper接口
com.zto.entity     Oracle实体,和数据库字段一一对应
com.zto.util       项目工具类
> 规则:新增代码必须落在对应分包,不允许新建无关包路径

## 四、AI操作红线【重要,禁止违规】
### 1. 文件访问限制
1. 禁止读取:**所有resources下yml/properties配置文件(db账号密钥、数据源配置)**
2. 禁止修改:application.yml、数据库配置文件、.claude/settings.local.json
### 2. SQL&数据库高危禁止
1. 禁止生成DROP TABLE、TRUNCATE、无WHERE全表DELETE语句;
2. 历史数据删除必须按sum_date年月分批分页删除,单次上限1000条;
3. 修改表结构必须先输出DDL给开发确认,不允许直接生成执行ALTER语句。
### 3. 系统操作禁止
禁止生成rm、rm -rf、高危shell删除命令。

## 五、辅助开发要求
1. 分析代码时优先从FetchDataServiceImpl(源数据删除业务)切入;
2. 优化SQL优先考虑现有联合索引idx_nc_source_data(sum_date,merge_subject_code,department_code,company_code);
3. 输出架构分析时按【模块→分层→核心类→数据库表】四段式输出。

五、开发人员配置落地步骤(Mac 实操)

步骤 1:进入项目根目录,新建 CLAUDE.md

# 终端进入项目根目录
cd ~/.../code/finance-accounting-engine
# 创建并打开CLAUDE.md
code CLAUDE.md 

粘贴上面规范模板,按需修改项目信息。

步骤 2:全局通用规范配置(所有新项目自动生效)

# 打开全局CLAUDE.md,写入团队通用Java规范
code ~/.claude/CLAUDE.md

全局文件写通用阿里 Java 规范、通用禁止规则,新项目无项目 CLAUDE.md 自动继承。

步骤 3:验证配置是否生效

在 Claude Code 命令行输入:

优化nc_source_data_0000删除逻辑

AI 会自动读取 CLAUDE.md 规则,自动生成分批分页删除代码,不会生成一次性全表 DELETE。

六、CLAUDE.md 和 settings.json 联动关系

文件管控范围生效时机
CLAUDE.md AI 编码规则、项目知识、业务约束、生成代码规范 AI 每次对话初始化自动加载全文
settings.json API 密钥、大模型选择、文件黑白名单、环境变量 Claude 进程启动加载
联动示例:
settings.json 通过denied_paths禁止 AI 读取 yml 文件;CLAUDE.md 从业务层面再次强调禁止读取配置,双重安全防护。

七、常见踩坑注意事项

  1. ❌ 文件名小写 claude.md → Claude 识别失效,必须大写 CLAUDE.md;
  2. ❌ 放在 src/main 下子目录 → 无法自动加载,只能项目根目录;
  3. ❌ 在 CLAUDE.md 写入 API 密钥、数据库密码 → 错误,密钥放 settings.local.json,CLAUDE.md 只存规则;
  4. ✅ 变更 CLAUDE.md 后:重启当前 claude 会话即可立刻生效,不用重启终端。