UNPKG

adpa-enterprise-framework-automation

Version:

Modular, standards-compliant Node.js/TypeScript automation framework for enterprise requirements, project, and data management. Provides CLI and API for BABOK v3, PMBOK 7th Edition, and DMBOK 2.0 (in progress). Production-ready Express.js API with TypeSpe

301 lines (234 loc) 8.95 kB
# 🔐 Environment Variables Guide for ADPA v2.1.3 ## Overview This guide provides a comprehensive overview of all environment variables used by the Automated Document Processing Assistant (ADPA), including the new Confluence integration. ## 🚀 AI Provider Configuration ### **GitHub Models (Recommended)** ```bash # Required for GitHub Models GITHUB_TOKEN=your_github_personal_access_token ``` ### **Azure OpenAI** ```bash # Required for Azure OpenAI AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/ AZURE_OPENAI_API_KEY=your_azure_openai_api_key AZURE_OPENAI_DEPLOYMENT_NAME=your_deployment_name ``` ### **Google AI (Gemini)** ```bash # Required for Google AI GOOGLE_AI_API_KEY=your_google_ai_api_key ``` ### **OpenAI (Direct)** ```bash # Required for OpenAI OPENAI_API_KEY=your_openai_api_key ``` ### **Anthropic Claude** ```bash # Required for Anthropic ANTHROPIC_API_KEY=your_anthropic_api_key ``` ### **Ollama (Local)** ```bash # Optional - defaults to http://localhost:11434 OLLAMA_BASE_URL=http://localhost:11434 ``` ## 🔗 Confluence Integration (NEW in v2.1.3) ### **OAuth 2.0 Authentication (Recommended)** ```bash # OAuth 2.0 Configuration - Modern and secure CONFLUENCE_CLIENT_ID=your_oauth2_client_id CONFLUENCE_CLIENT_SECRET=your_oauth2_client_secret CONFLUENCE_REDIRECT_URI=http://localhost:3000/callback CONFLUENCE_SCOPES=read:content:confluence,write:content:confluence,read:user:confluence,read:space:confluence # Common Configuration CONFLUENCE_SPACE_KEY=YOURSPACE CONFLUENCE_PARENT_PAGE_ID=optional_parent_page_id CONFLUENCE_CLOUD_ID=optional_cloud_id ``` ### **API Token Authentication (Legacy)** ```bash # Legacy API Token Configuration CONFLUENCE_API_TOKEN=your_atlassian_api_token # OR alternatively: ATLASSIAN_API_TOKEN=your_atlassian_api_token # Required for API Token method CONFLUENCE_BASE_URL=https://your-domain.atlassian.net CONFLUENCE_EMAIL=your-email@domain.com CONFLUENCE_SPACE_KEY=YOURSPACE CONFLUENCE_PARENT_PAGE_ID=optional_parent_page_id ``` ### **How to Set Up OAuth 2.0 (Recommended)** 1. Go to [Atlassian Developer Console](https://developer.atlassian.com/console/myapps/) 2. Create a new app or use existing one 3. Configure OAuth 2.0 (3LO) with redirect URI: `http://localhost:3000/callback` 4. Add the following scopes: - `read:content:confluence` - View detailed contents - `write:content:confluence` - Create and update contents - `read:user:confluence` - View user details - `read:space:confluence` - View spaces 5. Copy Client ID and Client Secret to your `.env` file ### **How to Get API Token (Legacy)** 1. Go to [Atlassian Account Settings](https://id.atlassian.com/manage-profile/security/api-tokens) 2. Click "Create API token" 3. Give it a name (e.g., "ADPA Integration") 4. Copy the token and set it as `CONFLUENCE_API_TOKEN` ## 💻 Platform-Specific Setup ### **Windows PowerShell** ```powershell # AI Provider (choose one) $env:GITHUB_TOKEN="your_github_token" # Confluence Integration $env:CONFLUENCE_API_TOKEN="your_atlassian_api_token" $env:CONFLUENCE_BASE_URL="https://your-domain.atlassian.net" $env:CONFLUENCE_EMAIL="your-email@domain.com" $env:CONFLUENCE_SPACE_KEY="YOURSPACE" ``` ### **Windows Command Prompt** ```cmd REM AI Provider (choose one) set GITHUB_TOKEN=your_github_token REM Confluence Integration set CONFLUENCE_API_TOKEN=your_atlassian_api_token set CONFLUENCE_BASE_URL=https://your-domain.atlassian.net set CONFLUENCE_EMAIL=your-email@domain.com set CONFLUENCE_SPACE_KEY=YOURSPACE ``` ### **Linux/macOS** ```bash # AI Provider (choose one) export GITHUB_TOKEN="your_github_token" # Confluence Integration export CONFLUENCE_API_TOKEN="your_atlassian_api_token" export CONFLUENCE_BASE_URL="https://your-domain.atlassian.net" export CONFLUENCE_EMAIL="your-email@domain.com" export CONFLUENCE_SPACE_KEY="YOURSPACE" ``` ## 📁 .env File Setup (Recommended) Create a `.env` file in your project root: ```env # .env file for ADPA v2.1.3 # IMPORTANT: Add .env to your .gitignore file! # =========================================== # AI PROVIDER CONFIGURATION (Choose One) # =========================================== # GitHub Models (Recommended - Free tier available) GITHUB_TOKEN=your_github_personal_access_token # Azure OpenAI (Enterprise) # AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/ # AZURE_OPENAI_API_KEY=your_azure_openai_api_key # AZURE_OPENAI_DEPLOYMENT_NAME=your_deployment_name # Google AI (Gemini) # GOOGLE_AI_API_KEY=your_google_ai_api_key # OpenAI (Direct) # OPENAI_API_KEY=your_openai_api_key # Anthropic Claude # ANTHROPIC_API_KEY=your_anthropic_api_key # =========================================== # CONFLUENCE INTEGRATION (NEW in v2.1.3) # =========================================== # Option 1: OAuth 2.0 Authentication (Recommended) # Get these from Atlassian Developer Console CONFLUENCE_CLIENT_ID=your_oauth2_client_id CONFLUENCE_CLIENT_SECRET=your_oauth2_client_secret CONFLUENCE_REDIRECT_URI=http://localhost:3000/callback CONFLUENCE_SCOPES=read:content:confluence,write:content:confluence,read:user:confluence,read:space:confluence # Option 2: API Token Authentication (Legacy) # CONFLUENCE_API_TOKEN=your_atlassian_api_token # CONFLUENCE_BASE_URL=https://your-domain.atlassian.net # CONFLUENCE_EMAIL=your-email@domain.com # Common Configuration (both methods) CONFLUENCE_SPACE_KEY=YOURSPACE CONFLUENCE_PARENT_PAGE_ID=optional_parent_page_id CONFLUENCE_CLOUD_ID=optional_cloud_id # =========================================== # OPTIONAL CONFIGURATION # =========================================== # Ollama (Local AI) # OLLAMA_BASE_URL=http://localhost:11434 # Debug and Development # DEBUG=true # VERBOSE_LOGGING=true ``` ## 🔍 Verification Commands ### **Check AI Provider Configuration** ```bash # Test your AI provider setup npm run requirements-gathering-agent --status ``` ### **Check Confluence Integration** ```bash # Initialize Confluence configuration npm run confluence:init # Check Confluence status npm run confluence:status # Test Confluence connection npm run confluence:test ``` ## ⚠️ Security Best Practices ### **1. Environment Variable Security** - ✅ Never commit `.env` files to version control - ✅ Add `.env` to your `.gitignore` file - ✅ Use different API tokens for different environments - ✅ Regularly rotate API tokens ### **2. API Token Management** - ✅ Use descriptive names for API tokens - ✅ Set appropriate expiration dates - ✅ Monitor token usage in provider dashboards - ✅ Revoke unused tokens immediately ### **3. Confluence-Specific Security** - ✅ Use dedicated API tokens for ADPA - ✅ Limit token permissions to required scopes - ✅ Monitor Confluence activity logs - ✅ Use space-specific permissions when possible ## 🛠️ Troubleshooting ### **Common Issues** 1. **"API token not found" errors** ```bash # Check if environment variables are set echo $CONFLUENCE_API_TOKEN # Linux/macOS echo $env:CONFLUENCE_API_TOKEN # Windows PowerShell ``` 2. **"Connection failed" errors** ```bash # Test Confluence connection npm run confluence:test ``` 3. **"Invalid space key" errors** ```bash # Check Confluence configuration npm run confluence:status ``` ### **Debug Commands** ```bash # Show detailed configuration status node dist/cli.js --status # Show Confluence integration status node dist/cli.js confluence status # Test with verbose output node dist/cli.js confluence test --verbose ``` ## 📊 Environment Variable Priority ADPA uses the following priority order for configuration: 1. **Environment Variables** (highest priority) 2. **config-rga.json** (medium priority) 3. **Default values** (lowest priority) This means environment variables will always override configuration file settings. ## 🎯 Quick Setup Checklist - [ ] Choose and configure one AI provider - [ ] Set required environment variables - [ ] Create `.env` file (optional but recommended) - [ ] Add `.env` to `.gitignore` - [ ] Test AI provider: `npm run requirements-gathering-agent --status` - [ ] Initialize Confluence: `npm run confluence:init` - [ ] Configure Confluence settings in `config-rga.json` - [ ] Test Confluence: `npm run confluence:test` - [ ] Generate and publish documents: `npm run confluence:publish` ## 🚀 Ready to Go! Once you have your environment variables configured: 1. **Generate documents**: `node dist/cli.js --generate-all` 2. **Publish to Confluence**: `npm run confluence:publish` 3. **Check status anytime**: `npm run confluence:status` --- **Need Help?** Run `node dist/cli.js --help` for comprehensive CLI documentation!