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.
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 | |
|---|---|---|---|
| thira-0.2.1.tar.gz | 37.1 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| thira-0.2.1-py3-none-win_arm64.whl | Python 3 | none | Windows ARM64 | Details |
| thira-0.2.1-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| 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 |
| thira-0.2.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | Python 3 | none | Linux glibc 2.17+ ARM64 | Details |
| thira-0.2.1-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
| thira-0.2.1-py3-none-macosx_10_12_x86_64.whl | Python 3 | none | macOS 10.12+ x86-64 | Details |
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
|