Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions FEATURE_COMPATIBILITY_MATRIX.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,11 @@ DevBuddy is a multi-platform ticket management extension for VS Code. This matri
| **AI Model Selection** | ✅ | ✅ | ⏳ | ⏳ | ⏳ |
| **Privacy Mode (No AI)** | ✅ | ✅ | ⏳ | ⏳ | ⏳ |
| **Fallback Summarizer** | ✅ | ✅ | ⏳ | ⏳ | ⏳ |
| **BYOT: OpenAI** | 🧪 Beta | 🧪 Beta | 🧪 Beta | 🧪 Beta | 🧪 Beta |
| **BYOT: Anthropic** | 🧪 Beta | 🧪 Beta | 🧪 Beta | 🧪 Beta | 🧪 Beta |
| **BYOT: Google AI** | 🧪 Beta | 🧪 Beta | 🧪 Beta | 🧪 Beta | 🧪 Beta |

> **🧪 BYOT (Bring Your Own Token) - Beta:** Use your own API keys for OpenAI, Anthropic, or Google AI instead of GitHub Copilot. This feature is in beta. See [BYOT AI Providers](docs/features/ai/BYOT_AI_PROVIDERS.md) for setup instructions.

### 5. Chat Participant

Expand Down
80 changes: 53 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,12 @@ DevBuddy brings your tickets into a single sidebar so you can browse, create, up
| Feature | Description | Platforms |
|---------|-------------|-----------|
| **Unified Issue Explorer** | View and manage all tickets from VS Code | Linear, Jira Cloud, Jira Server (beta) |
| **AI Agents Know Your Tickets** | Let `@workspace` and Copilot help you with your work | Linear, Jira Cloud |
| **Rich Text Editor** | WYSIWYG Markdown editor for tickets & comments with toolbar, shortcuts, and live preview | Linear, Jira Cloud |
| **AI Tool Integration** | AI agents like `@workspace` and Copilot automatically access your tickets | Linear, Jira Cloud |
| **TODO Converter** | Convert TODOs to tickets with automatic code permalinks | Linear, Jira Cloud |
| **AI Workflows** | Generate PR summaries and standups automatically | Linear, Jira Cloud |
| **Branch Integration** | Create and manage branches directly from tickets | Linear, Jira Cloud |
| **Multi-Repo Support** | Track branch associations across multiple repositories | All platforms |
| **Chat Participant** | Ask `@devbuddy` questions in natural language | Linear, Jira Cloud |
| **Monorepo Support** | Intelligent package detection and validation | All platforms |

Expand All @@ -44,11 +46,15 @@ Write a TODO comment, right-click → "Convert TODO to Ticket". DevBuddy automat

Right-click any ticket → "Start Branch for Ticket". DevBuddy creates a branch with smart naming (conventional, simple, or custom) and automatically associates it with the ticket.

### Edit Tickets Directly in VS Code
### Edit Tickets with Rich Text Editor

