• hunter
    置顶
    2026-01-30 来自浙江
    黄老师,我有一个问题。我是做后端的,能清楚的知道后端的架构和分层,能知道怎么写CLAUDE.md。如果我接手一个老的前端项目,我改怎么设计CLAUDE.md呢?我对前端写的什么架构和分层并不是很清楚。

    作者回复: 好的。从分析原有代码库开始: 1. 这是一个已经存在的老项目,所以,你自己可以浏览这个项目的组织。当然更便捷的方法是让Claude来帮你做项目的分析(/init命令可以直接剖析项目生成一版claude.md)。它是高手。 2. 更重要的一步是,有了分析结果之后,需要把这个结果转换成约束规则——这是未来任何新改动所必须遵循的!比如说,从上面,我们得知,这个是 Vue3 + ...... + 按页面组织组件。。。 然后,可以这样写了: # CLAUDE.md ## 技术栈 Vue 3 + TypeScript + Pinia + Vue Router + Axios ## 目录约定 - src/views/ — 页面级组件,一个路由一个文件 - src/components/ — 可复用组件 - src/stores/ — Pinia 状态管理,一个领域一个 store - src/api/ — 后端接口封装,不要在组件里直接调 axios ## 规则 - 新页面放 views/,可复用的抽到 components/ - API 调用统一走 src/api/,不要在组件里写 axios.get - 状态管理用 Pinia,不要用 provide/inject 传跨层数据 重点:我们不一定要很懂前端,但是我们需要把这个项目的规矩固化下来,避免后续修改引入任何不一致的东西。。。

    共 5 条评论
    4
  • 术子米德
    2026-01-31 来自浙江
    CLAUDE.md 始终给我记着 Rules 做某事前提醒一下 Skill 具体做的时候,哪些特定操作,尤其是脚本,拿来用,别推理 Command 好用的过程积累下来,下次懒得再重复相同过程

    作者回复: 总结的也太好了呀

    
    5
  • 6点无痛早起学习的和...
    2026-02-01 来自北京
    这里分享一下我真实工程实践的 cc 的 Claude.md 实践和配置 1. 如何显式知道模型有没有忘记 claude.md文件,在规范后面加[ok!],或者[老公],具体例子见下面 2. 里面加你以为模型知道,但模型实际容易犯错的问题,比如文章里说的缩进,如果"模型本身就能缩进是 2 空格做对,且一直稳定不出错",那其实没必要作为规范去写入 3. 因为平常也会经常用到 Codex,我会创建AGENTS.md,同时软链接指向claude.md,这样就可以保证只需要维护一处规则。 我现在已有的 claude.md,目前也在持续迭代中,跟大家一起交流交流。 ~/.claude/CLAUDE.md # CLAUDE.md 1. Your response needs to be in Chinese. 2. 从最本质的角度,用第一性原理来分析问题,如果我的要求不够明确,你需要主动向我提出你的问题,没有任何问题后才能行动。 3. 尊重事实比尊重我更为重要。如果我犯错,请毫不犹豫地指正我,以便帮助我提高 4. 当你被质疑时你需要坚持从需求出发验证,而不是急于"回应问题",如果是我的需求出发就有问题,你可以反问我 5. 每次回复时都叫我[老公] 项目级别: 你是一个资深的 java 工程师和架构师,你需要遵守以下规范 1. 对当前代码进行 Review、分析、改动、设计技术方案的时候,要充分考虑到代码调用方和代码下游的相关链路,不能过度设计和编码,追溯调用链,要重复考虑、深入查看到这个类/这个方法上下游整个功能链路、业务场景,而不是独立的类或者方法,代码优化不仅要解决表面问题,更要从领域模型和职责归属的角度思考最佳方案。 2. 代码和架构的可维护性>可扩展性>可读性>简单,优先组合而非继承 - 只在真正的 'is-a' 关系中使用继承,在 'has-a' 或行为混合时优先组合 3. 遵守 fast fail,不要过度防御式编程,在整个链路里,只需要一处防御式编程即可,保证防御式编程的高复用性 4. 充血模型>贫血模型,但是要结合当前已有代码去平衡充血模型和贫血模型的使用 5. 日志只能是 info 或者 error,不能写 warn,日志里写英文 6. 适当写注释和说明,且用中文 7. 项目用的 java8,String 类型的防御式编程用xx 9. 优先使用 CollectionUtils 判断集合是否为空,xx 10. error 日志需要用占位符输出错误码,xx 11. 首选用JsonUtil,import xx; 12. 避免魔法值 13. 可以用 lombok 的注解 14. 每次回复的最后都加上[ok!]
    展开

    作者回复: 第5条亮了。 “和尚”动了凡心.. ps... 感谢分享,大家都把自己的CLAUDE.md长啥样拿出来亮一亮!(先脱敏!)

    
    2
  • 无法输入
    2026-01-31 来自英国
    黄老师你好,如果我希望一个子部件的代码生成都按照一个范式开发,我提供一个模板文件夹,然后我希望后续生成这类子部件的代码都去参考这个模版进行生成,这种任务是Claude.md是放到项目目录里好些,还是做成一个skill好些呢

    作者回复: 这个问题很好,也是很多同学在实际项目中会遇到的典型场景。答案取决于几个关键因素。 核心:这个知识是"时刻需要"还是"按需触发"? CLAUDE.md是项目级,每次都加载。Skill Claude 判断需要时才加载,按需消耗,适合特定任务触发的多步骤工作流,比如说根据模板生成组件代码 。 哪你的场景呢? 相信你有答案了 。。。。。。 ——"生成某类子部件时参考模板文件夹"——是一个按需触发的多步骤工作流,不是每次对话都需要的静态规则。所以推荐用 Skill。

    
    2
  • hao-kuai
    2026-01-31 来自江苏
    Claude.md 过大的时候优化方式:拆分文件并引用,拆分成rule,拆分成skills,这3种方式有什么区别?要如何选择呢?

    作者回复: 核心区别在于加载时机——谁在什么时候消耗 token。 CLAUDE.md 拆分文件 始终加载 Rules (无 glob) 始终加载 Rules (有 glob) 匹配文件时加载 Skills 触发时才加载

    
    2
  • 叶绘落
    2026-02-02 来自广东
    内容清晰详尽细致,案例具体明确实操性强。 确实比免费的内容更具学习价值,点赞了。 期待后续更新能保持这般质量。

    作者回复: 后续章节那必须质量更高啊。

    
    1
  • 悟空聊架构
    2026-01-30 来自广东
    🤔一、疑问:claude 是否可以限制 记忆文档的数量和内容的大小?因为CLAUDE.local.md都是在本地的,可以无限加,不仅会耗费很多 token,可能会对 claude 造成干扰、卡顿等。 📚二、思考题: 1. 看看你现在项目的 CLAUDE.md(如果有),有哪些内容可以精简或移出去? (1) claude 自己本身知道的规则,就不要写了。比如:基本命名规范,通用最佳实践(设计模式) (2)如果和本项目无关的也可以移出去。 2. 如果团队有 5 个不同技术栈的项目,你会如何设计用户级记忆? 采用分层记忆架构,用文件夹和文件名来区分 1. global-memory.md 2. project-specific/project-a/xxx 3. tech-stack-specific/python-memory.md 3. 什么内容适合放在 CLAUDE.local.md 而不是 CLAUDE.md? (1)自己的编码风格偏好,比如命名前缀/后缀习惯

    作者回复: 这个担忧是对的啊。Claude Code 没有硬性限制文件数量和大小,但有实际的代价,就是每次对话都加载,全部计入上下文。没有硬性限制,但是我们要自己克制自己,不能什么都往里面放。

    
    1
  • sheep
    2026-02-01 来自广东
    claude的/init生成CLAUDE.md原理是啥哇,这个不同模型生成的规则应该也会不一样?

    作者回复: 原理应该就是当你运行 /init 时,Claude会扫描代码库吧: 扫描顺序(猜测的...): ├── package.json / requirements.txt / Cargo.toml → 识别技术栈 ├── README.md / CONTRIBUTING.md → 提取项目说明 ├── .gitignore / .editorconfig → 理解项目规范 ├── 目录结构 → 分析架构模式 ├── 配置文件 (tsconfig, webpack, docker等) → 了解构建流程 └── 实际代码文件 → 检测代码风格 不同模型能力当然有区别,深度和全面性上,Opus > Sonnet > Haiku 递减 你可以尝试一下用不同模型对同一个复杂项目生成规范时的差异。建议用Opus生成全面的规范,然后手动精简。

    
    
  • 张希功(pokercc)
    2026-01-30 来自河南
    老师写的很好,实操性很强👍

    作者回复: 🥰

    
    
  • Geek_c9f741
    2026-01-30 来自广东
    希望老师能讲讲flutter

    作者回复: 我不大熟悉flutter。不过我猜想同学底层逻辑是比较关注工程复杂度上来之后,系统怎么不崩。后续课程我们可以找机会思考通用性方法论,能放在 Flutter、前端、后端、本地 Agent 工程里的那种。

    
    