Skip to main content

Quick Start Guide

Welcome to Unoplat Code Confluence - Your Gateway to Code Understanding!

Current Status

๐Ÿ”„ Unoplat Code Confluence currently supports Python codebases and is in alpha stage. We're actively working on expanding language support and features. While in alpha stage, it's best suited for developers and tech enthusiasts who enjoy exploring new tools, don't mind a few rough edges, and are willing to provide feedback as we work towards establishing a complete end-to-end workflow!

Introductionโ€‹

The current version supports parsing codebases and exporting a JSON representation of code graph. For more details, check out:

Prerequisitesโ€‹

Before you begin, ensure you have the following tool installed:

ToolPurpose
๐Ÿณ Docker & Docker Compose ยปFor running services

Setting Up Code Confluenceโ€‹

Follow these steps to set up Code Confluence:

  1. Create Project Directory and Download Configuration:

    mkdir -p code-confluence && cd code-confluence

    # Download Docker Compose file
    curl -O https://raw.githubusercontent.com/unoplat/unoplat-code-confluence/refs/heads/main/prod-docker-compose.yml
  2. Launch Services:

    docker compose -f prod-docker-compose.yml up -d
  3. Verify Deployment:

    docker compose -f prod-docker-compose.yml ps

Running the Applicationโ€‹

1. Access the Web Interfaceโ€‹

2. Enter Your GitHub Personal Access Token (PAT)โ€‹

  • When prompted, enter a GitHub PAT with read access to the repositories you want to ingest.
  • This is required for Code Confluence to clone and analyze your repositories.

Enter GitHub PAT Token

Getting a GitHub PAT

If you don't have a GitHub PAT:

  1. Go to GitHub Settings โ†’ Developer Settings โ†’ Personal Access Tokens โ†’ Tokens (classic)
  2. Click "Generate new token (classic)"
  3. Give it a name like "CodeConfluence"
  4. Select only the repo scope (this gives read access to repositories)
  5. Click "Generate token" and copy it

You only need read access since we'll just be cloning repositories!

3. Search for a Repositoryโ€‹

  • Press s or S (Shift + s) to open the search dialog.
  • You can search through your personal, public, and open source repositories.

Search for Repository

4. Ingest a Repositoryโ€‹

  • In the Actions column, click on Ingest Repo for the repository you want to analyze.

Ingest Repo Action

5. Configure Repository & Codebaseโ€‹

  • A Repository Dialog Configuration will open up where you can add one or more codebases for that repo.
  • For each codebase, fill in the following:
    • Root Package: Path to root package/module where the main file for the codebase is situated
    • Codebase Folder: Folder for codebase within the mono repo (check "No subdirectory" if codebase lives in the repository root)
    • Package Manager: Select the package manager
    • Programming Language: Currently only Python is supported

Example: Configuring CrewAIโ€‹

For example, to ingest the popular agent framework CrewAI:

CrewAI Configuration Example

  • Once done, click Submit to start the ingestion process.

6. Enable Developer Modeโ€‹

  • Navigate to Settings > Developer Mode, and toggle the switch on to unlock infrastructure tooling.
  • Once enabled, you will see two new tools:

Developer Mode

Workflow Orchestratorโ€‹

  • Access and manage automated workflows
  • View execution logs and debug orchestration issues
  • Monitor real-time workflow performance
  • Click the "Workflow Orchestrator" button to open the temporal workflow orchestrator dashboard.

Knowledge Graphโ€‹

  • Explore the knowledge graph, inspect entities and relationships, and debug data connections
  • Click the "Knowledge Graph" button to open the Neo4j Browser directly
  • When Neo4j Browser opens, you'll be prompted to log in with:
    Username: neo4j
    Password: password
  • Once logged in, try this query to explore your code graph:
    MATCH (n) 
    RETURN n
    LIMIT 25
tip

The above query displays the first 25 nodes in your code graph, perfect for a quick overview!

Troubleshootingโ€‹

Need assistance? We're here to help!

Support Optionsโ€‹

  1. GitHub Issues

    • ๐Ÿ“ Visit GitHub Issues ยป to:
      • Report bugs or request features
      • Browse existing solutions
      • Get developer support
  2. Community Support

note

Remember to check existing issues before creating a new one!


This documentation is powered by Docusaurus, making it easy to maintain and extend.