Skip to main content

Managing Repositories

This section guides you through managing your code repositories within the application. You can connect to various repository hosting services or upload local repositories to enhance your coding workflow.

Connecting to External Repositories

Connecting to external repositories allows you to directly access and manage your code from services like GitHub, Bitbucket, GitLab, and Azure DevOps.

Supported Services

The application supports connections to the following services:

  • GitHub: Connect to your GitHub account to access your repositories.
  • Bitbucket: Integrate with Bitbucket for seamless code management.
  • GitLab: Connect to GitLab to work with your GitLab projects.
  • Azure DevOps: Link your Azure DevOps account to access your repositories hosted on Azure.
  • Self-hosted Git Instances: Connect to your self-hosted git instances using the "Manage Self-hosted Connection" and providing the API key and URL.

Connecting a Repository

  1. Navigate to the Settings or Repositories section of the application. This is done by clicking the settings icon in the left navigation bar.
  2. Locate the service you want to connect to (e.g., GitHub, Bitbucket).
  3. Click the Connect button next to the service.
  4. You will be redirected to the service's authorization page. Follow the on-screen instructions to grant the application access to your repositories.
  5. Once authorized, you will be redirected back to the application, and your repositories from that service will be available.

Managing Connections

  • Updating API Keys: If your API key changes or expires, you can update it in the connection settings. Click the gear icon next to the connected repository, enter the new API key, and save the changes.
  • Deleting Connections: To remove a connection, click the gear icon next to the connected repository and select the delete option. This will remove access to your repositories from that service.

Uploading Local Repositories

In addition to connecting to external services, you can upload local repositories directly to the application. This is useful for working with code that is not hosted on a public or private repository service.

Uploading a Repository

  1. In the Repositories section, find the "Local Repositories" option.
  2. Click the Locate on your device button.
  3. Select the root directory of your local repository.
  4. The application will compress the repository into a .tar.gz archive and upload it.
  5. Once uploaded, the repository will be available for use within the application.

Managing Uploaded Repositories

  • Removing a Repository: To remove an uploaded repository, find it in the list of repositories and click the Remove button. This will delete the repository from the application.

Selecting Branches

After connecting or uploading a repository, you may be prompted to select the branches you want to work with. The application will analyze these branches to extract useful information.

Working with Repositories

Once your repositories are connected or uploaded, you can use them within the application for various tasks, such as code analysis, refactoring, and more.

Configuring Repository Runtime Settings

After connecting your repositories, you can configure specific runtime settings for each repository to optimize your development environment.

Setting Up Runtime Configuration

  1. Navigate to the Settings > Repositories section
  2. Locate the repository you want to configure
  3. Click the Edit (pen) icon next to the repository
  4. Configure the following settings:
    • Java Version - Select your preferred Java runtime version
    • Maven Version - Choose the Maven version for your project
    • Mule Version - Set the Mule runtime version
    • VM Arguments - Configure JVM arguments for optimal performance

Benefits of Repository-Specific Settings

Once you save these runtime settings for a repository, they will be automatically applied whenever you start a new task and select that repository. This eliminates the need to manually configure runtime settings each time, ensuring:

  • Consistent Environment - Every task uses the same runtime configuration
  • Improved Efficiency - No need to repeatedly set up runtime parameters
  • Reduced Errors - Eliminates configuration mistakes and version mismatches
  • Team Consistency - All team members working on the same repository use identical settings

Managing Multiple Repository Configurations

You can have different runtime settings for different repositories, allowing you to:

  • Use Java 8 for legacy projects and Java 11+ for modern applications
  • Configure different Maven versions based on project requirements
  • Set up Mule 4.x for new projects while maintaining Mule 3.x for existing ones
  • Apply specific VM arguments for performance optimization per project

Self-Hosted Git Integrations

The application supports connecting to self-hosted Git instances, including GitLab and GitHub Enterprise. This allows you to work with repositories hosted on your organization's private Git infrastructure.

Self-Hosted GitLab

To connect to a self-hosted GitLab instance, you'll need to configure the following settings:

Prerequisites

Before setting up the connection, ensure you have:

  • Access to your self-hosted GitLab instance
  • A GitLab application created in your GitLab instance
  • The application's Client ID and Client Secret

Configuration Steps

  1. Navigate to Repository Settings

    • Go to Settings > Repositories
    • Click Manage Self-hosted Connection
    • Select Self Hosted GitLab from the platform dropdown
  2. Provide Required Information

    • Server URL: Enter your GitLab instance URL (e.g., https://gitlab.example.com)
    • Client ID: Input your GitLab application's Client ID
    • Client Secret: Input your GitLab application's Client Secret
    • Redirect URL: Copy the provided redirect URL (https://platform.curietech.ai/oauth/gitlab_custom/callback)
  3. Configure GitLab Application

    • In your GitLab instance, navigate to your application settings
    • Set the Redirect URI to: https://platform.curietech.ai/oauth/gitlab_custom/callback
    • Ensure the application has the necessary scopes for repository access
  4. Save Configuration

    • Once all fields are filled, click Save to establish the connection
    • The application will validate the connection and make your GitLab repositories available

Self-Hosted GitHub Enterprise

To connect to a GitHub Enterprise instance, you'll need to set up a GitHub App with the following configuration:

Prerequisites

Before setting up the connection, ensure you have:

  • The GitHub App's private key (PEM format)
  • Optional: Custom SSL CA certificate if your server uses custom certificates

Configuration Steps

  1. Navigate to Repository Settings

    • Go to Settings > Repositories
    • Click Manage Self-hosted Connection
    • Select Self Hosted GitHub from the platform dropdown
  2. Provide Required Information

    • Server URL: Enter your GitHub Enterprise URL (e.g., https://ghe.example.com)
    • GitHub App Name: Enter your GitHub App name (e.g., curie-enterprise-app)
    • GitHub App ID: Enter your GitHub App ID (e.g., 123456)
  3. Upload Certificates

    • GitHub App Private Key: Click Upload Private Key and select your GitHub App's private key file (PEM format)
    • Custom SSL CA Certificate: If your GitHub Enterprise uses custom SSL certificates, click Upload PEM Certificate and select your CA certificate file
  4. Configure GitHub App Permissions

    • In your GitHub Enterprise instance, ensure your GitHub App has the following permissions:
      • Repository access (read/write as needed)
      • Contents (read/write)
      • Metadata (read)
      • Pull requests (read/write)
      • Issues (read/write)
    • Set the callback URL to: https://platform.curietech.ai/oauth/github_custom/callback
    • If you are behind a VPN, whitelist this IP address: 52.73.139.240
  5. Save Configuration

    • Once all required fields are filled, click Save to establish the connection
    • The application will validate the connection and make your GitHub Enterprise repositories available

Benefits of Self-Hosted Integrations

  • Security: Keep your code within your organization's infrastructure
  • Compliance: Meet enterprise security and compliance requirements
  • Performance: Faster access to repositories within your network
  • Control: Full control over access permissions and user management

Troubleshooting

If you encounter any issues connecting to or uploading repositories, please consult the Troubleshooting and Support section or contact support for assistance.