{"id":21952046,"url":"https://github.com/systangotechnologies/commit-message-lint","last_synced_at":"2025-04-23T04:04:53.857Z","repository":{"id":42344193,"uuid":"189050465","full_name":"SystangoTechnologies/commit-message-lint","owner":"SystangoTechnologies","description":"Github app to validate commit message on a pull request","archived":false,"fork":false,"pushed_at":"2023-01-09T18:00:25.000Z","size":592,"stargazers_count":98,"open_issues_count":24,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-23T04:04:47.732Z","etag":null,"topics":["commit-message","conventions","github-app","lint","pull-request","pull-request-validate"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/SystangoTechnologies.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-05-28T15:01:06.000Z","updated_at":"2024-04-14T15:33:36.000Z","dependencies_parsed_at":"2023-02-08T13:16:30.800Z","dependency_job_id":null,"html_url":"https://github.com/SystangoTechnologies/commit-message-lint","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SystangoTechnologies%2Fcommit-message-lint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SystangoTechnologies%2Fcommit-message-lint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SystangoTechnologies%2Fcommit-message-lint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SystangoTechnologies%2Fcommit-message-lint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SystangoTechnologies","download_url":"https://codeload.github.com/SystangoTechnologies/commit-message-lint/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250366727,"owners_count":21418771,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["commit-message","conventions","github-app","lint","pull-request","pull-request-validate"],"created_at":"2024-11-29T06:19:35.724Z","updated_at":"2025-04-23T04:04:53.837Z","avatar_url":"https://github.com/SystangoTechnologies.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Commit Message Lint\nGithub app to validate commit message and pull request title on a pull request\n\n## Description\nThis app runs a format check on commit messages and pull request title on the creation of a pull request.\n\nFor example, let's say you specify that a commit message should have a format `DDD:message`. Here D stand for numeric digit. The app checks if the commit message follows this format. If all the commit messages follow this format, the check returns successful, otherwise failure. The reviewer can then decide if they want to go ahead with the code merge.\n\n### App URL\nhttps://github.com/apps/commit-message-lint\n\n## Installation\n\nUse the Github's app section or above URL to install the app to your repository.\n\n## Configuration\n\nYou would need to add a configuration folder named `.github` at the root of your repository. The folder should contain a file named `config.yml`. This file will serve as the configuration and the contents of that file will be:\n\n```\nPR_TITLE_REGEX: \u003cPR Title Regex\u003e\nCOMMIT_MESSAGE_REGEX: \u003cCommit Message Regex\u003e\nOUTPUT_TITLE_FAIL: Message validation failed!!!\nOUTPUT_TITLE_SUCCESS: Message validation passed!!!\nVALID_COMMIT_MESSAGE: Commit messages are valid\nINVALID_COMMIT_MESSAGE: Commit messages are invalid\nSINGLE_OTHER_INVALID_MESSAGE: other message is invalid\nMULTIPLE_OTHER_INVALID_MESSAGE: other messages are invalid\nVALID_PULL_REQUEST_MESSAGE: Pull request title is valid\nINVALID_PULL_REQUEST_MESSAGE: Pull request title is invalid\n```\n\n## Usage\nGo to the `checks` section on your PR to see the result of the check run performed by the app. It will show you the result as well as the commit messages which failed.\n\n## Local setup\nStep 1. Clone the application.\nStep 2. Run `npm install`\nStep 3. Create `.env` file in the root directory and set the following environment variables in `.env` file :\n```\n    APP_ID - Github app id (get from app settings page)\n    WEBHOOK_PROXY_URL - URL of the hosted application, use ngrok for local\n    WEBHOOK_SECRET - webhook secret for security, same as the one set in github app settings\n    PRIVATE_KEY - Get from github app settings page\n    LOG_LEVEL - Log level\n    REGEX_CONFIG_FILE_NAME - config file which contains repo config, keep it as config.yml\n    GITHUB_BASE_PATH - Github API path, keep it as https://api.github.com\n```\nNote : Take values of APP_ID, WEBHOOK_PROXY_URL, WEBHOOK_SECRET, PRIVATE_KEY from https://github.com/settings/apps/commit-message-lint\n\nStep 4. Run `npm start` to start the application\n\n## Resources\n[Purchase Flow](https://developer.github.com/marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials/)\n\n[Identifying and authorizing users for GitHub Apps](https://developer.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)\n\n[Integrating with the GitHub Marketplace API](https://developer.github.com/marketplace/integrating-with-the-github-marketplace-api/)\n\n\n## Contributors\n[Anshul Soni](https://www.linkedin.com/in/anshul-soni-3903a2101/)\n\n[Sumit Singhal](https://www.linkedin.com/in/s-singhal)\n\n[Vikas Patidar](https://www.linkedin.com/in/vikas-patidar-0106/)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsystangotechnologies%2Fcommit-message-lint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsystangotechnologies%2Fcommit-message-lint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsystangotechnologies%2Fcommit-message-lint/lists"}