YitPush 2.0.0
dotnet tool install --global YitPush --version 2.0.0
dotnet new tool-manifest
dotnet tool install --local YitPush --version 2.0.0
#tool dotnet:?package=YitPush&version=2.0.0
nuke :add-package YitPush --version 2.0.0
🚀 yp (YitPush)
AI-Powered Git Commit and Azure DevOps Management Tool — now with multi-provider AI support.
🛠️ Installation
# Clone the repository
git clone https://github.com/elvisbrevi/yitpush.git
cd yitpush
# Build and install globally
dotnet pack -c Release
dotnet tool install --global --add-source ./nupkg YitPush
Note: The command is
yp. If you've previously installed it asyitpush, uninstall it first:dotnet tool uninstall -g YitPush.
After installing, run yp setup to configure your AI provider. The setup wizard will also offer to add the yitpush alias to your shell automatically (.zshrc, .bashrc, or .profile depending on your OS).
Install as an Agent Skill
If you use Claude Code, Cursor, Gemini CLI, or any Agent Skills-compatible agent, install the yp skill so your agent knows how to use it automatically.
Via yp (recommended — also offered during yp setup):
yp skill
Or directly with the skills CLI:
npx skills add elvisbrevi/yitpush
Listed on skills.sh/elvisbrevi/yitpush.
🔑 Configuration
Interactive Setup (Recommended)
Run the setup wizard to configure your preferred AI provider:
yp setup
The wizard will guide you through:
- Selecting a provider: OpenAI, Anthropic, Google Gemini, DeepSeek, or OpenRouter
- Entering your API key (masked input)
- Selecting a model from a curated list or entering a custom one
- Validating the key with a test call
- Saving to
~/.yitpush/config.json
Manual / Environment Variable (Backward Compatible)
You can still use environment variables. If no config file is found, DEEPSEEK_API_KEY is used automatically:
export DEEPSEEK_API_KEY='your-api-key-here'
Other supported environment variables (override the config file):
export OPENAI_API_KEY='...'
export ANTHROPIC_API_KEY='...'
export GOOGLE_API_KEY='...'
export DEEPSEEK_API_KEY='...'
export OPENROUTER_API_KEY='...'
📖 Usage
Git Commands
| Command | Description |
|---|---|
yp setup |
Configure your AI provider interactively |
yp skill |
Install the yp skill for your AI agent |
yp commit |
Stage, commit and push with an AI-generated message |
yp checkout |
Interactive branch checkout |
yp pr |
Generate a pull request description between two branches |
Azure DevOps Commands
| Command | Description |
|---|---|
yp azure-devops |
Enter interactive Azure DevOps menu |
yp repo new |
Create a new repository |
yp repo checkout |
Clone/Checkout a repository |
yp hu task |
Create tasks for a User Story |
yp hu list |
List tasks of a User Story and manage them |
yp hu show |
Show details of a User Story (title, effort, links) |
yp task show |
Show details of a Task (effort, remaining, description) |
yp task update |
Update task fields (effort, state, comments) |
yp hu link |
Link a repository branch to a User Story |
🚀 Detailed Features
🤖 Multi-Provider AI Support
yp supports five AI providers. Run yp setup to switch between them at any time.
| Provider | Models |
|---|---|
| OpenAI | gpt-4o, gpt-4o-mini, o1, o1-mini, ... |
| Anthropic | claude-opus-4-6, claude-sonnet-4-6, claude-haiku-4-5 |
| Google Gemini | gemini-2.0-flash, gemini-1.5-pro, ... |
| DeepSeek | deepseek-chat, deepseek-reasoner |
| OpenRouter | 100+ models (google/gemini-2.0-flash, openai/gpt-4o, ...) |
📝 Smart Commits
yp commit analyzes your staged changes and generates a professional commit message.
yp commit # Auto commit and push
yp commit --confirm # Review before committing
yp commit --detailed # Generate title + body
yp commit --language spanish # Output in Spanish
yp commit -l french # Short flag for language
| Flag | Description |
|---|---|
--confirm |
Ask for confirmation before committing |
--detailed |
Generate detailed commit with title + body |
--language <lang>, --lang, -l |
Output language (default: english) |
--save |
Save commit message to a markdown file |
📋 Pull Request Descriptions
yp pr interactively selects two branches and generates a ready-to-paste PR description.
yp pr # Generate PR description
yp pr --detailed # Detailed with testing notes
yp pr --language spanish # Output in Spanish
yp pr -l french # Short flag for language
yp pr --save # Save to markdown file
| Flag | Description |
|---|---|
--detailed |
Generate detailed PR description |
--language <lang>, --lang, -l |
Output language (default: english) |
--save |
Save PR description to a markdown file |
🔷 Azure DevOps Integration
📋 Task Management
- List & Update: Use
yp azure-devops hu listto see all tasks of a HU. Select a task to:- View full Description.
- See Effort (HH), Esfuerzo Real (HH) and Remaining Work.
- Inspect Links (Branches, Commits, PRs).
- Update fields interactively.
⚡ Quick Mode (CLI)
Update work items directly from your terminal:
# Update multiple fields
yp azure-devops task update <org> <id> --state "Active" --effort-real "5" --remaining "2"
# Add a comment
yp azure-devops task update <org> <id> --comment "Progress update: logic refactored"
# Create tasks with info
yp azure-devops hu task <org> <proj> <hu-id> --description "Task info" --effort "4"
🔗 Deep Linking
Link your local branch to an Azure DevOps work item natively:
yp azure-devops hu link <org> <proj> <id> --repo <name> --branch <name>
This uses ArtifactLink, making the branch appear in the Development section of the Azure Boards UI.
📝 Navigation
- Every interactive menu includes a
← Backoption. - All lists (HUs, Tasks, Projects, Repos) are sorted by Recency First (ID Descending).
- Auto-detection: The tool automatically detects your organizations and projects.
Created with ❤️ by Elvis Brevi
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.0.0 | 95 | 3/21/2026 |
| 1.4.0 | 91 | 3/7/2026 |
| 1.3.3 | 92 | 2/25/2026 |
| 1.3.2 | 86 | 2/24/2026 |
| 1.3.1 | 90 | 2/24/2026 |
| 1.3.0 | 94 | 2/20/2026 |
| 1.2.3 | 89 | 2/20/2026 |
| 1.2.2 | 95 | 2/11/2026 |
| 1.2.0 | 98 | 2/9/2026 |
| 1.1.0 | 93 | 2/8/2026 |
| 1.0.9 | 94 | 2/8/2026 |
| 1.0.8 | 96 | 2/2/2026 |
| 1.0.7 | 99 | 1/26/2026 |
| 1.0.6 | 99 | 1/13/2026 |
| 1.0.5 | 105 | 1/13/2026 |
| 1.0.4 | 99 | 1/12/2026 |
| 1.0.3 | 96 | 1/12/2026 |
| 1.0.2 | 94 | 1/12/2026 |
| 1.0.1 | 99 | 1/12/2026 |
| 1.0.0 | 101 | 1/12/2026 |
BREAKING: Multi-provider AI support — configure via 'yp setup' (OpenAI, Anthropic, Google Gemini, DeepSeek, OpenRouter).
New: 'yp setup' interactive wizard — provider, API key, model selection, alias + skill installation.
New: 'yp skill' command — install the yp agent skill for Claude Code, Cursor, Gemini CLI and others.
New: -l short flag for --language in both commit and pr commands.
New: Automatic update notifications — checks NuGet once per day and shows upgrade command.
New: Automatic shell alias setup (yitpush → yp) during 'yp setup'.
Improved: Provider-aware progress messages show active provider name and model.
Improved: Backward compatible — DEEPSEEK_API_KEY env var still works without any config file.
Full changelog: https://github.com/elvisbrevi/yitpush/blob/main/CHANGELOG.md