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

Uploaded Python 3

File details

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

File metadata

  • Download URL: thallu-0.1.7.tar.gz
  • Upload date:
  • Size: 7.3 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.7.tar.gz
Algorithm Hash digest
SHA256 bd445b713c0aa4f97951f8409f705decd7d64387a95a7e0f03110d7140d1f6e9
MD5 be0d4dcb41ca99036a64222bb1c99032
BLAKE2b-256 57a342fc22e58addd0a983629eabe249b176dd2212c998ae49b2c3498668aade

See more details on using hashes here.

File details

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

File metadata

  • Download URL: thallu-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 7.6 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 3a123b5317ae730e10041f2bc4f0c03d39996379f4a174fe9c0836986f62e5ec
MD5 5c74566428792c0050269aa894ec9963
BLAKE2b-256 5265bd40bfbf408bb3e43df68e0097e47d2dcbe39f88a6f1af2788f023fbc3f6

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