Skip to main content

Lightweight CLI to streamline Git workflows

Project description

thallu ⚔️

thallu is a lightweight yet powerful Command Line Interface (CLI) tool designed to automate and streamline your Git workflow, allowing you to focus on development rather than repetitive Git commands.


🚀 Features

thallu simplifies common Git operations, offering a comprehensive set of features:

  • Repository Initialization: Automatically initializes a Git repository if one doesn't exist.
  • Remote Management: Adds and validates the origin Git remote using configurations from plan.txt.
  • Staging: Stages all modified files with a single command.
  • Interactive Commits: Prompts for commit messages, ensuring clear and descriptive commits.
  • Branch Renaming: Automatically renames the master branch to main for modern Git workflows.
  • Effortless Pushing: Pushes changes to the origin remote.
  • Branch Creation: Quickly create and checkout new branches.
  • Flexible Branch Switching: Switch between branches interactively or directly by providing the branch name.
  • Streamlined Merging: Merge multiple branches into your current branch, either interactively or by specifying branch names.
  • Efficient Branch Deletion: Delete branches interactively or by specifying the branch name.
  • Configuration Validation: Validates the plan.txt configuration file to ensure correct setup.

📦 Installation

To install thallu, simply use pip:

pip install thallu

⚙️ Usage

thallu provides various commands to manage your Git workflow:

Initial Setup and Workflow (Init, Commit, Push)

This command is safe for both fresh and existing repositories, handling initialization, staging, committing, and pushing.

thallu

Update Only (Stage, Commit, Push)

Use this command to quickly stage, commit, and push changes without re-initializing the repository.

thallu -u

Branch Management

thallu offers robust branch management capabilities:

  • List all branches:
    thallu -b
    
  • Create a new branch:
    thallu -nb
    
  • Switch branches (interactive):
    thallu -sb
    
  • Switch to a specific branch:
    thallu -sb branch_name
    
  • Merge branches interactively:
    thallu -m
    
  • Merge specific branches:
    thallu -m feature1 feature2
    
  • Delete branches (interactive):
    thallu -d
    
  • Delete a specific branch:
    thallu -d branch_name
    

📁 Requirements

To use thallu, ensure you meet the following requirements:

  • Python: Version 3.7 or higher.

  • Git: Version 2.23 or higher.

    • Note: Git version 2.23+ is required for git switch and git restore commands, which thallu leverages. You can check your Git version using:
      git --version
      
  • plan.txt configuration file: A file named plan.txt must be present in your project's root directory with the following structure:

    username = "your-github-username"
    repo = "your-repo-name"
    

🧪 Example Output

Here's an example of the output you might see when running thallu:

 Git repo already initialized.
🔗 Remote 'origin' already exists.
➕ Staged all files.
💬 Enter commit message: initial setup
📦 Commit done: initial setup
🌿 Renamed branch to 'main'.
🚀 Pushed to origin/main.

Current Commands

thallu Command Reference

🛣️ Roadmap

We have exciting plans for future enhancements to thallu:

  • Project Type Auto-detection: Automatically detect project types (e.g., Python, Node.js) for tailored workflows.
  • GPG Signing Support: Integrate GPG signing for enhanced commit security.
  • GitHub Releases Integration: Streamline the creation and management of GitHub releases.
  • Commit Message Presets: Provide pre-defined commit message templates for common scenarios.
  • CI Hooks and Test Coverage: Add support for Continuous Integration (CI) hooks and improve test coverage.
  • Public/Private Repo Detection: Intelligent detection of public and private repositories.

🤝 Contributing

Contributions are highly welcome! If you'd like to contribute, please follow these steps:

  1. Fork the thallu repository.
  2. Create a new feature branch for your changes.
  3. Submit a Pull Request (PR) with a clear and concise description of your enhancements.

📜 License

© Naveensivam03

thallu was built for developers seeking to eliminate repetitive Git tasks and enhance their productivity.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

thallu-0.1.5.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

thallu-0.1.5-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file thallu-0.1.5.tar.gz.

File metadata

  • Download URL: thallu-0.1.5.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for thallu-0.1.5.tar.gz
Algorithm Hash digest
SHA256 88aa8025598910d7c73c9611b6050096c71bd56479c2922d6c9ba9915696ddae
MD5 db9797ca4af1c8f5bb57dd49d13a934b
BLAKE2b-256 026e054f43ae3ae5c2a6585392803b15a372657c8505f538d4abc3f222036ddf

See more details on using hashes here.

File details

Details for the file thallu-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: thallu-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for thallu-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 28e7d9617abf4c115894adfe8a8d6837b628d994e5e190a28b561a132b722b0c
MD5 3f63fc213fa8b74f3fb80f16e26f0d82
BLAKE2b-256 b0cfb8eee199284fd86446acb4aa3c8f3b344a58ab67dedd0eb82cda5af49780

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page