{"id":13501504,"url":"https://github.com/olist/hulks","last_synced_at":"2025-05-15T18:18:54.662Z","repository":{"id":71573793,"uuid":"132189761","full_name":"olist/hulks","owner":"olist","description":"Olist custom linting hooks :green_heart: :alien:","archived":false,"fork":false,"pushed_at":"2023-08-02T16:53:34.000Z","size":55,"stargazers_count":26,"open_issues_count":1,"forks_count":1,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-03-29T09:32:49.855Z","etag":null,"topics":["hooks","lint","pre-commit","quality"],"latest_commit_sha":null,"homepage":"https://github.com/olist/hulks","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/olist.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","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":"2018-05-04T21:14:37.000Z","updated_at":"2023-07-24T14:41:18.000Z","dependencies_parsed_at":"2024-01-16T10:36:47.687Z","dependency_job_id":"6065b0ae-42b7-4343-8d69-811af7950c80","html_url":"https://github.com/olist/hulks","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olist%2Fhulks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olist%2Fhulks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olist%2Fhulks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olist%2Fhulks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/olist","download_url":"https://codeload.github.com/olist/hulks/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254394655,"owners_count":22063985,"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":["hooks","lint","pre-commit","quality"],"created_at":"2024-07-31T22:01:39.766Z","updated_at":"2025-05-15T18:18:54.607Z","avatar_url":"https://github.com/olist.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"=====\nhulks\n=====\n\n|CI Build Status|\n\n----\n\nOlist custom pre-commit plugins\n\n\nUsage\n~~~~~\n\nTo configure custom pre-commit hooks, create or add an entry in your ``.pre-commit-config.yaml``\nas follows:\n\n.. code-block:: yaml\n\n    repos:\n      - repo: git@github.com:olist/hulks.git\n      rev: main\n      hooks:\n        - id: check-invalid-domains\n\n\nUpdate pre-commit plugins::\n\n    pre-commit autoupdate\n\nTest the custom hook(s) against all your codebase::\n\n    pre-commit run -a -v\n\n\nThe list of available hooks could be found on pre_commit_hooks_file_ or using ``setup.py show_hooks`` command::\n\n    python setup.py -q show_hooks\n\n\nDevelopment\n~~~~~~~~~~~\n\nCreate an virtualenv using ``Python 3.6+`` and install the development requirements::\n\n    pip install -r requirements-dev.txt\n\n\nOptionally, add the package in your current virtualenv for easier access::\n\n    python setup.py develop\n    # now you should be able to call any hook by the entry name:\n    # my-hook \u003cfiles\u003e\n\nTo execute the repository tests::\n\n    make tests\n\n\nCreating new hooks\n~~~~~~~~~~~~~~~~~~\n\nTo create a new hook:\n\n* Copy the example hook: ``cp hulks/example.py hulks/my_hulk.py``\n* Add an entry in ``.pre-commit-hooks.yaml`` (more options in pre-commit-documentation_)\n* Develop and test your hook following the guidelines below\n* Update ``CHANGES.rst`` properly\n\n\nGuidelines\n~~~~~~~~~~\n\nKeep in mind that all plugins are installed via ``setup.py`` script by ``pre-commit``.\n\nThe following guides should help us when creating new hooks:\n\n* Add an entry in ``.pre-commit-hooks.yaml``\n\n    * the ``name`` entry should be the hook path (eg ``hulks.my_hook``)\n\n* Your hook entrypoint is always a function named ``main``\n* Add your hook dependencies in ``requirements.txt``\n\n\nTesting\n~~~~~~~\n\nTo test a newly added hook, you can:\n\n* Follow these instructions_. (you must commit your code before testing)\n* Add the hook to another project ``.pre-commit-config.yaml``. (you must commit your code before testing)\n* Update ``pre-commit`` (``pre-commit autoupdate``)\n* Or simple run ``python -m hulks.my_new_hook \u003cfilenames\u003e``.\n\n\nRelease\n~~~~~~~\n\nCheck if ``CHANGES.rst`` contains the correct version number (follow semver_).\nCreate the proper tags with::\n\n    make release\n\n\n.. _instructions: https://pre-commit.com/#developing-hooks-interactively\n.. _pre-commit-documentation: https://pre-commit.com/#new-hooks\n.. _pre_commit_hooks_file:  https://github.com/olist/hulks/blob/main/.pre-commit-hooks.yaml\n.. _semver: https://semver.org/\n.. |CI Build Status| image:: https://github.com/olist/hulks/actions/workflows/test.yml/badge.svg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folist%2Fhulks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folist%2Fhulks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folist%2Fhulks/lists"}