CLI-Tool zur automatisierten Ticket-Analyse und Implementierung mit Claude AI.
# Alle Steps ausfuehren (Analyse + Implementierung)
analyze-ticket run "https://github.com/owner/repo/issues/123"
# Nur Analyse ausfuehren (Steps 1-5, ohne Implementierung)
analyze-ticket analyze "https://github.com/owner/repo/issues/123"
# Einzelnen Step ausfuehren
analyze-ticket step <name> "https://github.com/owner/repo/issues/123"
# Verfuegbare Steps anzeigen
analyze-ticket list-steps| Step | Name | Beschreibung |
|---|---|---|
| 1 | data |
Data/Entities Analyse - Prueft ob Entities erstellt/geaendert/geloescht werden muessen |
| 2 | api |
RestService/API Analyse - Prueft ob API-Endpoints angepasst werden muessen |
| 3 | frontend |
Frontend/Uno Analyse - Prueft ob Pages/ViewModels angepasst werden muessen |
| 4 | structure |
Projektstruktur Analyse - Ordnet Tasks den betroffenen csprojs zu |
| 5 | skills |
Skills Zuordnung - Ordnet passende Claude Skills den Tasks zu |
| 6 | load-tasks |
Tasks laden - Laedt Tasks aus GitHub Issue (Checklisten oder Sub-Issues) |
| 7 | implement |
Implementierung - Implementiert alle geladenen Tasks mit Claude |
Das Tool verwendet das Shiny Mediator Pattern:
- Jeder Step ist ein
IRequest<StepResult>mit eigenemIRequestHandler - Automatische Service-Registrierung via
[Service]Attribut - Orchestrierung ueber
IMediator.Request()
Automation.Cli/
├── Program.cs # Entry point mit System.CommandLine
├── CliService.cs # DI-Konstanten
├── Contracts/
│ ├── StepContext.cs # Shared Context (Ticket-Info)
│ ├── StepResult.cs # Ergebnis-Record
│ └── Requests/ # Request-Records fuer jeden Step
├── Handlers/ # Handler-Implementierungen
├── Infrastructure/
│ ├── IProcessRunner.cs # Interface fuer CLI-Aufrufe
│ ├── ProcessRunner.cs # claude/gh CLI Wrapper
│ └── PromptTemplates.cs # Prompt-Templates
└── Configuration/
└── ServiceCollectionExtensions.cs # DI-Setup
- .NET 10
- Claude CLI installiert und konfiguriert
- GitHub CLI installiert und authentifiziert (fuer GitHub Issues)
# Build
dotnet build
# Run
dotnet run -- run "https://github.com/owner/repo/issues/123"
# Oder als Tool installieren
dotnet pack
dotnet tool install --global --add-source ./nupkg Automation.Clianalyze-ticket run "https://github.com/myorg/myrepo/issues/42"Fuehrt alle 7 Steps aus:
- Analysiert Data/Entity-Aenderungen
- Analysiert API-Aenderungen
- Analysiert Frontend-Aenderungen
- Ordnet Tasks den Projekten zu
- Ordnet Skills zu
- Laedt Tasks aus dem GitHub Issue
- Implementiert jeden Task mit Claude
analyze-ticket analyze "https://github.com/myorg/myrepo/issues/42"Fuehrt nur Steps 1-5 aus und erstellt SubTasks im GitHub Issue.
# Nur Data-Analyse
analyze-ticket step data "https://github.com/myorg/myrepo/issues/42"
# Nur Frontend-Analyse
analyze-ticket step frontend "https://github.com/myorg/myrepo/issues/42"- Request in
Contracts/Requests/erstellen:
public record MyNewRequest(StepContext Context) : IRequest<StepResult>;- Handler in
Handlers/erstellen:
[Service(CliService.Lifetime, TryAdd = CliService.TryAdd)]
public class MyNewHandler(IProcessRunner processRunner)
: IRequestHandler<MyNewRequest, StepResult>
{
public async Task<StepResult> Handle(
MyNewRequest request,
IMediatorContext context,
CancellationToken ct)
{
// Implementierung
return StepResult.Ok("My New Step");
}
}- In
Program.cszum step-Command hinzufuegen