![Edit Ticket Demo](https://raw.githubusercontent.com/angelo-hub/devbuddy/main/media/walkthrough/videos/edit_ticket.gif)

Click any ticket to view full details, update status, add comments, and manage all ticket properties without leaving your editor.
Click any ticket to view full details. Edit descriptions and comments with our WYSIWYG Markdown editor featuring:
- **Formatting toolbar** for quick text styling
- **Keyboard shortcuts** (Cmd+B, Cmd+I, Cmd+K for links)
- **Code blocks** with syntax highlighting
- **Tables, lists, and headings**

### AI-Powered Standup Generator

Expand Down Expand Up @@ -97,12 +103,24 @@ Connect GitHub Copilot or another LLM provider to unlock:
- ✅ Only Jira/Linear APIs you configure are contacted
- ✅ Privacy-first: AI is completely optional

## What's New in v0.8.0 🎉
## What's New in v1.0.0 🎉

### 🤖 AI Agents Now Understand Your Tickets
**Teach VS Code's AI assistants about your work—automatically.**
### ✏️ Rich Text WYSIWYG Editor
**Professional-grade editing for tickets and comments.**

DevBuddy extends `@workspace`, GitHub Copilot, and other AI agents with real-time access to your Linear and Jira tickets. No more hallucinations, no more guessing—your AI assistants finally know what you're working on.
DevBuddy now includes a beautiful Markdown editor with:
- **Formatting toolbar** - Bold, italic, code, links, lists, headings
- **Keyboard shortcuts** - Cmd/Ctrl+B for bold, Cmd/Ctrl+I for italic, and more
- **Live preview** - See your formatted text as you type
- **Code blocks** - Syntax highlighting for 50+ languages
- **Tables support** - Create and edit tables visually

Works in ticket descriptions, comments, and ticket creation forms.

### 🤖 AI Tool Integration (Language Model Tools)
**Your AI assistants now understand your tickets—automatically.**

DevBuddy extends `@workspace`, GitHub Copilot, and other AI agents with real-time access to your Linear and Jira tickets. No more hallucinations, no more guessing.

**Just ask naturally:**
```
Expand All @@ -116,30 +134,35 @@ DevBuddy extends `@workspace`, GitHub Copilot, and other AI agents with real-tim
→ [AI generates implementation plan with full ticket context]
```

**How it works:**
- DevBuddy provides **3 powerful tools** that AI agents automatically discover
- 🎫 **Get Ticket Details** - Fetch any ticket by ID
- 📋 **List My Tickets** - See all your active work
- 🌿 **Get Current Ticket** - Detect ticket from your branch name
**Available Tools:**
| Tool | Description |
|------|-------------|
| `#getTicket` | Fetch any ticket by ID (e.g., `#getTicket ENG-125`) |
| `#listMyTickets` | List all your active tickets |
| `#getCurrentTicket` | Detect ticket from your current branch |
| `#createTicket` | Create tickets with AI assistance (Pro) |

**Configure:** Settings → Search "language model tools" to enable/disable individual tools.

**The magic:** When you ask `@workspace` or Copilot questions about your tickets, they automatically invoke DevBuddy's tools to provide accurate, real-time information—no hallucinations, just facts from your Linear or Jira workspace.
[Learn more about AI tool integration →](https://github.com/angelo-hub/devbuddy/blob/main/docs/features/ai/LANGUAGE_MODEL_TOOLS.md)

**You can also reference tools directly:**
```
@workspace #getCurrentTicket
@workspace #listMyTickets
@workspace #getTicket ENG-125
```
### 🔀 Multi-Repository Support
**Track branches across all your repositories.**

**Configure:** Settings → Search "language model tools" to enable/disable individual tools.
For teams working with microservices or multiple repos:
- **Global branch associations** - Track which ticket belongs to which repo
- **Auto-discovery** - Scans parent directory for related repositories
- **Cross-workspace navigation** - Click to open ticket in correct repo
- **Repository indicators** - See which repo a branch lives in

[Learn more about AI agent integration →](https://github.com/angelo-hub/devbuddy/blob/main/docs/features/ai/LANGUAGE_MODEL_TOOLS.md)
Enable in settings: `devBuddy.multiRepo.enabled`

### 🎯 Also in v0.8.0
### 🎯 Also in v1.0.0
- **Jira Sidebar Parity** - Recently completed, current sprint, project unassigned sections
- **Jira Branch Manager** - Full branch association support in Jira ticket panels
- **Lucide React Icons** - Modern, consistent iconography throughout
- **Enhanced Chat Participant** - Natural language ticket planning with `@devbuddy`
- **Smart Work Suggestions** - AI-powered recommendations on what to work on next
- **Debug Logging** - Comprehensive diagnostics for troubleshooting
- **Version Banner** - See your DevBuddy version and build type on startup

## Commands Overview

Expand All @@ -157,12 +180,15 @@ DevBuddy extends `@workspace`, GitHub Copilot, and other AI agents with real-tim
## Roadmap

- ✅ Linear - Full support
- ✅ Jira Cloud - Full support
- ✅ Jira Cloud - Full support
- ✅ Multi-repository branch tracking
- ✅ AI Tool Integration (LM Tools)
- ✅ WYSIWYG Markdown Editor
- 🚧 Jira Server/Data Center - Beta (editing coming soon)
- ⏳ GitHub Issues integration
- ⏳ YouTrack support
- ⏳ Monday.com integration
- ⏳ Enhanced multi-account workflows
- ⏳ Developer Stats Dashboard (Pro)

Track updates: [GitHub Repository](https://github.com/angelo-hub/devbuddy)

Expand Down Expand Up @@ -203,5 +229,5 @@ All current features are free to use. Future Pro features will require a subscri

---

**Version 0.8.0** | Made with ❤️ for developers who hate context switching
**Version 1.0.0** | Made with ❤️ for developers who hate context switching

205 changes: 205 additions & 0 deletions docs/features/ai/BYOT_AI_PROVIDERS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,205 @@
# BYOT (Bring Your Own Token) AI Providers 🧪 Beta

> **Beta Feature:** BYOT providers are in beta. While functional, you may encounter occasional issues. Please report bugs via GitHub Issues.

DevBuddy supports multiple AI providers for features like Standup Builder and PR Summary generation. You can use the default GitHub Copilot integration or bring your own API keys for direct access to OpenAI, Anthropic, or Google AI.

## Why BYOT?

- **Cost Control**: Pay only for what you use with your own API keys
- **Model Selection**: Choose the exact model that fits your needs
- **No Copilot Required**: Use AI features without a GitHub Copilot subscription
- **Privacy Options**: Some organizations prefer direct API access

## Supported Providers

### 🔷 GitHub Copilot (Default)

Uses VS Code's Language Model API through your GitHub Copilot subscription.

**Pros:**
- No additional setup if you have Copilot
- Automatic model selection
- Native VS Code integration

**Models:** GPT-4o, GPT-4.1, GPT-4-Turbo, GPT-4, GPT-4o-mini, GPT-3.5-Turbo, Gemini 2.0 Flash

### 🟢 OpenAI

Direct access to OpenAI's API with your own API key.

**Setup:**
1. Get an API key from [OpenAI Platform](https://platform.openai.com/api-keys)
2. Run command: `DevBuddy: Set OpenAI API Key`
3. Set provider in settings: `"devBuddy.ai.provider": "openai"`

**Models:**
| Model | Description | Best For |
|-------|-------------|----------|
| `gpt-4o` | Latest flagship | Highest quality |
| `gpt-4o-mini` | Fast & affordable | **Recommended** |
| `gpt-4-turbo` | Fast & powerful | Complex tasks |
| `gpt-4` | Classic GPT-4 | Reliability |
| `gpt-3.5-turbo` | Fastest | Quick tasks |
| `o1-preview` | Reasoning model | Complex analysis |
| `o1-mini` | Fast reasoning | Quick reasoning |

### 🟣 Anthropic (Claude)

Direct access to Anthropic's Claude models.

**Setup:**
1. Get an API key from [Anthropic Console](https://console.anthropic.com/)
2. Run command: `DevBuddy: Set Anthropic API Key`
3. Set provider in settings: `"devBuddy.ai.provider": "anthropic"`

**Models:**
| Model | Description | Best For |
|-------|-------------|----------|
| `claude-sonnet-4-20250514` | Latest Sonnet | Highest quality |
| `claude-3-5-sonnet-20241022` | Claude 3.5 Sonnet | Excellent quality |
| `claude-3-5-haiku-20241022` | Claude 3.5 Haiku | **Recommended** |
| `claude-3-opus-20240229` | Most capable | Complex tasks |
| `claude-3-haiku-20240307` | Fastest | Quick tasks |

### 🔵 Google AI (Gemini)

Direct access to Google's Gemini models.

**Setup:**
1. Get an API key from [Google AI Studio](https://makersuite.google.com/app/apikey)
2. Run command: `DevBuddy: Set Google AI API Key`
3. Set provider in settings: `"devBuddy.ai.provider": "google"`

**Models:**
| Model | Description | Best For |
|-------|-------------|----------|
| `gemini-2.0-flash-exp` | Latest experimental | Cutting edge |
| `gemini-1.5-pro` | Most capable | Complex tasks |
| `gemini-1.5-flash` | Fast & efficient | **Recommended** |
| `gemini-1.5-flash-8b` | Fastest | Quick tasks |

## Configuration

### Settings

```json
{
// Provider selection
"devBuddy.ai.provider": "copilot", // copilot, openai, anthropic, google

// Copilot model (when provider = copilot)
"devBuddy.ai.model": "auto", // auto, copilot:gpt-4o, etc.

// OpenAI model (when provider = openai)
"devBuddy.ai.openai.model": "gpt-4o-mini",

// Anthropic model (when provider = anthropic)
"devBuddy.ai.anthropic.model": "claude-3-5-haiku-20241022",

// Google model (when provider = google)
"devBuddy.ai.google.model": "gemini-1.5-flash",

// Completely disable AI (use rule-based fallback)
"devBuddy.ai.disabled": false,

// Writing tone for summaries
"devBuddy.writingTone": "professional" // casual, professional, technical, concise
}
```

### Commands

| Command | Description |
|---------|-------------|
| `DevBuddy: Set OpenAI API Key` | Securely store your OpenAI API key |
| `DevBuddy: Set Anthropic API Key` | Securely store your Anthropic API key |
| `DevBuddy: Set Google AI API Key` | Securely store your Google AI API key |
| `DevBuddy: Remove AI API Key` | Remove a stored API key |
| `DevBuddy: Show AI Provider Status` | View status of all AI providers |

## Features Using AI

These features benefit from AI providers:

1. **Standup Builder** (`DevBuddy: Open Standup Builder`)
- Summarizes git commits into standup updates
- Suggests next steps based on work done
- Detects potential blockers

2. **PR Summary** (`DevBuddy: Generate PR Summary`)
- Analyzes code changes and commits
- Generates clear, structured PR descriptions
- Categorizes changes by type

3. **Next Steps Suggestions**
- Analyzes recent work
- Suggests what to work on next

4. **Blocker Detection**
- Scans commit messages for warning signs
- Identifies potential issues

## Fallback Behavior

If AI is unavailable (no Copilot, no API key, or disabled), DevBuddy automatically uses intelligent **rule-based summarization**:

- Categorizes commits by conventional commit types
- Extracts package/directory information
- Generates structured summaries without AI

This ensures you can always use features like Standup Builder, even in air-gapped environments.

## Security

- **API keys are stored in VS Code's Secret Storage** (OS keychain)
- Keys are never written to settings files
- Keys are never logged or transmitted except to the respective API
- Each provider has isolated storage

## Troubleshooting

### "No AI models available"
- **Copilot**: Ensure GitHub Copilot extension is installed and active
- **BYOT**: Check that your API key is configured

### "API key not configured"
Run the appropriate "Set API Key" command for your provider.

### "API error"
- Verify your API key is valid
- Check your API quota/credits
- Ensure network connectivity to the API endpoint

### Checking Provider Status
Run `DevBuddy: Show AI Provider Status` to see:
- Which providers are configured
- Which provider is currently active
- Any error messages

## Cost Estimates

Rough estimates for typical DevBuddy usage (varies by model and usage):

| Provider | Model | Est. Cost/Month |
|----------|-------|-----------------|
| OpenAI | gpt-4o-mini | $1-5 |
| OpenAI | gpt-4o | $5-20 |
| Anthropic | claude-3-5-haiku | $1-5 |
| Anthropic | claude-3-5-sonnet | $5-20 |
| Google | gemini-1.5-flash | $1-3 |

*Estimates assume 10-20 standup/PR generations per day.*

## Adding New Providers

The BYOT architecture is extensible. To add a new provider:

1. Create a new provider class extending `BaseAIProvider`
2. Implement `loadConfiguration()`, `initialize()`, `isAvailable()`, `performRequest()`
3. Add configuration options to `package.json`
4. Register in `AIProviderManager`
5. Add key management command

See `src/shared/ai/providers/` for implementation examples.

Loading
Loading