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()
    );

    // Test with a sample file
    const content = fs.readFileSync('src/cli.ts', 'utf-8');
    const analysis = await service.analyzeChanges(content);
    console.log('Analysis:', analysis);

    // Create documentation PR
    const prUrl = await service.createDocumentationPR(analysis);
    console.log('PR created:', prUrl);

    // Create Jira ticket
    await service.createJiraBacklogItem(analysis, prUrl);
    console.log('Jira ticket created successfully');
  } catch (error) {
    console.error('Error:', error);
    process.exit(1);
  }
}

main(); 