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
originGit remote using configurations fromplan.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
masterbranch tomainfor modern Git workflows. - Effortless Pushing: Pushes changes to the
originremote. - 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.txtconfiguration 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 switchandgit restorecommands, whichthalluleverages. You can check your Git version using:git --version
- Note: Git version 2.23+ is required for
-
plan.txtconfiguration file: A file namedplan.txtmust 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
🛣️ 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:
- Fork the
thallurepository. - Create a new feature branch for your changes.
- 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ebef4049c42605c5e2b03897f45d28caaa3823432a83f3ef57b36a18bb3c891f
|
|
| MD5 |
710fbac4823f6074d18620e345e65aca
|
|
| BLAKE2b-256 |
7a529618b5c7f474d6cca4f51a57dac37578de2bf13aa0d6cc5a55b5c46607c2
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3475b8366c968cdd5a24c313cfedc7e759764c8700b9a3c251586f5d89f8d4b
|
|
| MD5 |
95d598e1ede98bb0516650339c73f350
|
|
| BLAKE2b-256 |
7dd6162cec66b7d021a1e05142108efde8c6aaa80426d2b9314a5eea97e00893
|