add-providerlisted
Install: claude install-skill kiminmonaco/ClaudeBar
# Add Provider to ClaudeBar
Add new AI providers following established TDD patterns and architecture.
## Architecture Overview
> **Full architecture:** [docs/ARCHITECTURE.md](../../../docs/ARCHITECTURE.md)
| Component | Location | Purpose |
|-----------|----------|---------|
| `AIProvider` | `Sources/Domain/Provider/` | Rich domain model with isEnabled state |
| `UsageProbe` | `Sources/Infrastructure/CLI/` | Fetches quota from CLI/API |
| Tests | `Tests/InfrastructureTests/CLI/` | Parsing + behavior tests |
## TDD Workflow
### Phase 1: Parsing Tests (Red → Green)
Create `Tests/InfrastructureTests/CLI/{Provider}UsageProbeParsingTests.swift`:
```swift
import Testing
import Foundation
@testable import Infrastructure
@testable import Domain
@Suite
struct {Provider}UsageProbeParsingTests {
static let sampleResponse = """
{ /* sample API/CLI response */ }
"""
@Test func `parses quota into UsageQuota`() throws {
let data = Data(Self.sampleResponse.utf8)
let snapshot = try {Provider}UsageProbe.parseResponse(data, providerId: "{provider-id}")
#expect(snapshot.quotas.count > 0)
}
@Test func `maps percentage correctly`() throws { /* ... */ }
@Test func `parses reset time`() throws { /* ... */ }
@Test func `extracts account email`() throws { /* ... */ }
@Test func `handles missing data gracefully`() throws { /* ... */ }
}
```
### Phase 2: Probe Behavior Tests (