Thira - Git Hooks Manager
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.yamlfile. - 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 - How to install and set up Thira
- Basic Usage - Getting started with Thira
- Configuration Guide - Complete reference for hooks.yaml configuration
- Hook Management - Managing Git hooks
- Script Management - Creating and managing custom scripts
- Commit Message Guidelines - How to write valid commit messages
Quick Start
# 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 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 file for details.
Metadata
Release files for thira 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| thira-0.2.1.tar.gz | 37.1 kB | Without provenance | Details for thira-0.2.1.tar.gz |
Built distributions (wheels)
| File | Actions Reset | |||
|---|---|---|---|---|
| thira-0.2.1-py3-none-win_arm64.whl | Python 3 | none | Windows ARM64 | Details for thira-0.2.1-py3-none-win_arm64.whl |
| thira-0.2.1-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details for thira-0.2.1-py3-none-win_amd64.whl |
| thira-0.2.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | Python 3 | none | Linux glibc 2.17+ x86-64 | Details for thira-0.2.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
| thira-0.2.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | Python 3 | none | Linux glibc 2.17+ ARM64 | Details for thira-0.2.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
| thira-0.2.1-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details for thira-0.2.1-py3-none-macosx_11_0_arm64.whl |
| thira-0.2.1-py3-none-macosx_10_12_x86_64.whl | Python 3 | none | macOS 10.12+ x86-64 | Details for thira-0.2.1-py3-none-macosx_10_12_x86_64.whl |
Total release size: 8.0 MB
Release files / thira-0.2.1.tar.gz
| Download URL | thira-0.2.1.tar.gz |
|---|---|
| Size | 37.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c3785d5f41d80eeb687a887690c99bd0cb04ddd2fc7ed1a2e732cee4e9b21a33
|
|
BLAKE2b-256 checksum How to use checksums |
cd2f4d44ec7b247fbffab6acba32525cf15dc8d48eb684274278a9187d45c662
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.12.2
|
Release files / thira-0.2.1-py3-none-win_arm64.whl
| Download URL | thira-0.2.1-py3-none-win_arm64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | Python 3 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
8818ddbf9e3c75b6c51bd4bc0d08c132541eefc1a65a4f9e219894be51137693
|
|
BLAKE2b-256 checksum How to use checksums |
f54c0efce3c886890c6fce54658a8ec531390e21738d5652cf24edf76d5c1bb3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.12.2
|
Release files / thira-0.2.1-py3-none-win_amd64.whl
| Download URL | thira-0.2.1-py3-none-win_amd64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a658e79a5d0e20ef4094cb8e5c55aaaf1079e6a999b938fd32cb0f9274bb9629
|
|
BLAKE2b-256 checksum How to use checksums |
d05c41abe4c3c43a475937ef3ba0b726762efc4c12bde2dc61971b49b1aaaf1c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.12.2
|
Release files / thira-0.2.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | thira-0.2.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
8104b29819b69217c22c2b2f4b0a13db99bdd862df3aa52a29c085bc5e565f7f
|
|
BLAKE2b-256 checksum How to use checksums |
98c2fbb57641ffcc2a2977089cc88fad825d2b5757353105a18673b2c92d31ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.12.2
|
Release files / thira-0.2.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | thira-0.2.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | Linux glibc 2.17+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
277aeb3a18288f5c8d70ddf4b54c4b2a9e971fe1a6f8c6c40f13c8e632300477
|
|
BLAKE2b-256 checksum How to use checksums |
91a991d8db20e3bd2f4612e44dd810b3501bbfa3426a1f950a3f198133e9579a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.12.2
|
Release files / thira-0.2.1-py3-none-macosx_11_0_arm64.whl
| Download URL | thira-0.2.1-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
db3c8e9d401526d4ad56eb1d8af4f6b57b432ebb4307ba39831a534e2f92e2e4
|
|
BLAKE2b-256 checksum How to use checksums |
e4aebaa8f9dbedec3076c17f16efcd4bfd54aa61a4f21d96350c3f51deaaec6a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.12.2
|
Release files / thira-0.2.1-py3-none-macosx_10_12_x86_64.whl
| Download URL | thira-0.2.1-py3-none-macosx_10_12_x86_64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | Python 3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
592ae43fd331d3cd6b6c6d520a6b745ec97559f0a064d035119ecce944cc6573
|
|
BLAKE2b-256 checksum How to use checksums |
c4cec0bef93cdae36ee6b8e81bcf4f3a99363b1a0b542cc8f3f926a979c2b113
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.12.2
|
Security for thira 0.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.