{"id":38590927,"url":"https://github.com/mubbi/laravel-commit-lint","last_synced_at":"2026-01-17T08:23:59.993Z","repository":{"id":306903218,"uuid":"1027513386","full_name":"mubbi/laravel-commit-lint","owner":"mubbi","description":"Supercharge Your Git Workflow with Laravel Commit‑Lint","archived":false,"fork":false,"pushed_at":"2025-07-29T14:09:04.000Z","size":38,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-03T23:21:52.873Z","etag":null,"topics":["conventional-commits","git","git-commit-messages","git-hook","laravel"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mubbi.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-28T06:05:26.000Z","updated_at":"2025-09-21T02:06:43.000Z","dependencies_parsed_at":"2025-07-28T11:25:55.850Z","dependency_job_id":"b1f387a5-767f-4b9a-9533-adb42e6200fd","html_url":"https://github.com/mubbi/laravel-commit-lint","commit_stats":null,"previous_names":["mubbi/laravel-commit-lint"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/mubbi/laravel-commit-lint","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mubbi%2Flaravel-commit-lint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mubbi%2Flaravel-commit-lint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mubbi%2Flaravel-commit-lint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mubbi%2Flaravel-commit-lint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mubbi","download_url":"https://codeload.github.com/mubbi/laravel-commit-lint/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mubbi%2Flaravel-commit-lint/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28504363,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T06:57:29.758Z","status":"ssl_error","status_checked_at":"2026-01-17T06:56:03.931Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["conventional-commits","git","git-commit-messages","git-hook","laravel"],"created_at":"2026-01-17T08:23:59.896Z","updated_at":"2026-01-17T08:23:59.977Z","avatar_url":"https://github.com/mubbi.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Laravel Commit Lint [![Github actions Build](https://github.com/badges/poser/workflows/Build/badge.svg)](//packagist.org/packages/mubbi/laravel-commit-lint)\n\n[![Latest Stable Version](https://poser.pugx.org/mubbi/laravel-commit-lint/version.svg)](https://packagist.org/packages/mubbi/laravel-commit-lint)\n[![Total Downloads](https://poser.pugx.org/mubbi/laravel-commit-lint/downloads.svg)](https://packagist.org/packages/mubbi/laravel-commit-lint)\n[![PHP Version Require](http://poser.pugx.org/mubbi/laravel-commit-lint/require/php)](https://packagist.org/packages/mubbi/laravel-commit-lint)\n[![Laravel Version Require](http://poser.pugx.org/mubbi/laravel-commit-lint/require/illuminate/support)](https://packagist.org/packages/mubbi/laravel-commit-lint)\n[![Coverage Status](https://coveralls.io/repos/github/mubbi/laravel-commit-lint/badge.svg?branch=feature/coveralls-github-action)](https://coveralls.io/github/mubbi/laravel-commit-lint?branch=feature/coveralls-github-action)\n\n## Requirements\n\n- Laravel \u003e= 12.0\n- PHP \u003e= 8.2\n\n## Overview\n\nLaravel Commit Lint helps teams enforce [Conventional Commits](https://www.conventionalcommits.org/) in Laravel projects by automatically validating commit messages using a Git hook. This ensures consistent commit history and enables better automation and tooling.\n\n## Features\n\n- Automatic commit message validation using a `commit-msg` hook\n- Customizable hook installation path via Artisan command\n- Clear error messages and guidance for invalid commit messages\n- Skips validation for merge, WIP, and revert commits\n- Extensible via Laravel’s service provider and command structure\n\n## Installation\n\n```bash\ncomposer require mubbi/laravel-commit-lint --dev\nphp artisan commitlint:install\n```\n\n\n## Usage\n\nAfter installation, every commit will be checked for Conventional Commit compliance.\n\n\nIf your message does not match the required format, the commit will be rejected with guidance.\n\n### Example of valid commit messages\n- feat: add user authentication\n- fix: resolve issue with email validation\n- docs: update API documentation\n- refactor: improve query performance\n- chore: update dependencies\n- style: format code according to PSR-12\n- test: add unit tests for login\n\n### Example of invalid commit messages\n- updated stuff\n- bug fix\n- changes\n- fixed it\n- wip: working on something (WIP is skipped, but not recommended for final commits)\n\n## How it works\nAfter installation, the package places a `commit-msg` hook in your `.git/hooks` directory (or a custom path if specified). This hook runs on every commit and checks your commit message against the Conventional Commits specification using a regex. If the message is invalid, the commit is rejected and guidance is shown.\n\nThe validation script automatically skips validation for merge, WIP, and revert commits.\n\n## Configuration\nYou can install the hook to a custom path:\n\n```bash\nphp artisan commitlint:install /custom/path/to/commit-msg\n```\n\nYou may also specify a custom stub file for the hook script:\n\n```bash\nphp artisan commitlint:install --stub=/path/to/custom-stub\n```\n\n## Troubleshooting\n### Common Issues\n- **Hook not working:** Ensure your repository has a `.git/hooks` directory and that the `commit-msg` file is executable (`chmod +x .git/hooks/commit-msg`).\n- **Artisan command not found:** Make sure the package is installed as a dev dependency and your Laravel app's autoload files are up to date (`composer dump-autoload`).\n- **Commit rejected unexpectedly:** Check your commit message format and ensure it matches the Conventional Commits spec. See valid examples above.\n- **Custom hook path not working:** Verify the path exists and is writable.\n\nIf you encounter other issues, please [open an issue on GitHub](https://github.com/mubbi/laravel-commit-lint/issues) with details.\n\n## Uninstallation\n\nTo remove the commit lint hook, simply delete the `commit-msg` file from your `.git/hooks` directory:\n\n```bash\nrm .git/hooks/commit-msg\n```\n\nTo remove the package:\n\n```bash\ncomposer remove mubbi/laravel-commit-lint\n```\n\n## FAQ\n\n**Q: Does this work with all git clients?**\nA: Yes, as long as your client supports git hooks.\n\n**Q: Can I customize the commit message rules?**\nA: You can modify the stub or extend the validation logic in the package.\n\n**Q: Will this block merge commits?**\nA: No, merge, WIP, and revert commits are skipped.\n\n\n## Contributing\n\nContributions are welcome! Please open issues or submit pull requests via GitHub. Follow Conventional Commits for your messages.\n\nFor questions and discussions, visit [GitHub Discussions](https://github.com/mubbi/laravel-commit-lint/discussions).\n\nFor more details, see the [Contributing Guide](.github/CONTRIBUTING.md).\n\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n\n## Security\n\nPlease refer to our [Security Policy](.github/SECURITY.md) for reporting vulnerabilities and security concerns.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmubbi%2Flaravel-commit-lint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmubbi%2Flaravel-commit-lint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmubbi%2Flaravel-commit-lint/lists"}