import { DocumentationService } from '../services/documentationService';
import { GitHubClient } from '../github/githubClient';
import { JiraClient } from '../jira/jiraClient';
import { FuelixClient } from '../fuelix/fuelixClient';
import { loadConfig } from '../config';
import * as fs from 'fs';

async function main() {
  try {
    const config = loadConfig();
    const service = new DocumentationService(
      new GitHubClient(config.github.token),
      new JiraClient(config.jira.token),
      new FuelixClient()
    );

    // Get the latest changes
    const diff = fs.readFileSync(process.argv[2] || 'diff.txt', 'utf-8');
    
    // Analyze changes and create documentation
    const analysis = await service.analyzeChanges(diff);
    const prUrl = await service.createDocumentationPR(analysis);
    
    // Create Jira ticket
    await service.createJiraBacklogItem(analysis, prUrl);
    
    console.log('Documentation PR and Jira ticket created successfully');
  } catch (error) {
    console.error('Error:', error);
    process.exit(1);
  }
}

main(); 