import { setupProductRequirementsTools } from './tools.js';

/**
 * Product Requirements Module - 12-Factor MCP Implementation
 * 
 * This module manages product requirements throughout the development lifecycle,
 * providing comprehensive tracking of functional and non-functional requirements,
 * their implementation status across repositories, and relationships with user stories.
 * 
 * Key features:
 * - Hierarchical requirement organization
 * - Multi-repository implementation tracking
 * - Story linking and traceability
 * - Comprehensive reporting and search
 * - Change history tracking
 * 
 * Implements 12-Factor principles:
 * - Factor 2: Deterministic execution with structured outputs
 * - Factor 3: Stateless processes with RequestContext
 * - Factor 4: Structured outputs for LLM consumption
 * - Factor 7: SQLite backing for persistence
 */

export const productRequirementsModule = {
  name: 'product-requirements',
  version: '2.0.0',
  
  async setup() {
    const { tools } = await setupProductRequirementsTools();
    
    return {
      tools,
      resources: [
        {
          uri: 'atlas://requirements',
          name: 'Product Requirements',
          mimeType: 'application/json',
          description: 'All product requirements in the system'
        }
      ]
    };
  }
};

// Default export for module loading
export default productRequirementsModule;