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.6.tar.gz (7.2 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.6-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: thallu-0.1.6.tar.gz
  • Upload date:
  • Size: 7.2 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.6.tar.gz
Algorithm Hash digest
SHA256 ebef4049c42605c5e2b03897f45d28caaa3823432a83f3ef57b36a18bb3c891f
MD5 710fbac4823f6074d18620e345e65aca
BLAKE2b-256 7a529618b5c7f474d6cca4f51a57dac37578de2bf13aa0d6cc5a55b5c46607c2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: thallu-0.1.6-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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 c3475b8366c968cdd5a24c313cfedc7e759764c8700b9a3c251586f5d89f8d4b
MD5 95d598e1ede98bb0516650339c73f350
BLAKE2b-256 7dd6162cec66b7d021a1e05142108efde8c6aaa80426d2b9314a5eea97e00893

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