ISC-CodeConnect is a sophisticated multi-agent Retrieval-Augmented Generation (RAG) system specifically designed for Salesforce development. Built with LangGraph and powered by IBM WatsonX.ai Granite models, it orchestrates a network of specialized AI agents to provide intelligent code analysis, generation, and testing support for Apex classes, triggers, and Lightning Web Components (LWC).
ISC-CodeConnect employs a Langgraph Agent Orchestration System with persistent memory and advanced routing capabilities:
- Supervisor Agent - Breaks down complex queries into executable stages
- Router Agent - Analyzes and routes queries to specialized agents based on operation and code type
- Context Analyzer Agent - Prepares optimal retrieval contexts for vector search
- Retriever Agent - Performs parallel context-aware retrieval from vector collections
- Research Agent - Conducts detailed analysis and creates execution roadmaps
- Specialized Code Agents - Handle specific operations (create, modify, explain)
- Vector Database: IBM CIO hosted Milvus with 5 specialized collections
apex_code- Apex classes and triggersapex_test_code- Apex test classeslwc_html_code- LWC HTML templateslwc_js_code- LWC JavaScript controllerslwc_test_code- LWC Jest test files
- Connection Management: Singleton connection pooling with round-robin distribution
- Source Repositories: PRM, Global-Schema, Global-Core, Sales, Sirion-Schema
Multi-step test generation with dedicated agents:
- Test Planner Agent - Plans comprehensive test strategies
- Setup Generator Agent - Creates test data setup code
- Stub Generator Agent - Handles mocking and stubbing
- Test Method Generator Agent - Generates test methods in batches
- Apex Test Generator Agent - Combines and finalizes test code
Complete component generation workflow:
- LWC HTML Generator Agent - Creates component templates
- LWC JS Generator Agent - Develops JavaScript controllers
- LWC Apex Controller Agent - Builds backend Apex controllers
- LWC Generator Agent - Summarizes and integrates components
- Follow-up Handler Agent - Enhances multi-turn conversations
- General Query Processor Agent - Fallback for complex queries
- Chat Handler Agent - Manages greetings and confirmations
- Error Handler Agent - Provides user-friendly error messages
- Chat Title Agent - Generates contextual chat titles
- Session Memory - LangGraph Checkpointer with MemorySaver
- Persistent Memory - MongoDB on IBM Cloud for chat history
- Multi-turn Conversations - Context-aware follow-up handling
- Parallel Retrieval - Simultaneous context queries across collections using batch processing
- Connection Pooling - IBM CIO Milvus connection management with health monitoring
- Hallucination Reduction - Fact grounding through research agents
- Context-Aware Generation - Leverages existing codebase patterns
- Error Recovery - Graceful fallback mechanisms with intelligent routing
- Python 3.12+ - Core runtime
- LangGraph - Multi-agent orchestration
- LangChain - LLM framework
- IBM WatsonX.ai - Granite model inference
- Milvus - IBM CIO hosted vector database with connection pooling
- MongoDB - Persistent memory storage
- Next.js 14 - React framework
- IBM Carbon Design System - UI components
- TypeScript - Type safety
- IBM Cloud - Hosting and services
- RESTful APIs - Service communication
- Python 3.12+ with pip
- Node.js 18+ with npm/yarn
- 4GB RAM minimum (8GB recommended)
- 2GB disk space for dependencies
- IBM WatsonX.ai API credentials
- IBM CIO Milvus Service connection details
- MongoDB connection string
- Clone and Environment Setup:
git clone https://github.ibm.com/BPManagementTools/isc-code-connect-agent.git
cd isc-code-connect-agent
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt- Environment Configuration:
cp .env.example .envEdit .env with your credentials:
Environment details are shared in 1Password vault.
- Start Backend Services:
chmod +x dev.sh
./dev.shisc-code-connect-agent/
βββ src/ # Core application code
β βββ agents/ # Specialized agent implementations
β β βββ supervisor_agent.py # Main orchestration agent
β β βββ enhanced_route_query.py # Query routing logic
β β βββ unified_query_analysis.py # Query analysis
β β βββ research_agent.py # Research and planning
β β βββ test_agents.py # Test generation pipeline
β β βββ generator_agents.py # LWC generation agents
β βββ retrievers/ # Vector database components
β β βββ factory.py # Retriever factory pattern
β β βββ milvus_manager.py # Connection management
β β βββ base.py # Base retriever classes
β βββ core/ # Core system components
β β βββ memory/ # Memory management
β β βββ llm.py # LLM integration
β β βββ types.py # Type definitions
β βββ config/ # Configuration management
β βββ prompts/ # Agent prompt templates
β βββ utils/ # Utility functions
βββ api/ # REST API endpoints
βββ frontend/ # Next.js frontend application
βββ tests/ # Test suites
βββ deploy/ # Deployment configurations
βββ docs/ # Comprehensive documentation
βββ agents/ # Agent-specific documentation
βββ architecture/ # System architecture
βββ api/ # API reference
βββ vector-db/ # Vector database setup
βββ development/ # Development guides
βββ user-guide/ # User documentation
Each collection stores chunked and embedded code:
| Collection | Content | Usage |
|---|---|---|
apex_code |
Apex classes, triggers | Code analysis, generation |
apex_test_code |
Test classes | Test generation patterns |
lwc_html_code |
LWC templates | UI component generation |
lwc_js_code |
JavaScript controllers | Logic implementation |
lwc_test_code |
Jest test files | Frontend test generation |
- Session Memory: Temporary conversation state using LangGraph Checkpointer and MemorySaver
- Persistent Memory: Long-term chat history in MongoDB
- Context Memory: Retrieved code snippets and analysis
- Agent Performance: Response times and success rates
- Memory Usage: Session and persistent memory metrics
- Vector Search: Retrieval accuracy and relevance scores
- Error Tracking: Comprehensive error logging and analysis
- API Key Management: Secure credential storage
- Input Validation: Query sanitization and validation
- Access Control: Role-based permissions
- Code Review: Generated code security scanning
- Prompt Engineering: Optimized prompts for each agent
- Context Management: Efficient memory usage
- Error Handling: Graceful degradation
- Performance: Parallel processing where possible
We welcome contributions to ISC-CodeConnect! Please follow these guidelines:
- Fork the repository
- Clone your fork locally
- Create a feature branch:
git checkout -b feature/amazing-feature - Set up development environment (see Quick Start)
- Make Changes: Implement your feature or fix
- Test Thoroughly: Run all test
- Follow Standards: Use consistent coding style
- Document: Update relevant documentation
- Commit: Use conventional commit messages
- Push: Push to your feature branch
- Pull Request: Create a detailed PR
- Python: Follow PEP 8 guidelines
- TypeScript: Use ESLint and Prettier
- Documentation: Include docstrings and comments
- Testing: Maintain >80% test coverage
- Single Responsibility: Each agent should have a clear purpose
- Error Handling: Implement robust error handling
- Memory Efficiency: Optimize context usage
- Prompt Engineering: Use clear, specific prompts
- Ensure all tests pass
- Update documentation
- Add relevant labels
- Request review from maintainers
- Address feedback promptly
- Complete Agent System: All agents documented with workflows and pipelines
- Vector Database Integration: IBM CIO Milvus setup and connection management
- API Reference: Session-based FastAPI endpoints
- Architecture Guide: System overview and component interactions
- Documentation Home - Complete documentation index
- Agent Overview - All agent types and interactions
- System Architecture - High-level system design
- Vector Database - IBM CIO Milvus configuration
- API Endpoints - REST API reference
- Development Setup - Local development guide
- Supervisor Agent - Query decomposition and orchestration
- Test Generation Pipeline - 5-stage Apex test generation
- LWC Generation Pipeline - 4-stage component generation
- Specialized Agents - Support and utility agents
- Parallel Processing: Enable parallel retrieval
- Cache Management: Configure response caching
- Memory Cleanup: Regular session cleanup
- Vector Search: Optimize search parameters
- v1.2.0 - July 2025
- Latest Stable: v1.1.5
- LTS Version: v1.0.8
- Feature Freeze: Two weeks before release
- Testing Phase: Comprehensive testing
- Documentation: Update all documentation
- Release Notes: Detailed changelog
- Deployment: Staged rollout
- v1.2.0: Enhanced multi-turn conversations, improved error handling
- v1.1.0: LWC generation pipeline, performance optimizations
- v1.0.0: Initial multi-agent system, core RAG functionality
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Check
/docs/directory - Wiki: Project Wiki
- Found an Error?: Submit a documentation issue
- Want to Help?: Contribute to
/docs/ - Translation?: Contact maintainers
This project is licensed under the MIT License - see the LICENSE file for details.
- LangGraph: MIT License
- IBM WatsonX.ai: Commercial License
- Milvus: Apache 2.0 License
- MongoDB: SSPL License
- IBM Research for WatsonX.ai integration
- IBM CIO Team for Milvus hosting and support
- LangChain Community for the foundation framework
- Milvus Team for vector database capabilities
- Salesforce Developers for use case validation
- Contributors who make this project possible
Built with β€οΈ by the ISC-CodeConnect Team
For enterprise support and custom implementations, contact: isc-codeconnect@ibm.com