$ show conductor-oss/conductor
Conductor is a production-grade workflow orchestration engine originally built at Netflix, now maintained by Orkes and the community. It provides durable execution for microservices, AI agents, and adaptive workflow graphs. The system defines workflows as versioned JSON DAGs with support for dynamic forks, loops, retries, timeouts, cancellation, pause/resume, and human-in-the-loop approvals. It has a modular Spring Boot backend with multiple persistence backends (PostgreSQL, MySQL, Cassandra, Redis, SQLite, Elasticsearch/OpenSearch) and event queue integrations (AMQP, NATS, SQS). The frontend is a modern React application with XState state machines, Material-UI, and a plugin system for extensibility. The codebase also includes a comprehensive AI integration layer with LLM providers (OpenAI, Anthropic, Gemini, etc.), vector databases, MCP tool calling, and the A2A agent-to-agent protocol. The architecture is microservices-ready with REST and gRPC APIs, a scheduler for cron-based workflows, and external payload storage (S3, GCS, Azure Blob). The project is actively maintained with a large community, but shows signs of technical drift due to multiple persistence backends, two coexisting UI codebases (legacy and modern), and some deprecated components.
The LLM identified 6 files worth highlighting for reuse:
A highly configurable data table component that supports column ordering, visibility toggling, and search, with user preferences persisted to localStorage. It demonstrates clean separation of concerns between data fetching, state management, and UI rendering, and can be extracted for use in any React project needing a flexible table with persistent column configuration.
A plugin registry pattern that allows external modules to register UI extensions (sidebar items, auth providers, task forms, search providers) at runtime. This enables the OSS version to have a clean separation from enterprise features, and the pattern is reusable in any application requiring a pluggable architecture.
An interface defining the contract for mapping workflow tasks to executable implementations. Each task type (e.g., Switch, Fork, Human) has a dedicated mapper, allowing the system to be extended with new task types without modifying core execution logic. This pattern is reusable in any workflow engine or state machine that needs to decouple task definition from execution.
Implements the Agent-to-Agent (A2A) protocol for remote agent communication, including task submission, cancellation, and streaming results. It handles the full lifecycle of inter-agent interactions with proper error handling, logging, and metrics. This component is self-contained and could be reused in any system needing A2A protocol support.
An integration test for the scheduler service using Testcontainers for MySQL provisioning and Flyway migrations. It extends an abstract test base that defines the contract, allowing the same test suite to be reused for different database backends (PostgreSQL, SQLite). This pattern is reusable for any project needing consistent integration testing across multiple persistence backends.
An XState state machine managing complex search UI state including debounced input, pagination, filter toggles, and result caching. It demonstrates a clean separation of UI logic from component rendering, making the search behavior testable and reusable across different search interfaces. The pattern can be extracted for any application needing a robust search experience.