{"id":22384201,"url":"https://github.com/datpmt/typocop","last_synced_at":"2025-06-28T11:33:44.949Z","repository":{"id":266223218,"uuid":"895351653","full_name":"datpmt/typocop","owner":"datpmt","description":"GitHub Action automatically checks for typos.","archived":false,"fork":false,"pushed_at":"2025-02-26T01:49:04.000Z","size":4106,"stargazers_count":14,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-27T06:18:22.036Z","etag":null,"topics":["github-action","github-actions","typos","typos-check"],"latest_commit_sha":null,"homepage":"https://rubygems.org/gems/typocop","language":"Ruby","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/datpmt.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-28T03:36:47.000Z","updated_at":"2025-03-13T10:46:30.000Z","dependencies_parsed_at":"2025-02-26T02:31:11.983Z","dependency_job_id":"60be212e-dc1e-44d5-bc51-cdb98883da02","html_url":"https://github.com/datpmt/typocop","commit_stats":null,"previous_names":["datpmt/typocop"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/datpmt/typocop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datpmt%2Ftypocop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datpmt%2Ftypocop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datpmt%2Ftypocop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datpmt%2Ftypocop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datpmt","download_url":"https://codeload.github.com/datpmt/typocop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datpmt%2Ftypocop/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262228033,"owners_count":23278272,"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":["github-action","github-actions","typos","typos-check"],"created_at":"2024-12-05T01:16:39.525Z","updated_at":"2025-06-28T11:33:44.943Z","avatar_url":"https://github.com/datpmt.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Check Typos in Pull Request\n[![Gem Version](https://badge.fury.io/rb/typocop.svg)](https://badge.fury.io/rb/typocop)\n\n![Typocop Logo](typocop.png)\n\nThis GitHub Action automatically checks for typos in the files changed in a pull request. It comments on the pull request with any detected typos and provides suggestions for corrections.\n\n## Features\n\n- Automatically detects typos in files changed in a pull request.\n- Comments on the pull request with a list of typos found and suggested corrections.\n- Approves the pull request if no typos are detected.\n- Dismisses PR approvals if a new commit contains a typo.\n- Removes outdated typo comments when new commits are made.\n- Supports all programming languages.\n\n## Usage\n\n\u003e [!NOTE]\n\u003e If you want GitHub Actions to approve PRs, you must grant permission to it at: project settings -\u003e Actions -\u003e General -\u003e Allow GitHub Actions to create and approve pull requests.\n\n![Typocop Logo](typocop-approval.png)\n\n1. **Using Typocop GitHub Action:**\n\n    1. Copy the `.github/workflows/typocop.yml` file into your project repository.\n\n        ```yaml\n        # .github/workflows/typocop.yml\n        name: Check Typos in Pull Request\n\n        on: [pull_request]\n\n        jobs:\n          typocop:\n            permissions: write-all\n            runs-on: ubuntu-latest\n            steps:\n              - name: Checkout repository\n                uses: actions/checkout@v3\n                with:\n                  fetch-depth: 0\n\n              - name: Run Typocop Action\n                uses: datpmt/typocop@main\n                with:\n                  github_token: ${{ secrets.GITHUB_TOKEN }}\n                  pull_request_id: ${{ github.event.pull_request.number }}\n                  github_base_ref: ${{ github.base_ref }}\n                  setting: .github/typocop/setting.yml # Optional: Path to your custom settings file\n        ```\n\n    2. Customize settings (optional):\n\n        By default, Typocop uses predefined settings, but you can create a custom settings file in your repository. For example, create .github/typocop/setting.yml to specify exclusion rules and skip lists.\n\n        Example `.github/typocop/setting.yml`:\n\n          ```yaml\n          excludes:  # Files and directories to exclude\n            - excludes/exclude.rb\n            - excludes/test/*\n\n          skips:  # Words or patterns to skip during typo detection\n            - rspec\n            - eligible\n          ```\n\n        - **excludes**: Specifies files or directories to exclude from typo checking.\n        - **skips**: Specifies words or patterns to skip checking (useful for technical terms or domain-specific language).\n\n    3. Create a new Pull Request (PR) to trigger the action.\n2. **Using Typocop command line**\n\n    ```bash\n    gem install typocop # install\n\n    GITHUB_TOKEN=your_token PULL_REQUEST_ID=the_request_id GITHUB_BASE_REF=branch_base_name typocop execute # run action\n    ```\n\n    ![Typocop demo](typocop.gif \"\")\n\n## Contributing\n\nWe welcome contributions to this project! To contribute:\n\n1. Fork the repository.\n2. Create a new feature branch (git checkout -b your-feature).\n3. Commit your changes (git commit -am 'Add some feature').\n4. Push the changes to your fork (git push origin your-feature).\n5. Open a pull request.\n\n## Contributors\n\n- Tran Dang Duc Dat ([datpmt](https://github.com/datpmt))\n- Hoang Duc Quan ([BlazingRockStorm](https://github.com/BlazingRockStorm))\n\n## References\n- [Typo Checker](https://github.com/datpmt/typo_checker)\n- [Pronto Labs](https://github.com/prontolabs/pronto)\n\n## License\nThe gem is available as open source under the terms of the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatpmt%2Ftypocop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatpmt%2Ftypocop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatpmt%2Ftypocop/lists"}