Sobre el proyecto

commitlint es una herramienta de código abierto para linting de mensajes de commit. Verifica que los mensajes se ajusten al formato Conventional Commits, normalmente escrito como `type(scope?): subject`, donde el ámbito (scope) es opcional y se admiten múltiples ámbitos con delimitadores como `/`, `\` y `,`. Los tipos comunes incluyen build, chore, ci, docs, feat, fix, perf, refactor, revert, style y test, y estos pueden personalizarse mediante configuración. El proyecto proporciona una CLI principal, instalada como `@commitlint/cli`, y una API programática. La configuración se recoge automáticamente de archivos como `.commitlintrc`, `.commitlintrc.json`, `.commitlintrc.yaml`, `.commitlintrc.yml`, `.commitlintrc.js`, `.commitlintrc.cjs`, `.commitlintrc.mjs`, `.commitlintrc.ts`, `.commitlintrc.cts`, `.commitlintrc.mts`, `commitlint.config.js`, `commitlint.config.cjs`, `commitlint.config.mjs`, `commitlint.config.ts`, `commitlint.config.cts`, `commitlint.config.mts`, o un campo `commitlint` en `package.json` o `package.yaml`. Se pueden instalar y extender configuraciones compartidas, incluyendo @commitlint/config-angular, @commitlint/config-conventional, @commitlint/config-lerna-scopes, @commitlint/config-nx-scopes, @commitlint/config-patternplate y @commitlint/config-workspace-scopes. Las configuraciones compartidas personalizadas deben seguir el patrón de nomenclatura `commitlint-config-*` para poder referenciarse por nombre corto en el campo `extends`. Los paquetes de API incluyen format, lint, load y read, lo que permite lintar mensajes de commit programáticamente, cargar configuración y leer mensajes desde un rango especificado o la última edición. Herramientas adicionales incluyen un adaptador de commitizen y una CLI de prompt. Las guías de inicio cubren la configuración local, donde los mensajes se lintan al hacer commit con husky, y la configuración de CI, donde los mensajes se lintan durante las compilaciones de CI. El proyecto se desarrolla como un monorepo y requiere Node.js LTS >= 22.12.0 y git >= 2.13.2. Se publica bajo la licencia MIT. Los proyectos relacionados incluyen conventional-changelog, commitizen y create-semantic-module.