Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/prime-infinity/qit
A CLI tool to automate git commands. Quick git add, commit, and push with one command
https://github.com/prime-infinity/qit
automation cli git productivity
Last synced: 6 days ago
JSON representation
A CLI tool to automate git commands. Quick git add, commit, and push with one command
- Host: GitHub
- URL: https://github.com/prime-infinity/qit
- Owner: prime-infinity
- Created: 2024-10-23T11:09:55.000Z (15 days ago)
- Default Branch: main
- Last Pushed: 2024-10-24T16:31:21.000Z (14 days ago)
- Last Synced: 2024-10-26T14:25:01.052Z (12 days ago)
- Topics: automation, cli, git, productivity
- Language: JavaScript
- Homepage:
- Size: 28.3 KB
- Stars: 8
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Qit 🚀
A simple CLI tool to automate your git workflow. Qit combines the three most common git commands (`git add .`, `git commit -m`, and `git push`) into a single command.
## Installation
### Global Installation(preferred)
To install the qit-cli globally so it can be used anywhere on your system:
```bash
npm install -g qit-cli
```### Local Installation
If you prefer to install it locally in a specific project folder:
```bash
npm install qit-cli
```To run it locally, use npx in your project folder:
```bash
npx qit "Your commit message"```
If installed glabally, just use qit in your project folder:
```bash
qit "Your commit message"```
## Usage
### Basic Usage
To quickly stage, commit and push your changes, use:
```bash
qit "your commit message"
```The command above will:
1. Stage all changes (git add .)
2. Create a commit with your message (git commit -m "your message")
3. Push to your configured branch (git push origin )### Examples
```bash
# Fix a bug
qit "fixed navigation menu bug"# Add new feature
qit "added dark mode support"
# Update documentation
qit "updated installation docs"
```### Handling Failed Pushes
If a push fails (e.g., due to no internet connection), the changes will be committed locally but remain unpushed. When your internet connection is restored, you can try pushing again using:
```bash
qit p
```This will run:
```bash
git push origin
```## Configuration
### Branch Configuration
Create a qit.config.json file in your project root to customize the target branch:
```json
{
"branch": "develop"
}
```## Default Settings
- If no config file exists, Qit pushes to main branch
- All changes are staged using git add .
- Changes are pushed to origin remote## Features
### Core Features
- **Single Command Operation**: Execute multiple git commands with one command
- **Configurable Branch**: Push to your preferred branch using config file
- **Smart Defaults**: Works out of the box with sensible defaults
- **Clear Feedback**: Colorful terminal output shows operation progress### Terminal Output
- Stage changes: Blue indicators
- Commit progress: Yellow indicators
- Push status: Magenta indicators
- Success messages: Green indicators
- Error messages: Red indicators with clear descriptions## Requirements
### System Requirements
- Node.js 14 or higher
- Git installed and configured
- Active internet connection for pushing
- A git repository initialized with a remote### Repository Requirements
- Initialized git repository
- Configured remote repository
- Valid git credentials## Error Handling
Qit provides clear error messages for common issues:
### Common Errors
- No Commit Message
```bash
✗ Error: Please provide a commit message
Usage: qit
```- git operation failure
```bash
ERROR
✗ Git operation failed: [error details]
```### Error Prevention
- Always include a commit message
- Ensure you have internet connection before pushing
- Check that your git credentials are configured
- Verify that your repository has a remote configured### Dependencies
- execa: Modern subprocess handling
- ansi-colors: Terminal styling
- fs & path: File system operations## Contributing
### Getting Started
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Submit a pull request