UNPKG

task-engine-ai-core

Version:

Revolutionary AI-driven task management system with complete transformation trilogy: Frontend v0.1.0, Backend v0.2.0, CLI v0.3.0 - Enterprise-grade performance with 95% improvements

375 lines (307 loc) • 8.14 kB
# Task Engine AI Core Configuration This directory contains comprehensive configuration files for the `task-engine-ai-core` package, supporting the complete transformation trilogy architecture. ## šŸ“ Configuration Files ### Core Configuration Files - **`task-engine-config.json`** - Master configuration with package metadata and feature definitions - **`default.json`** - Default configuration settings for all environments - **`development.json`** - Development environment specific settings - **`production.json`** - Production environment optimized settings - **`schema.json`** - JSON schema for configuration validation ### Configuration Structure ``` config/ ā”œā”€ā”€ README.md # This file ā”œā”€ā”€ task-engine-config.json # Master package configuration ā”œā”€ā”€ default.json # Default settings ā”œā”€ā”€ development.json # Development environment ā”œā”€ā”€ production.json # Production environment └── schema.json # Configuration schema ``` ## šŸš€ Quick Start ### Basic Usage ```javascript import { ConfigLoader, loadConfig } from 'task-engine-ai-core/src/utils/config-loader.js'; // Load configuration for current environment const config = await loadConfig(); // Access configuration values const port = config.architectures.backend.port; const aiEnabled = config.ai.features.taskGeneration; ``` ### Environment-Specific Loading ```javascript // Load development configuration const devConfig = await loadConfig({ environment: 'development' }); // Load production configuration const prodConfig = await loadConfig({ environment: 'production' }); ``` ### Custom Configuration Directory ```javascript const config = await loadConfig({ configDir: '/path/to/custom/config', environment: 'staging' }); ``` ## āš™ļø Configuration Hierarchy Configurations are loaded and merged in the following order (later configs override earlier ones): 1. **Default Configuration** (`default.json`) 2. **Environment Configuration** (`{environment}.json`) 3. **User Configuration** (`user.json`) - Optional 4. **Local Configuration** (`local.json`) - Optional 5. **Environment Variables** - Highest priority ## šŸŒ Environment Variables Override configuration values using environment variables: ```bash # Backend Configuration export TASK_ENGINE_PORT=8080 export TASK_ENGINE_HOST=0.0.0.0 export TASK_ENGINE_DB_TYPE=postgresql export TASK_ENGINE_DB_HOST=localhost export TASK_ENGINE_DB_PORT=5432 export TASK_ENGINE_DB_NAME=taskengine # Cache Configuration export TASK_ENGINE_REDIS_HOST=localhost export TASK_ENGINE_REDIS_PORT=6379 # Logging Configuration export TASK_ENGINE_LOG_LEVEL=debug export TASK_ENGINE_DEBUG=true # AI Configuration export ANTHROPIC_API_KEY=your-api-key export OPENAI_API_KEY=your-api-key # MCP Configuration export MCP_PORT=9000 export MCP_HOST=localhost ``` ## šŸ—ļø Architecture Configuration ### Frontend Architecture (v0.1.0) ```json { "architectures": { "frontend": { "enabled": true, "port": 3000, "activeAgent": { "enabled": true, "intelligence": { "predictiveAnalytics": true, "naturalLanguageProcessing": true, "machineLearning": true } }, "realTime": { "enabled": true, "websocket": { "port": 3001 } } } } } ``` ### Backend Architecture (v0.2.0) ```json { "architectures": { "backend": { "enabled": true, "port": 8000, "database": { "type": "sqlite", "path": "data/tasks.db" }, "cache": { "enabled": true, "type": "memory", "ttl": 300 }, "performance": { "optimization": true, "dataEngine": { "batchSize": 100, "parallelProcessing": true } } } } } ``` ### CLI Architecture (v0.3.0) ```json { "architectures": { "cli": { "enabled": true, "commands": { "aliases": ["task-master", "tm"], "autoComplete": true }, "performance": { "enabled": true, "caching": true }, "legacy": { "compatibility": true } } } } ``` ## šŸ¤– AI Configuration ```json { "ai": { "providers": { "default": "anthropic", "anthropic": { "enabled": true, "model": "claude-3-sonnet-20240229", "maxTokens": 4096, "temperature": 0.7 } }, "features": { "taskGeneration": true, "taskOptimization": true, "predictiveAnalytics": true, "naturalLanguageProcessing": true }, "limits": { "requestsPerMinute": 60, "requestsPerHour": 1000 } } } ``` ## šŸ“Š Monitoring Configuration ```json { "monitoring": { "enabled": true, "metrics": { "performance": true, "system": true, "business": true }, "alerting": { "enabled": true, "thresholds": { "responseTime": 1000, "errorRate": 0.05, "memoryUsage": 0.8 } } } } ``` ## šŸ”§ Development vs Production ### Development Settings - Debug mode enabled - Verbose logging - Hot reload enabled - Mock data available - Relaxed security - Lower performance limits ### Production Settings - Debug mode disabled - Error-level logging only - SSL/TLS enabled - Authentication required - Enhanced security - Optimized performance - Clustering enabled - Backup and monitoring ## šŸ“ Custom Configuration Create custom configuration files for specific environments: ### `config/staging.json` ```json { "taskEngine": { "environment": "staging", "debug": false }, "architectures": { "backend": { "database": { "type": "postgresql", "host": "staging-db.example.com" } } } } ``` ### `config/user.json` (Optional) ```json { "ai": { "providers": { "anthropic": { "temperature": 0.9 } } }, "development": { "mockData": { "enabled": true, "tasks": 50 } } } ``` ## āœ… Configuration Validation The configuration system includes automatic validation: - **Schema Validation** - Validates against JSON schema - **Type Checking** - Ensures correct data types - **Range Validation** - Validates numeric ranges - **Required Fields** - Checks for required configuration ### Manual Validation ```javascript import { ConfigLoader } from 'task-engine-ai-core/src/utils/config-loader.js'; const loader = new ConfigLoader({ validateSchema: true }); try { const config = await loader.load(); console.log('Configuration is valid'); } catch (error) { console.error('Configuration validation failed:', error.message); } ``` ## šŸ” Configuration Access ### Using ConfigLoader ```javascript import { configLoader } from 'task-engine-ai-core/src/utils/config-loader.js'; // Load configuration await configLoader.load(); // Get specific values const port = configLoader.get('architectures.backend.port', 8000); const aiEnabled = configLoader.get('ai.features.taskGeneration', false); // Check if configuration exists if (configLoader.has('monitoring.enabled')) { // Monitoring is configured } ``` ### Direct Access ```javascript const config = await loadConfig(); // Access nested values const dbConfig = config.architectures.backend.database; const aiConfig = config.ai.providers.anthropic; ``` ## 🚨 Common Issues ### Missing Configuration Files - Ensure `default.json` exists in the config directory - Check file permissions and paths ### Environment Variable Override - Use exact environment variable names - Check data type conversion (strings to numbers/booleans) ### Schema Validation Errors - Verify configuration structure matches schema - Check required fields are present - Validate data types and ranges ## šŸ“š Examples See the `examples/` directory for complete configuration examples: - Basic setup - Enterprise deployment - Development environment - Custom integrations --- **Configuration Version:** 1.0.0 **Compatible with:** task-engine-ai-core v0.3.0 **Last Updated:** January 8, 2025