thira


Namethira JSON
Version 0.1.0 PyPI version JSON
download
home_pagehttps://github.com/ervan0707/thira
SummaryA Git hooks manager and commit message linter for automating development workflows
upload_time2025-08-13 16:26:11
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseMIT
keywords cli automation workflow development git-hooks commit-linter
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Thira - Git Hooks Manager

[![Crates.io](https://img.shields.io/crates/v/thira.svg)](https://crates.io/crates/thira)
[![NPM Version](https://img.shields.io/npm/v/thira.svg)](https://www.npmjs.com/package/thira)
[![PyPI](https://img.shields.io/pypi/v/thira.svg)](https://pypi.org/project/thira/)

Thira is a Git hooks manager and commit message linter that helps you maintain consistent commit messages and automate your Git workflows.

## Features

- **Easy Git hooks management**: Install, update, and remove Git hooks with a single command. Supports all standard Git hook events and custom hooks directories.
- **Conventional commit message validation**: Enforces customizable commit message rules based on the Conventional Commits standard, including type, scope, and subject/body length.
- **Custom script automation**: Define and run custom scripts for any workflow, with support for sequential or parallel execution, environment variables, and working directories.
- **Flexible YAML configuration**: Manage hooks, scripts, and linting rules in a single, human-readable `hooks.yaml` file.
- **Cross-platform support**: Works seamlessly on macOS, Linux, and Windows.
- **Colorful and informative CLI**: User-friendly command-line interface with colored output, helpful error messages, and command trees.
- **Auto-installation and validation**: Automatically installs hooks and validates configuration integrity for a smooth developer experience.
- **Real-time terminal UI**: Displays live output and progress for long-running scripts and hook executions.
- **Integrates with Cargo, npm, and pip**: Installable via multiple package managers for easy adoption in any workflow.

## Documentation

Our documentation is split into several sections for easier navigation:

- [Installation Guide](https://github.com/ervan0707/thira/blob/main/docs/installation.md) - How to install and set up Thira
- [Basic Usage](https://github.com/ervan0707/thira/blob/main/docs/basic-usage.md) - Getting started with Thira
- [Configuration Guide](https://github.com/ervan0707/thira/blob/main/docs/configuration.md) - Complete reference for hooks.yaml configuration
- [Hook Management](https://github.com/ervan0707/thira/blob/main/docs/hook-management.md) - Managing Git hooks
- [Script Management](https://github.com/ervan0707/thira/blob/main/docs/script-management.md) - Creating and managing custom scripts
- [Commit Message Guidelines](https://github.com/ervan0707/thira/blob/main/docs/commit-guidelines.md) - How to write valid commit messages

## Quick Start

```sh
# Install with installer
curl -sSL https://raw.githubusercontent.com/ervan0707/thira/main/install.sh | bash

# Install with Cargo
cargo install thira

# Install with NPM
npm install -g thira

# Install with pip
pip install thira

# Install with Nix (flakes)
nix profile install github:ervan0707/thira

# Or run directly without installing
nix run github:ervan0707/thira

# Initialize configuration
thira hooks init

# Install Git hooks
thira hooks install
```

Your Git hooks are now managed by Thira! Check out the [Basic Usage](https://github.com/ervan0707/thira/blob/main/docs/basic-usage.md) guide for more details.

## Project Status

This project is under active development. Feel free to open issues and submit pull requests.

## License

This project is licensed under the MIT License – see the [LICENSE](https://github.com/ervan0707/thira/blob/main/LICENSE) file for details.


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ervan0707/thira",
    "name": "thira",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "cli, automation, workflow, development, git-hooks, commit-linter",
    "author": null,
    "author_email": "Ervan <ervanroot@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/91/f4/5bf1e88e7432375d07d7cb1d39fc155be815819e22f41f548b20ef3230d3/thira-0.1.0.tar.gz",
    "platform": null,
    "description": "# Thira - Git Hooks Manager\n\n[![Crates.io](https://img.shields.io/crates/v/thira.svg)](https://crates.io/crates/thira)\n[![NPM Version](https://img.shields.io/npm/v/thira.svg)](https://www.npmjs.com/package/thira)\n[![PyPI](https://img.shields.io/pypi/v/thira.svg)](https://pypi.org/project/thira/)\n\nThira is a Git hooks manager and commit message linter that helps you maintain consistent commit messages and automate your Git workflows.\n\n## Features\n\n- **Easy Git hooks management**: Install, update, and remove Git hooks with a single command. Supports all standard Git hook events and custom hooks directories.\n- **Conventional commit message validation**: Enforces customizable commit message rules based on the Conventional Commits standard, including type, scope, and subject/body length.\n- **Custom script automation**: Define and run custom scripts for any workflow, with support for sequential or parallel execution, environment variables, and working directories.\n- **Flexible YAML configuration**: Manage hooks, scripts, and linting rules in a single, human-readable `hooks.yaml` file.\n- **Cross-platform support**: Works seamlessly on macOS, Linux, and Windows.\n- **Colorful and informative CLI**: User-friendly command-line interface with colored output, helpful error messages, and command trees.\n- **Auto-installation and validation**: Automatically installs hooks and validates configuration integrity for a smooth developer experience.\n- **Real-time terminal UI**: Displays live output and progress for long-running scripts and hook executions.\n- **Integrates with Cargo, npm, and pip**: Installable via multiple package managers for easy adoption in any workflow.\n\n## Documentation\n\nOur documentation is split into several sections for easier navigation:\n\n- [Installation Guide](https://github.com/ervan0707/thira/blob/main/docs/installation.md) - How to install and set up Thira\n- [Basic Usage](https://github.com/ervan0707/thira/blob/main/docs/basic-usage.md) - Getting started with Thira\n- [Configuration Guide](https://github.com/ervan0707/thira/blob/main/docs/configuration.md) - Complete reference for hooks.yaml configuration\n- [Hook Management](https://github.com/ervan0707/thira/blob/main/docs/hook-management.md) - Managing Git hooks\n- [Script Management](https://github.com/ervan0707/thira/blob/main/docs/script-management.md) - Creating and managing custom scripts\n- [Commit Message Guidelines](https://github.com/ervan0707/thira/blob/main/docs/commit-guidelines.md) - How to write valid commit messages\n\n## Quick Start\n\n```sh\n# Install with installer\ncurl -sSL https://raw.githubusercontent.com/ervan0707/thira/main/install.sh | bash\n\n# Install with Cargo\ncargo install thira\n\n# Install with NPM\nnpm install -g thira\n\n# Install with pip\npip install thira\n\n# Install with Nix (flakes)\nnix profile install github:ervan0707/thira\n\n# Or run directly without installing\nnix run github:ervan0707/thira\n\n# Initialize configuration\nthira hooks init\n\n# Install Git hooks\nthira hooks install\n```\n\nYour Git hooks are now managed by Thira! Check out the [Basic Usage](https://github.com/ervan0707/thira/blob/main/docs/basic-usage.md) guide for more details.\n\n## Project Status\n\nThis project is under active development. Feel free to open issues and submit pull requests.\n\n## License\n\nThis project is licensed under the MIT License \u2013 see the [LICENSE](https://github.com/ervan0707/thira/blob/main/LICENSE) file for details.\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A Git hooks manager and commit message linter for automating development workflows",
    "version": "0.1.0",
    "project_urls": {
        "Bug Reports": "https://github.com/ervan0707/thira/issues",
        "Documentation": "https://github.com/ervan0707/thira#readme",
        "Homepage": "https://github.com/ervan0707/thira",
        "Repository": "https://github.com/ervan0707/thira"
    },
    "split_keywords": [
        "cli",
        " automation",
        " workflow",
        " development",
        " git-hooks",
        " commit-linter"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "03c74144cec9b2a22dc961089e037b5772d23a8d4d0948a3061cbe694f615975",
                "md5": "4f1f55fabab9ddaceb22b09ac38dc23c",
                "sha256": "9c4809ffae1589d82cd04625d973cbce36202584575f984e93ed55f34310609f"
            },
            "downloads": -1,
            "filename": "thira-0.1.0-py3-none-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4f1f55fabab9ddaceb22b09ac38dc23c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 1304111,
            "upload_time": "2025-08-13T16:26:07",
            "upload_time_iso_8601": "2025-08-13T16:26:07.945635Z",
            "url": "https://files.pythonhosted.org/packages/03/c7/4144cec9b2a22dc961089e037b5772d23a8d4d0948a3061cbe694f615975/thira-0.1.0-py3-none-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b3d41fea770e7980e3503f5670099566c27ec03162bbceec5d5fe30844995e52",
                "md5": "4cf1473a310ece6876a5e8ea09c78c42",
                "sha256": "b58d70c4abbe34b9cace2d3e3241ee297cc8993274afde9496d0226508e5c1f5"
            },
            "downloads": -1,
            "filename": "thira-0.1.0-py3-none-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "4cf1473a310ece6876a5e8ea09c78c42",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 1225950,
            "upload_time": "2025-08-13T16:26:06",
            "upload_time_iso_8601": "2025-08-13T16:26:06.510901Z",
            "url": "https://files.pythonhosted.org/packages/b3/d4/1fea770e7980e3503f5670099566c27ec03162bbceec5d5fe30844995e52/thira-0.1.0-py3-none-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "da402750f4002e882aace24a3236b796a219be84464212bd40aaa1b76450cfd5",
                "md5": "216689591f4b191b05a5f841676fceae",
                "sha256": "b3727a1428029487f6711e12427e78ba7cdae1f2da7fd51d320ef2696506430c"
            },
            "downloads": -1,
            "filename": "thira-0.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "216689591f4b191b05a5f841676fceae",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 1270029,
            "upload_time": "2025-08-13T16:26:09",
            "upload_time_iso_8601": "2025-08-13T16:26:09.011255Z",
            "url": "https://files.pythonhosted.org/packages/da/40/2750f4002e882aace24a3236b796a219be84464212bd40aaa1b76450cfd5/thira-0.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "64294b985c3e18f2eaead094df834ae051fc04d4e30efb3c25e7447234b66dbc",
                "md5": "d3edd40d38dc22d7f36a76be16d9c08d",
                "sha256": "10431d848a0ad6e82f58434452816aca014674fc1e96cea8c2d1e88647f583d9"
            },
            "downloads": -1,
            "filename": "thira-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d3edd40d38dc22d7f36a76be16d9c08d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 1381768,
            "upload_time": "2025-08-13T16:26:10",
            "upload_time_iso_8601": "2025-08-13T16:26:10.371490Z",
            "url": "https://files.pythonhosted.org/packages/64/29/4b985c3e18f2eaead094df834ae051fc04d4e30efb3c25e7447234b66dbc/thira-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f83b20cb73f8c8571fe41fbbef987293e147ba8461070a2fa4cb97b0280ee6b0",
                "md5": "d5481c19a22de03be635931366e1f57c",
                "sha256": "e3fff4c9aa26ed40756600ba8db3bd37139c6da9bf7440463ae0aa91eb00fe0a"
            },
            "downloads": -1,
            "filename": "thira-0.1.0-py3-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "d5481c19a22de03be635931366e1f57c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 1238367,
            "upload_time": "2025-08-13T16:26:14",
            "upload_time_iso_8601": "2025-08-13T16:26:14.423131Z",
            "url": "https://files.pythonhosted.org/packages/f8/3b/20cb73f8c8571fe41fbbef987293e147ba8461070a2fa4cb97b0280ee6b0/thira-0.1.0-py3-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "08daa8fd5f414d070ca183973bc63668cac1bba31957f43d6f6dfc64388ebd37",
                "md5": "f0364a7bfd231c8814ac4d9ab34aa480",
                "sha256": "2f5effb80671d7849d89e9d78804a3e7c1cab5c967e98de39c942b0de9048b53"
            },
            "downloads": -1,
            "filename": "thira-0.1.0-py3-none-win_arm64.whl",
            "has_sig": false,
            "md5_digest": "f0364a7bfd231c8814ac4d9ab34aa480",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 1152228,
            "upload_time": "2025-08-13T16:26:12",
            "upload_time_iso_8601": "2025-08-13T16:26:12.885610Z",
            "url": "https://files.pythonhosted.org/packages/08/da/a8fd5f414d070ca183973bc63668cac1bba31957f43d6f6dfc64388ebd37/thira-0.1.0-py3-none-win_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "91f45bf1e88e7432375d07d7cb1d39fc155be815819e22f41f548b20ef3230d3",
                "md5": "ea4f58063d047afabefdfe430ba415de",
                "sha256": "64b0289e0672c91b8aeb070da8cebc2e45e2c240b8aca663afa7365d4320f979"
            },
            "downloads": -1,
            "filename": "thira-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ea4f58063d047afabefdfe430ba415de",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 36242,
            "upload_time": "2025-08-13T16:26:11",
            "upload_time_iso_8601": "2025-08-13T16:26:11.874110Z",
            "url": "https://files.pythonhosted.org/packages/91/f4/5bf1e88e7432375d07d7cb1d39fc155be815819e22f41f548b20ef3230d3/thira-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-13 16:26:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ervan0707",
    "github_project": "thira",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "thira"
}
        
Elapsed time: 1.33974s