Always run tests before committing

发布时间:2026/9/10 6:48:27
Always run tests before committing Always run tests before committing【免费下载链接】claude-howtoA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-howtoClaude 会询问存入哪个记忆文件项目记忆 ./CLAUDE.md 或个人记忆 ~/.claude/CLAUDE.md确认后写入对应文件并在后续会话自动加载。 **Note**: 复杂的多行规则可使用 # new rule into memory、# remember this 等显式模式批量编辑则使用 /memory 命令直接在编辑器中打开记忆文件。 ## 三、模板结构逐段拆解一份完整 Project Memory 应该包含什么 以下为模板 [project-CLAUDE.md](https://link.gitcode.com/i/f096675f449abdc03ad5320073796cfd) 的完整内容结构与设计意图。 ### 3.1 Project Overview一屏讲清项目是什么 markdown ## Project Overview - **Name**: E-commerce Platform - **Tech Stack**: Node.js, PostgreSQL, React 18, Docker - **Team Size**: 5 developers - **Deadline**: Q4 2025要点用键值列表而非散文浓缩项目名称、技术栈、团队规模与里程碑。这四行是 Claude 理解项目上下文的第一印象应保持简明、可被快速扫描。3.2 Architecture用导入引用现有文档避免重复维护## Architecture docs/architecture.md docs/api-standards.md docs/database-schema.md这是模板中最容易被低估的机制——记忆导入memory importpath/to/file语法支持相对路径与绝对路径如~/.claude/my-project-instructions.md导入的递归深度上限为 5README 中同时提到 4 层递归的实际限制首次导入外部路径会触发审批对话框以保证安全Markdown 代码块内的指令不会被求值因此可以在文档中安全地示例化导入内容会自动并入 Claude 的上下文避免把架构文档复制进 CLAUDE.md 造成维护双份内容。3.3 Development Standards把潜规则显式化Code Style### Code Style - Use Prettier for formatting - Use ESLint with airbnb config - Maximum line length: 100 characters - Use 2-space indentation格式化工具、Lint 规则、行宽与缩进是代码评审中最频繁的争论点写入记忆后 Claude 生成的代码将自动遵循。Naming Conventions### Naming Conventions - **Files**: kebab-case (user-controller.js) - **Classes**: PascalCase (UserService) - **Functions/Variables**: camelCase (getUserById) - **Constants**: UPPER_SNAKE_CASE (API_BASE_URL) - **Database Tables**: snake_case (user_accounts)模板按文件 → 类 → 函数/变量 → 常量 → 数据库表给出了一套全链路命名矩阵每项都带具体示例比口头约定可靠得多。Git Workflow### Git Workflow - Branch names: feature/description or fix/description - Commit messages: Follow conventional commits - PR required before merge - All CI/CD checks must pass - Minimum 1 approval required分支命名、提交规范、PR 门禁与 CI 检查要求直接决定了 Claude 在替你执行 git 操作时的行为边界。claude-howto 仓库自身的 CLAUDE.md 就是该规范的现实范例其硬性规则包括未经明确请求不得 commit/pushcommit 格式为type(scope): subject等。Testing Requirements### Testing Requirements - Minimum 80% code coverage - All critical paths must have tests - Use Jest for unit tests - Use Cypress for E2E tests - Test filenames: *.test.ts or *.spec.ts覆盖率阈值、测试工具选型与测试文件命名约定帮助 Claude 在新增功能时主动补齐对应测试。API Standards### API Standards - RESTful endpoints only - JSON request/response - Use HTTP status codes correctly - Version API endpoints: /api/v1/ - Document all endpoints with examplesDatabase### Database - Use migrations for schema changes - Never hardcode credentials - Use connection pooling - Enable query logging in development - Regular backups requiredDeployment### Deployment - Docker-based deployment - Kubernetes orchestration - Blue-green deployment strategy - Automatic rollback on failure - Database migrations run before deploy3.4 Common Commands把高频命令固化成速查表## Common Commands | Command | Purpose | |---------|---------| | npm run dev | Start development server | | npm test | Run test suite | | npm run lint | Check code style | | npm run build | Build for production | | npm run migrate | Run database migrations |表格化的命令速查表是投入产出比最高的记忆条目Claude 每次需要运行命令时都直接命中省去猜测package.json的往返。3.5 Team Contacts让 Claude 知道该问谁## Team Contacts - Tech Lead: Sarah Chen (sarah.chen) - Product Manager: Mike Johnson (mike.j) - DevOps: Alex Kim (alex.k)3.6 Known Issues Workarounds沉淀踩坑经验## Known Issues Workarounds - PostgreSQL connection pooling limited to 20 during peak hours - Workaround: Implement query queuing - Safari 14 compatibility issues with async generators - Workaround: Use Babel transpiler问题 → 规避方案的成对写法非常关键先写症状再写绕过手段Claude 遇到同类报错时能直接按记忆中的 Workaround 执行而不是从头排查。3.7 Related Projects建立跨仓库关联## Related Projects - Analytics Dashboard: /projects/analytics - Mobile App: /projects/mobile - Admin Panel: /projects/admin四、目录级记忆在子目录覆盖根 CLAUDE.md 的适用边界Project Memory 并非只能放在仓库根目录。仓库的 directory-api-CLAUDE.md 演示了模块级记忆的写法# API Module Standards This file supplements root CLAUDE.md for everything in /src/api/. Memory files are concatenated, not overridden — the root CLAUDE.md still applies, and Claude Code loads this file on demand when it reads files in this subtree.三个关键认知拼接而非覆盖子目录 CLAUDE.md 是对根文件的补充根 CLAUDE.md 的规则依然生效按需加载Claude 只有在读取该子树下的文件时才按需加载对应记忆避免无关模块浪费上下文适合模块专属标准如请求校验Zod、JWT 认证、统一响应格式、游标分页、限流与缓存策略等仅对该模块生效的规范。五、个人记忆与项目记忆的分工与 project-CLAUDE.md 配套仓库还提供了 personal-CLAUDE.md 模板用于个人跨项目偏好# 个人记忆安装 cp 02-memory/personal-CLAUDE.md ~/.claude/CLAUDE.md两者的分工原则场景应该写入原因团队代码风格、架构、Git 规范Project Memory./CLAUDE.md随 Git 共享给团队个人编辑器快捷键、沟通风格、工具偏好User Memory~/.claude/CLAUDE.md个人偏好不应污染团队上下文单个模块的 API 规范Directory Memory./src/api/CLAUDE.md仅对该模块生效选择错误层级的最常见后果把个人偏好写进项目记忆导致所有协作者的 Claude 都带上了你的习惯。六、加载机制与优先级为什么顺序很重要从仓库 02-memory/README.md 可以确认以下加载行为所有记忆文件在 Claude Code启动时自动加载Claude 从当前工作目录向上逐级遍历发现 CLAUDE.md子目录文件在访问对应目录时按需加载记忆的优先级由文件位置决定Managed Policy 最高、Auto Memory 最低。这意味着不要把冲突规则写在多个层级里高优先级文件会赢但冲突本身就会造成上下文噪音。七、最佳实践清单Do应当做具体而非含糊写Use 2-space indentation for all JavaScript files而不是Follow best practices按章节组织用清晰的 H2/H3 标题结构化记忆文件善用导入引用README.md、docs/architecture.md等已有文档避免复制造成双份维护记录常用命令为 Claude 节省每次翻 package.json 的时间提交到版本控制团队共享的 CLAUDE.md 应 commit 进 git定期评审更新项目演进时同步修订记忆避免过期规则误导 Claude。Dont应当避免绝不存放密钥API keys、密码、token 严禁写入记忆文件不包含敏感数据不写 PII 与商业机密不复制已有内容用导入替代复制粘贴保持精简单文件建议控制在 500 行以内聚焦不膨胀不要过度分层不要为每个子目录都建 CLAUDE.md只在确有模块专属规范时使用避免陈旧过时的记忆比没有记忆更容易造成误导。八、验证你的配置完成写入后可通过以下命令确认记忆文件就位# 项目级记忆 ls -la ./CLAUDE.md # 个人级记忆 ls -la ~/.claude/CLAUDE.md【免费下载链接】claude-howtoA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-howto创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考