UNPKG

@morodomi/ait3

Version:

AIT³ Development Platform - AI + Ticket + Test + Tool driven development methodology

111 lines (110 loc) 2.65 kB
import type { TicketService } from '../services/interfaces/TicketService.js'; import type { GitService } from '../services/interfaces/GitService.js'; import type { ProjectAnalyzer } from '../services/interfaces/ProjectAnalyzer.js'; export interface Ticket { id: string; title: string; status: 'todo' | 'doing' | 'done'; priority: 'low' | 'medium' | 'high' | 'critical'; created: string; updated: string; started?: string; completed?: string; assignee?: string; labels: string[]; description?: string; location?: { type: 'local' | 'github'; path?: string; url?: string; apiUrl?: string; }; } export interface CreateTicketOptions { priority?: 'low' | 'medium' | 'high' | 'critical'; assignee?: string; labels?: string[]; status?: 'todo' | 'doing' | 'done'; description?: string; acceptanceCriteria?: string[]; technicalRequirements?: string[]; } export interface TicketConfig { backend: string; path: string; numbering: { format: string; increment: number; next: number; }; templates: Record<string, string>; labels: { priority: string[]; type: string[]; status: string[]; }; } export interface CLIResult { success: boolean; message: string; data?: unknown; exitCode?: number; } export interface CreateTicketArgs { title: string; priority?: 'low' | 'medium' | 'high' | 'critical'; assignee?: string; labels?: string[]; } export interface Services { ticketService: TicketService; gitService?: GitService; projectAnalyzer?: ProjectAnalyzer; } export interface ListTicketsArgs { status?: 'todo' | 'doing' | 'done'; priority?: 'low' | 'medium' | 'high' | 'critical'; assignee?: string; } export interface ShowTicketArgs { id: string; } export interface StartTicketArgs { id: string; } export interface CompleteTicketArgs { id: string; } export interface UndoTicketArgs { id: string; dryRun?: boolean; } export interface DeleteTicketArgs { id: string; dryRun?: boolean; } export interface MigrateArgs { from: 'local' | 'github'; to: 'local' | 'github'; owner?: string; repo?: string; validate?: boolean; dryRun?: boolean; tickets?: string; } export interface BackendConfig { backend: 'local' | 'github'; local?: { path: string; }; github?: { owner: string; repo: string; useGhCli?: boolean; labels?: { todo?: string; doing?: string; done?: string; }; }; }