YitPush 2.0.0

dotnet tool install --global YitPush --version 2.0.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local YitPush --version 2.0.0
                    
This package contains a .NET tool you can call from the shell/command line.
#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 as yitpush, 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

Run the setup wizard to configure your preferred AI provider:

yp setup

The wizard will guide you through:

  1. Selecting a provider: OpenAI, Anthropic, Google Gemini, DeepSeek, or OpenRouter
  2. Entering your API key (masked input)
  3. Selecting a model from a curated list or entering a custom one
  4. Validating the key with a test call
  5. 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 list to 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 ← Back option.
  • 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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