# Improve Developer Experience with Husky and lint-staged for pnpm Monorepo ## Summary This PR enhances the developer experience by configuring Husky and lint-staged to work properly with our pnpm monorepo structure. It centralizes Git hooks at the root level and ensures consistent code quality across the project. ## Changes - Centralized Husky and lint-staged configuration at the monorepo root - Added pre-commit hook that runs lint-staged to enforce code quality - Configured lint-staged to: - Format JSON, MD, and YAML files with Prettier - Lint and typecheck TypeScript files before commits - Fixed release script in codex-cli package.json (changed "pmpm" to "npm publish") - Removed duplicate Husky and lint-staged configurations from codex-cli package.json ## Benefits - **Consistent Code Quality**: Ensures all committed code meets project standards - **Automated Formatting**: Automatically formats code during commits - **Early Error Detection**: Catches type errors and lint issues before they're committed - **Centralized Configuration**: Easier to maintain and update in one place - **Improved Collaboration**: Ensures consistent code style across the team ## Future Improvements We could further enhance this setup by **Commit Message Validation**: Add commitlint to enforce conventional commit messages --------- Co-authored-by: Thibault Sottiaux <tibo@openai.com> |
||
|---|---|---|
| .. | ||
| bin | ||
| examples | ||
| scripts | ||
| src | ||
| tests | ||
| .dockerignore | ||
| .editorconfig | ||
| .eslintrc.cjs | ||
| build.mjs | ||
| Dockerfile | ||
| HUSKY.md | ||
| ignore-react-devtools-plugin.js | ||
| package.json | ||
| require-shim.js | ||
| tsconfig.json | ||
| vite.config.ts | ||