<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>项目配置 on Time Friend</title><link>https://time-friend.com/zh/tags/%E9%A1%B9%E7%9B%AE%E9%85%8D%E7%BD%AE/</link><description>Recent content in 项目配置 on Time Friend</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Thu, 19 Feb 2026 16:20:00 +0000</lastBuildDate><atom:link href="https://time-friend.com/zh/tags/%E9%A1%B9%E7%9B%AE%E9%85%8D%E7%BD%AE/index.xml" rel="self" type="application/rss+xml"/><item><title>我的 CLAUDE.md 里都放了什么</title><link>https://time-friend.com/zh/archive/claude-code-configuration/</link><pubDate>Thu, 19 Feb 2026 16:20:00 +0000</pubDate><guid>https://time-friend.com/zh/archive/claude-code-configuration/</guid><description>&lt;p&gt;最讽刺的事情是什么? 你一边抱怨&amp;quot;每次新会话都要重新跟 Claude 解释项目背景&amp;quot;, 一边项目根目录里根本没有 &lt;code&gt;CLAUDE.md&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;别笑, 我之前就是这个状态。&lt;/p&gt;
&lt;p&gt;后来发现有个偷懒的办法——直接跑 &lt;code&gt;/init&lt;/code&gt;。Claude 会自动分析你的项目结构、检测构建工具和测试框架, 生成一份初始的 CLAUDE.md。如果已经有 CLAUDE.md 了, &lt;code&gt;/init&lt;/code&gt; 不会覆盖, 而是建议改进。&lt;/p&gt;
&lt;h2 id="claudemd-的本质"&gt;CLAUDE.md 的本质&lt;/h2&gt;
&lt;p&gt;Claude Code 启动的时候会自动读这个文件, 把它当作用来理解项目的起点。你项目怎么跑测试、目录结构是什么、有哪些不能碰的约定——写进去, 它自己就知道了。&lt;/p&gt;
&lt;h3 id="第一类-命令"&gt;第一类: 命令&lt;/h3&gt;
&lt;p&gt;最常见的用法——把命令写进去, 省得每次说:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;## Commands
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 测试: npm test
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 构建: npm run build
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 单文件测试: npx jest src/xxx.test.ts
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Lint: npx eslint src/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;有了这些, Claude 自己知道该跑什么, 不用你再说&amp;quot;跑一下测试&amp;quot;。&lt;/p&gt;
&lt;h3 id="第二类-架构约定"&gt;第二类: 架构约定&lt;/h3&gt;
&lt;p&gt;有些东西 Claude 看代码看不出来:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;## Architecture
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 状态管理用 Zustand, 不用 Redux
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; API 请求统一走 src/api/ 下的封装
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; 不要直接改 src/core/ 里的文件, 只能通过扩展接口
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="第三类-团队规范"&gt;第三类: 团队规范&lt;/h3&gt;
&lt;p&gt;Linter 管不了, 但 review 的时候一定会被说的:&lt;/p&gt;</description></item></channel></rss>