* Add GitLab integration components Introduced PushToGitLabDialog and GitlabConnection components to handle GitLab project connections and push functionality. Includes user authentication, project handling, and UI for seamless integration with GitLab. * Add components for GitLab connection and push dialog Introduce `GitlabConnection` and `PushToGitLabDialog` components to handle GitLab integration. These components allow users to connect their GitLab account, manage recent projects, and push code to a GitLab repository with detailed configurations and feedback. * Fix GitLab personal access tokens link to use correct URL * Update GitHub push call to use new pushToRepository method * Enhance GitLab integration with performance improvements - Add comprehensive caching system for repositories and user data - Implement pagination and search/filter functionality with debouncing - Add skeleton loaders and improved loading states - Implement retry logic for API calls with exponential backoff - Add background refresh capabilities - Improve error handling and user feedback - Optimize API calls to reduce loading times * feat: implement GitLab integration with connection management and repository handling - Add GitLab connection UI components - Implement GitLab API service for repository operations - Add GitLab connection store for state management - Update existing connection components (Vercel, Netlify) - Add repository listing and statistics display - Refactor GitLab components into organized folder structure * fix: resolve GitLab deployment issues and improve user experience - Fix DialogTitle accessibility warnings for screen readers - Remove CORS-problematic attributes from avatar images to prevent loading errors - Enhance GitLab API error handling with detailed error messages - Fix project creation settings to prevent initial commit conflicts - Add automatic GitLab connection state initialization on app startup - Improve deployment dialog UI with better error handling and user feedback - Add GitLab deployment source type to action runner system - Clean up deprecated push dialog files and consolidate deployment components 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: implement GitHub clone repository dialog functionality This commit fixes the missing GitHub repository selection dialog in the "Clone a repo" feature by implementing the same elegant interface pattern used by GitLab. Key Changes: - Added onCloneRepository prop support to GitHubConnection component - Updated RepositoryCard to generate proper GitHub clone URLs (https://github.com/{full_name}.git) - Implemented full GitHub repository selection dialog in GitCloneButton.tsx - Added proper dialog close handling after successful clone operations - Maintained existing GitHub connection settings page functionality Technical Details: - Follows same component patterns as GitLab implementation - Uses proper TypeScript interfaces for clone URL handling - Includes professional dialog styling with loading states - Supports repository search, pagination, and authentication flow The GitHub clone experience now matches GitLab's functionality, providing users with a unified and intuitive repository selection interface across both providers. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Clean up unused connection components - Remove ConnectionForm.tsx (unused GitHub form component) - Remove CreateBranchDialog.tsx (unused branch creation dialog) - Remove RepositoryDialogContext.tsx (unused context provider) - Remove empty components/ directory These files were not referenced anywhere in the codebase and were leftover from development. * Remove environment variables info section from ConnectionsTab - Remove collapsible environment variables section - Clean up unused state and imports - Simplify the connections tab UI * Reorganize connections folder structure - Create netlify/ folder and move NetlifyConnection.tsx - Create vercel/ folder and move VercelConnection.tsx - Add index.ts files for both netlify and vercel folders - Update imports in ConnectionsTab.tsx to use new folder structure - All connection components now follow consistent folder organization --------- Co-authored-by: Hayat Bourgi <hayat.bourgi@montyholding.com> Co-authored-by: Hayat55 <53140162+Hayat55@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com>
255 lines
8.3 KiB
Plaintext
255 lines
8.3 KiB
Plaintext
# ======================================
|
|
# Environment Variables for Bolt.diy
|
|
# ======================================
|
|
# Copy this file to .env.local and fill in your API keys
|
|
# See README.md for setup instructions
|
|
|
|
# ======================================
|
|
# AI PROVIDER API KEYS
|
|
# ======================================
|
|
|
|
# Anthropic Claude
|
|
# Get your API key from: https://console.anthropic.com/
|
|
ANTHROPIC_API_KEY=your_anthropic_api_key_here
|
|
|
|
# OpenAI GPT models
|
|
# Get your API key from: https://platform.openai.com/api-keys
|
|
OPENAI_API_KEY=your_openai_api_key_here
|
|
|
|
# GitHub Models (OpenAI models hosted by GitHub)
|
|
# Get your Personal Access Token from: https://github.com/settings/tokens
|
|
# - Select "Fine-grained tokens"
|
|
# - Set repository access to "All repositories"
|
|
# - Enable "GitHub Models" permission
|
|
GITHUB_API_KEY=github_pat_your_personal_access_token_here
|
|
|
|
# Perplexity AI (Search-augmented models)
|
|
# Get your API key from: https://www.perplexity.ai/settings/api
|
|
PERPLEXITY_API_KEY=your_perplexity_api_key_here
|
|
|
|
# DeepSeek
|
|
# Get your API key from: https://platform.deepseek.com/api_keys
|
|
DEEPSEEK_API_KEY=your_deepseek_api_key_here
|
|
|
|
# Google Gemini
|
|
# Get your API key from: https://makersuite.google.com/app/apikey
|
|
GOOGLE_GENERATIVE_AI_API_KEY=your_google_gemini_api_key_here
|
|
|
|
# Cohere
|
|
# Get your API key from: https://dashboard.cohere.ai/api-keys
|
|
COHERE_API_KEY=your_cohere_api_key_here
|
|
|
|
# Groq (Fast inference)
|
|
# Get your API key from: https://console.groq.com/keys
|
|
GROQ_API_KEY=your_groq_api_key_here
|
|
|
|
# Mistral
|
|
# Get your API key from: https://console.mistral.ai/api-keys/
|
|
MISTRAL_API_KEY=your_mistral_api_key_here
|
|
|
|
# Together AI
|
|
# Get your API key from: https://api.together.xyz/settings/api-keys
|
|
TOGETHER_API_KEY=your_together_api_key_here
|
|
|
|
# X.AI (Elon Musk's company)
|
|
# Get your API key from: https://console.x.ai/
|
|
XAI_API_KEY=your_xai_api_key_here
|
|
|
|
# Moonshot AI (Kimi models)
|
|
# Get your API key from: https://platform.moonshot.ai/console/api-keys
|
|
MOONSHOT_API_KEY=your_moonshot_api_key_here
|
|
|
|
# Hugging Face
|
|
# Get your API key from: https://huggingface.co/settings/tokens
|
|
HuggingFace_API_KEY=your_huggingface_api_key_here
|
|
|
|
# Hyperbolic
|
|
# Get your API key from: https://app.hyperbolic.xyz/settings
|
|
HYPERBOLIC_API_KEY=your_hyperbolic_api_key_here
|
|
|
|
# OpenRouter (Meta routing for multiple providers)
|
|
# Get your API key from: https://openrouter.ai/keys
|
|
OPEN_ROUTER_API_KEY=your_openrouter_api_key_here
|
|
|
|
# ======================================
|
|
# CUSTOM PROVIDER BASE URLS (Optional)
|
|
# ======================================
|
|
|
|
# Ollama (Local models)
|
|
# DON'T USE http://localhost:11434 due to IPv6 issues
|
|
# USE: http://127.0.0.1:11434
|
|
OLLAMA_API_BASE_URL=http://127.0.0.1:11434
|
|
|
|
# OpenAI-like API (Compatible providers)
|
|
OPENAI_LIKE_API_BASE_URL=your_openai_like_base_url_here
|
|
OPENAI_LIKE_API_KEY=your_openai_like_api_key_here
|
|
|
|
# Together AI Base URL
|
|
TOGETHER_API_BASE_URL=your_together_base_url_here
|
|
|
|
# Hyperbolic Base URL
|
|
HYPERBOLIC_API_BASE_URL=https://api.hyperbolic.xyz/v1/chat/completions
|
|
|
|
# LMStudio (Local models)
|
|
# Make sure to enable CORS in LMStudio
|
|
# DON'T USE http://localhost:1234 due to IPv6 issues
|
|
# USE: http://127.0.0.1:1234
|
|
LMSTUDIO_API_BASE_URL=http://127.0.0.1:1234
|
|
|
|
# ======================================
|
|
# CLOUD SERVICES CONFIGURATION
|
|
# ======================================
|
|
|
|
# AWS Bedrock Configuration (JSON format)
|
|
# Get your credentials from: https://console.aws.amazon.com/iam/home
|
|
# Example: {"region": "us-east-1", "accessKeyId": "yourAccessKeyId", "secretAccessKey": "yourSecretAccessKey"}
|
|
AWS_BEDROCK_CONFIG=your_aws_bedrock_config_json_here
|
|
|
|
# ======================================
|
|
# GITHUB INTEGRATION
|
|
# ======================================
|
|
|
|
# GitHub Personal Access Token
|
|
# Get from: https://github.com/settings/tokens
|
|
# Used for importing/cloning repositories and accessing private repos
|
|
VITE_GITHUB_ACCESS_TOKEN=your_github_personal_access_token_here
|
|
|
|
# GitHub Token Type ('classic' or 'fine-grained')
|
|
VITE_GITHUB_TOKEN_TYPE=classic
|
|
|
|
# ======================================
|
|
# GITLAB INTEGRATION
|
|
# ======================================
|
|
|
|
# GitLab Personal Access Token
|
|
# Get your GitLab Personal Access Token here:
|
|
# https://gitlab.com/-/profile/personal_access_tokens
|
|
#
|
|
# This token is used for:
|
|
# 1. Importing/cloning GitLab repositories
|
|
# 2. Accessing private projects
|
|
# 3. Creating/updating branches
|
|
# 4. Creating/updating commits and pushing code
|
|
# 5. Creating new GitLab projects via the API
|
|
#
|
|
# Make sure your token has the following scopes:
|
|
# - api (for full API access including project creation and commits)
|
|
# - read_repository (to clone/import repositories)
|
|
# - write_repository (to push commits and update branches)
|
|
VITE_GITLAB_ACCESS_TOKEN=
|
|
|
|
# Set the GitLab instance URL (e.g., https://gitlab.com or your self-hosted domain)
|
|
VITE_GITLAB_URL=https://gitlab.com
|
|
|
|
# GitLab token type should be 'personal-access-token'
|
|
VITE_GITLAB_TOKEN_TYPE=personal-access-token
|
|
|
|
# ======================================
|
|
# DEVELOPMENT SETTINGS
|
|
# ======================================
|
|
|
|
# ======================================
|
|
# DEVELOPMENT SETTINGS
|
|
# ======================================
|
|
|
|
# Development Mode
|
|
NODE_ENV=development
|
|
|
|
# Application Port (optional, defaults to 3000)
|
|
PORT=3000
|
|
|
|
# Logging Level (debug, info, warn, error)
|
|
VITE_LOG_LEVEL=debug
|
|
|
|
# Default Context Window Size (for local models)
|
|
DEFAULT_NUM_CTX=32768
|
|
|
|
# ======================================
|
|
# INSTRUCTIONS
|
|
# ======================================
|
|
# 1. Copy this file to .env.local: cp .env.example .env.local
|
|
# 2. Fill in the API keys you want to use
|
|
# 3. Restart your development server: npm run dev
|
|
# 4. Go to Settings > Providers to enable/configure providers
|
|
# ======================================
|
|
# GITLAB INTEGRATION
|
|
# ======================================
|
|
|
|
# GitLab Personal Access Token
|
|
# Get your GitLab Personal Access Token here:
|
|
# https://gitlab.com/-/profile/personal_access_tokens
|
|
#
|
|
# This token is used for:
|
|
# 1. Importing/cloning GitLab repositories
|
|
# 2. Accessing private projects
|
|
# 3. Creating/updating branches
|
|
# 4. Creating/updating commits and pushing code
|
|
# 5. Creating new GitLab projects via the API
|
|
#
|
|
# Make sure your token has the following scopes:
|
|
# - api (for full API access including project creation and commits)
|
|
# - read_repository (to clone/import repositories)
|
|
# - write_repository (to push commits and update branches)
|
|
VITE_GITLAB_ACCESS_TOKEN=
|
|
|
|
# Set the GitLab instance URL (e.g., https://gitlab.com or your self-hosted domain)
|
|
VITE_GITLAB_URL=https://gitlab.com
|
|
|
|
# GitLab token type should be 'personal-access-token'
|
|
VITE_GITLAB_TOKEN_TYPE=personal-access-token
|
|
|
|
# ======================================
|
|
# GITLAB INTEGRATION
|
|
# ======================================
|
|
|
|
# GitLab Personal Access Token
|
|
# Get your GitLab Personal Access Token here:
|
|
# https://gitlab.com/-/profile/personal_access_tokens
|
|
#
|
|
# This token is used for:
|
|
# 1. Importing/cloning GitLab repositories
|
|
# 2. Accessing private projects
|
|
# 3. Creating/updating branches
|
|
# 4. Creating/updating commits and pushing code
|
|
# 5. Creating new GitLab projects via the API
|
|
#
|
|
# Make sure your token has the following scopes:
|
|
# - api (for full API access including project creation and commits)
|
|
# - read_repository (to clone/import repositories)
|
|
# - write_repository (to push commits and update branches)
|
|
VITE_GITLAB_ACCESS_TOKEN=
|
|
|
|
# Set the GitLab instance URL (e.g., https://gitlab.com or your self-hosted domain)
|
|
VITE_GITLAB_URL=https://gitlab.com
|
|
|
|
# GitLab token type should be 'personal-access-token'
|
|
VITE_GITLAB_TOKEN_TYPE=personal-access-token
|
|
|
|
|
|
# ======================================
|
|
# GITLAB INTEGRATION
|
|
# ======================================
|
|
|
|
# GitLab Personal Access Token
|
|
# Get your GitLab Personal Access Token here:
|
|
# https://gitlab.com/-/profile/personal_access_tokens
|
|
#
|
|
# This token is used for:
|
|
# 1. Importing/cloning GitLab repositories
|
|
# 2. Accessing private projects
|
|
# 3. Creating/updating branches
|
|
# 4. Creating/updating commits and pushing code
|
|
# 5. Creating new GitLab projects via the API
|
|
#
|
|
# Make sure your token has the following scopes:
|
|
# - api (for full API access including project creation and commits)
|
|
# - read_repository (to clone/import repositories)
|
|
# - write_repository (to push commits and update branches)
|
|
VITE_GITLAB_ACCESS_TOKEN=
|
|
|
|
# Set the GitLab instance URL (e.g., https://gitlab.com or your self-hosted domain)
|
|
VITE_GITLAB_URL=https://gitlab.com
|
|
|
|
# GitLab token type should be 'personal-access-token'
|
|
VITE_GITLAB_TOKEN_TYPE=personal-access-token
|