Quick Start Guide
Welcome to Unoplat Code Confluence - Your Gateway to Code Understanding!
๐ 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:
- ๐ Vision ยป
Prerequisitesโ
Before you begin, ensure you have the following tool installed:
Tool | Purpose |
---|---|
๐ณ Docker & Docker Compose ยป | For running services |
Setting Up Code Confluenceโ
Follow these steps to set up Code Confluence:
-
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 -
Launch Services:
docker compose -f prod-docker-compose.yml up -d
-
Verify Deployment:
docker compose -f prod-docker-compose.yml ps
Running the Applicationโ
1. Access the Web Interfaceโ
- Open your browser and go to http://localhost:3000
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.
If you don't have a GitHub PAT:
- Go to GitHub Settings โ Developer Settings โ Personal Access Tokens โ Tokens (classic)
- Click "Generate new token (classic)"
- Give it a name like "CodeConfluence"
- Select only the
repo
scope (this gives read access to repositories) - 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
orS
(Shift + s) to open the search dialog. - You can search through your personal, public, and open source repositories.
4. Ingest a Repositoryโ
- In the Actions column, click on Ingest Repo for the repository you want to analyze.
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:
- 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:
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
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โ
-
GitHub Issues
- ๐ Visit GitHub Issues ยป to:
- Report bugs or request features
- Browse existing solutions
- Get developer support
- ๐ Visit GitHub Issues ยป to:
-
Community Support
- ๐ฌ Join our Discord Community ยป to:
- Connect with other users
- Get real-time assistance
- ๐ฌ Join our Discord Community ยป to:
Remember to check existing issues before creating a new one!
This documentation is powered by Docusaurus, making it easy to maintain and extend.