@@ -124,11 +124,14 @@ You are a **Principal Software Engineer** responsible for:
124124- ** Shell commands** : Consider platform differences in shell commands and utilities
125125
126126### Git Commit Guidelines
127- - ** 🚨 FORBIDDEN** : NEVER add Claude co-authorship or Claude signatures to commits
128- - ** 🚨 FORBIDDEN** : Do NOT include "Generated with Claude Code" or similar AI attribution in commit messages
129- - ** Commit messages** : Should be written as if by a human developer, focusing on the what and why of changes
130- - ** Professional commits** : Write clear, concise commit messages that describe the actual changes made
131- - ** Pithy messages** : Keep commit messages concise and to the point - avoid lengthy explanations
127+ - ** DO NOT commit automatically** - let the user review changes first
128+ - Use ` --no-verify ` flag only when explicitly requested
129+ - ** Commit message style** : Use conventional format without prefixes (feat:, fix:, chore:, etc.)
130+ - ** Message guidelines** : Keep commit messages short, pithy, and targeted - avoid lengthy explanations
131+ - ** Small commits** : Make small, focused commits that address a single concern
132+ - ** ❌ FORBIDDEN** : Do NOT add Claude Code attribution footer to commit messages
133+ - ❌ WRONG: Including "🤖 Generated with
[ Claude Code
] ( https://claude.ai/code ) \n\nCo-Authored-By: Claude
< [email protected] > "
134+ - ✅ CORRECT: Clean commit messages without attribution footers
132135- ** Commit without tests** : ` git commit --no-verify ` (skips pre-commit hooks including tests)
133136
134137### Package Management
@@ -451,4 +454,83 @@ When working in any Socket repository, check CLAUDE.md files in other Socket pro
451454- Performance is paramount - this code runs millions of times
452455- Maintain strict purl specification compliance
453456- Always run lint and typecheck before committing
454- - Test coverage should remain high
457+ - Test coverage should remain high
458+
459+ ## 📦 Dependency Alignment Standards (CRITICAL )
460+
461+ ### 🚨 MANDATORY Dependency Versions
462+ All Socket projects MUST maintain alignment on these core dependencies . Use ` taze` to manage version updates when needed:
463+
464+ #### Core Build Tools & TypeScript
465+ - ** @typescript/ native- preview** (tsgo - NEVER use standard tsc)
466+ - ** @types/ node** (latest LTS types)
467+ - ** typescript- eslint** (unified package - do NOT use separate @typescript- eslint/* packages)
468+
469+ #### Essential DevDependencies
470+ - **@biomejs/biome**
471+ - **@dotenvx/dotenvx**
472+ - **@eslint/compat**
473+ - **@eslint/js**
474+ - **@vitest/coverage-v8**
475+ - **eslint**
476+ - **eslint-plugin-import-x**
477+ - **eslint-plugin-n**
478+ - **eslint-plugin-sort-destructure-keys**
479+ - **eslint-plugin-unicorn**
480+ - **globals**
481+ - **husky**
482+ - **knip**
483+ - **lint-staged**
484+ - **npm-run-all2**
485+ - **oxlint**
486+ - **taze**
487+ - **trash**
488+ - **type-coverage**
489+ - **vitest**
490+ - **yargs-parser**
491+ - **yoctocolors-cjs**
492+
493+ ### 🔧 TypeScript Compiler Standardization
494+ - **🚨 MANDATORY**: ALL Socket projects MUST use `tsgo` instead of `tsc`
495+ - **Package**: `@typescript/native-preview`
496+ - **Scripts**: Replace `tsc` with `tsgo` in all package.json scripts
497+ - **Benefits**: Enhanced performance, better memory management, faster compilation
498+
499+ #### Script Examples:
500+ ```json
501+ {
502+ "build": "tsgo",
503+ "check:tsc": "tsgo --noEmit",
504+ "build:types": "tsgo --project tsconfig.dts.json"
505+ }
506+ ```
507+
508+ ### 🛠️ ESLint Configuration Standardization
509+ - **🚨 FORBIDDEN**: Do NOT use separate `@typescript-eslint/eslint-plugin` and `@typescript-eslint/parser` packages
510+ - **✅ REQUIRED**: Use unified `typescript-eslint` package only
511+ - **Migration**: Remove separate packages, add unified package
512+
513+ #### Migration Commands:
514+ ```bash
515+ pnpm remove @typescript-eslint/eslint-plugin @typescript-eslint/parser
516+ pnpm add -D typescript-eslint --save-exact
517+ ```
518+
519+ ### 📋 Dependency Update Requirements
520+ When updating dependencies across Socket projects:
521+
522+ 1. **Use taze first**: Run `pnpm run taze` to check and update dependencies systematically
523+ 2. **Version Consistency**: All projects MUST use identical versions for shared dependencies
524+ 3. **Exact Versions**: Always use `--save-exact` flag to prevent version drift
525+ 4. **Batch Updates**: Update all Socket projects simultaneously to maintain alignment
526+ 5. **Testing**: Run full test suites after dependency updates to ensure compatibility
527+ 6. **Documentation**: Update CLAUDE.md files when standard versions change
528+
529+ ### 🔄 Cross-Project Consistency
530+ These standards apply across all Socket repositories:
531+ - `socket-cli`
532+ - `socket-packageurl-js`
533+ - `socket-registry`
534+ - `socket-sdk-js`
535+
536+ When working in any Socket repository, check CLAUDE.md files in other Socket projects for consistency and apply these patterns universally.
0 commit comments