Azure DevOps CLI (azdocli)

## Overview

Azure DevOps CLI is a command-line tool that provides seamless interaction with Azure DevOps services. Built with Rust for performance and reliability, it offers comprehensive features for managing repositories, pipelines, boards, and more.

## 🌟 Key Features

### 📁 Repository Management

List, create, delete, clone, view, and manage pull requests in repositories with powerful batch operations and parallel processing.

### 🔧 Pipeline Management

Manage Azure DevOps pipelines, view runs, show build details, and trigger new executions directly from the command line.

### 📋 Board Management

Comprehensive work item management with full CRUD operations, advanced filtering, list my work items, support for multiple work item types, and web integration.

### 🔐 Secure Authentication

Secure login using Personal Access Tokens (PAT) with proper credential management and session handling.

### ⚡ Default Project

Set a default project to streamline your workflow and avoid specifying --project for every command.

### 📂 Projects

Create, delete, list, and show Azure DevOps team projects within an organization using `azdocli projects` subcommands. These commands are organization-scoped and use your stored login.

### 🚀 Performance

Built with Rust for exceptional performance, with parallel operations and efficient resource utilization.

## 📦 Installation

### 🚀 Quick Install (Recommended)

#### Linux/macOS:

    curl -sSL https://christianhelle.com/azdocli/install | bash

#### Windows (PowerShell):

    iwr -useb https://christianhelle.com/azdocli/install.ps1 | iex

One-liner commands that automatically download and install the latest release for your platform.

### From crates.io

    cargo install azdocli

Install using Cargo. This will install the `azdocli` binary.

### Using Snap (Linux)

    snap install azdocli

Install directly from the Snap Store on Linux systems with automatic updates.

### From GitHub Releases

Download pre-built binaries:

- Windows: `windows-x64.zip` or `windows-arm64.zip`
- macOS: `macos-x64.zip` or `macos-arm64.zip`
- Linux: `linux-x64.zip` or `linux-arm64.zip`

Download Latest Release

## 💻 Quick Start

### 1. Create a Personal Access Token

Before using the CLI, you need to create a Personal Access Token (PAT) in Azure DevOps:

1. Navigate to Azure DevOps → User Settings → Personal Access Tokens
2. Click "New Token"
3. Set a descriptive name (e.g., "azdocli")
4. Configure the required scopes: Code (read & write), Build (read & execute), Work Items (read & write)
5. Click "Create" and copy the token securely

⚠️ Important: Store your PAT securely and never commit it to version control.

### 2. Login to Azure DevOps

    azdocli login

Enter your organization name and the PAT you created in step 1 when prompted.

### 3. Set a default project (optional)

    azdocli project MyProject

### 4. Start using the CLI

    # Repository management
    azdocli repos list
    azdocli repos show --id MyRepo
    azdocli repos clone

    # Pull request management
    azdocli repos pr list --repo MyRepo
    azdocli repos pr create --repo MyRepo --source "feature/my-feature" --title "My Feature"

    # Pipeline management
    azdocli pipelines list
    azdocli pipelines runs --id 42

    # Board management - Work Items
    azdocli boards work-item list
    azdocli boards work-item list --state "Active" --work-item-type "Bug"
    azdocli boards work-item show --id 123
    azdocli boards work-item create bug --title "Fix login issue"

## 📚 Documentation

### 📖 User Guide

Comprehensive guide covering all features and commands

### 🤝 Contributing

Learn how to contribute to the project

### 📦 Source Code

View the source code on GitHub