a natural language git assistant for the terminal
Project description
ASD
ASD is a natural language Git assistant for the terminal. It translates plain English instructions into Git commands, helping you manage branches, histories, and merges safely and efficiently.
Why ASD?
- I struggled with Git’s commands and conflicts.
- I wanted a simple, transparent tool—no magic—just clear steps.
Features
- Translate English instructions into Git commands.
- Guide complex workflows with best-practice suggestions.
- Visualize commit graphs and branch histories.
- Offer safety checks and recovery guidance for risky operations.
Getting Started
Installation
From PyPI:
pip install git-asd
Or directly from GitHub:
pip install git+https://github.com/adikuma/asd.git
Launch
asd
This opens ASD’s interactive terminal interface. Enter any Git task in plain English.
Workflow
Here’s a quick look at the five-step process inside ASD:
flowchart LR
Start([Start]) --> Analyze[Analyze Git Context]
Analyze --> Intent[Parse User Intent]
Intent --> Plan[Generate Execution Plan]
Plan --> Review[Review Plan & Status]
Review --> Execute[Execute Commands]
Execute --> End([End])
- Analyze Git Context: Examine
git statusto capture your repository’s state. - Parse User Intent: Turn your English request into a structured plan.
- Generate Execution Plan:Create a safe list of Git commands.
- Review Plan & Status: Inspect the plan and current status.
- Execute Commands: Run each step with your approval and mini-lessons.
Roadmap
ASD is an early project with plenty of room for improvement. I would love to have people test it, report issues, and suggest features so I can refine and expand its capabilities.
Contributions and feedback are welcome. Please open an issue or submit a pull request.
Contribution Guidelines
This is my general contribution process; I like to keep it simple—sorry about that :)
| Topic | Guidelines |
|---|---|
| Branching Strategy | feature/ for new features (e.g., feature/add-login-command), fix/ for bug fixes (e.g., fix/handle-empty-input). |
| Code Formatting | Use [ruff] for formatting. Run ruff format . before pushing. |
| Code Style | Keep comments lowercase; use # NOTE: or # TODO: for import-related comments. |
| Commit Messages | FollowConventional Commits specification. |
| Pull Requests & Merging | Create a PR; merging to main requires ≥1 collaborator approval; use squash merge. |
| Creativity | Feel free to experiment and innovate. |
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 git_asd-1.1.1.tar.gz.
File metadata
- Download URL: git_asd-1.1.1.tar.gz
- Upload date:
- Size: 25.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5f8a1c1057a7bbc5253a53aa744c2291ca06806c1d8aa9fd2924dc54c2d3d91
|
|
| MD5 |
f428cb6942c5e90c690dd98acb29c297
|
|
| BLAKE2b-256 |
e6275892dcda51f0161369fa2a74cfec417c4b3238ceda28cd82f908067a5102
|
File details
Details for the file git_asd-1.1.1-py3-none-any.whl.
File metadata
- Download URL: git_asd-1.1.1-py3-none-any.whl
- Upload date:
- Size: 28.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7bb782bfb71eaef8683dd88652e9aca877d5706383e51e0b2568d488739fb547
|
|
| MD5 |
f2717d58c7c6a0501b5c8ed79e102a88
|
|
| BLAKE2b-256 |
483bb2c0cc9b005efd39a8f87df852ac222dfe117f30cd94e0e5740c5dbcfb5c
|