JFToolkit.DevOpsPilot
0.3.4
See the version list below for details.
dotnet tool install --global JFToolkit.DevOpsPilot --version 0.3.4
dotnet new tool-manifest
dotnet tool install --local JFToolkit.DevOpsPilot --version 0.3.4
#tool dotnet:?package=JFToolkit.DevOpsPilot&version=0.3.4
nuke :add-package JFToolkit.DevOpsPilot --version 0.3.4
JFToolkit.DevOpsPilot
Zero-dependency .NET library + CLI for managing Azure DevOps projects with LLM assistance. Analyze workflow patterns, manage work items, and get AI-powered suggestions — all from the terminal.
Supports Ollama (local), OpenAI, DeepSeek, Groq, xAI, LM Studio, and any OpenAI-compatible endpoint. Cross-session memory with SQLite-backed MemPalace.
The problem
You have several Azure DevOps projects at work. Each has its own iteration cadence, work item types, and conventions. Switching between them means context-switching in the browser, remembering which project uses Scrum vs Kanban, and manually tracking what you should work on next.
This tool analyzes each project, understands the workflow, and helps you manage tasks from a CLI — with a local LLM providing smart suggestions.
Install
dotnet add package JFToolkit.DevOpsPilot
Zero dependencies. No Azure DevOps SDK, no OpenAI client libraries.
Pure HttpClient + System.Text.Json for the REST API, local Ollama
for the LLM.
Quick start
# One-time setup
devops-pilot setup
# → prompts for Azure DevOps PAT + organization
# → checks Ollama, pulls qwen2.5:7b if needed
# Analyze a project
devops-pilot scan MyProject
# → detects Scrum with 2-week sprints, 45 active items
# List your tasks in the current sprint
devops-pilot mine MyProject "Sprint 12"
# Create a new task
devops-pilot add MyProject Task "Fix login timeout on mobile"
# Mark as done
devops-pilot done 12345
# Get LLM suggestions
devops-pilot suggest MyProject
# → "Focus on #12347 first — it's blocking 3 other items..."
Programmatic API
using JFToolkit.DevOpsPilot;
// Create from saved config
var pilot = DevOpsPilot.Create();
// Analyze project workflow
var report = await pilot.AnalyzeAsync("MyProject");
Console.WriteLine($"Workflow: {report.WorkflowType}");
// List active tasks
var items = await pilot.ListTasksAsync("MyProject");
foreach (var item in items)
Console.WriteLine($" #{item.Id}: {item.Title} [{item.State}]");
// Create a new work item
await pilot.AddTaskAsync("MyProject", "Task", "Deploy v2.1 to staging");
// Get LLM recommendations
var suggestions = await pilot.SuggestAsync("MyProject");
Console.WriteLine(suggestions);
Commands
| Command | Description |
|---|---|
setup |
Configure PAT, organization, Ollama model |
scan <project> |
Analyze workflow (Scrum/Kanban/etc.) |
list projects |
List all projects in the org |
list <project> [iteration] |
List active work items |
mine <project> <iteration> |
List my work items |
add <project> <type> <title> |
Create a work item |
done <id> |
Close a work item |
suggest <project> |
LLM suggests what to work on |
Default LLM
qwen2.5:7b (Ollama) — ~4 GB RAM, runs on any office laptop. Good at text analysis and structured JSON output.
To use a different model or provider: devops-pilot setup and follow the prompts,
or edit ~/.jftoolkit/config.json.
{
"LlmProvider": "openai",
"OpenAiKey": "sk-...",
"OpenAiModel": "gpt-4o-mini"
}
Supported providers: ollama, openai, deepseek, groq, xai, lmstudio, custom.
Cross-session memory (MemPalace)
Chat sessions and project facts are persisted in ~/.jftoolkit/mempalace.db
using SQLite with FTS5 full-text search.
Chat commands
In devops-pilot chat <project>:
> /memory Show all saved facts about this project
> /remember CI uses GitHub Actions
> /forget CI Delete a fact
> /history 20 Show last 20 messages from past sessions
> /sessions List past chat sessions for this project
CLI commands
devops-pilot memory MyProject # Show saved facts
devops-pilot remember MyProject CI "GitHub Actions" # Save a fact
devops-pilot forget MyProject CI # Delete a fact
devops-pilot sessions MyProject # List past chat sessions
devops-pilot recall "deployment error" # Full-text search in chat history
The agent automatically loads relevant project memory when starting a chat session, and recalls conversations from past sessions.
What it does NOT do (by design)
- No git operations (use
git/ghCLI for that) - No build/release pipeline management
- No dashboard or GUI — terminal-first
- No cloud LLM dependency — fully local with Ollama
Requirements
- .NET 8, .NET 9, or .NET 10
- Azure DevOps organization with PAT (Work Items: Read & Write)
- LLM provider (Ollama, OpenAI, DeepSeek, Groq, xAI, or LM Studio)
License
MIT — use it anywhere, commercial or personal.
| 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 |
|---|---|---|
| 0.4.5 | 63 | 6/9/2026 |
| 0.4.4 | 62 | 6/9/2026 |
| 0.4.3 | 54 | 6/9/2026 |
| 0.4.2 | 71 | 6/9/2026 |
| 0.4.1 | 88 | 6/8/2026 |
| 0.4.0 | 82 | 6/8/2026 |
| 0.3.8 | 81 | 6/8/2026 |
| 0.3.7 | 87 | 6/8/2026 |
| 0.3.6 | 91 | 6/8/2026 |
| 0.3.5 | 85 | 6/7/2026 |
| 0.3.4 | 78 | 6/7/2026 |
| 0.3.3 | 86 | 6/7/2026 |
| 0.3.2 | 85 | 6/6/2026 |
| 0.3.1 | 93 | 6/6/2026 |
| 0.3.0 | 90 | 6/6/2026 |
| 0.2.1 | 85 | 6/5/2026 |
| 0.2.0 | 80 | 6/5/2026 |
| 0.1.0 | 85 | 6/5/2026 |