Skip to main content

Architecture Overview

Simili Bot uses a modular, pipeline-based architecture designed for flexibility and extensibility. It is built to handle organization-scale issue management while maintaining a small, efficient footprint.

System design

Simili Bot acts as a bridge between GitHub events and AI-powered analysis engines. It processes events sequentially through a customizable pipeline.

High-level architecture

  1. Event Source: GitHub Actions or the Simili CLI provides the issue context.
  2. Pipeline Engine: Processes the data through 13 discrete steps.
  3. Integrations: Communicates with external services like Gemini (AI), Qdrant (Vector DB), and GitHub (API).

Pipeline steps

The pipeline is composed of distinct modules that handle specific logic:
1

Validation

Gatekeeper: Verifies that the repository and user are authorized in the configuration.
2

Command Parsing

Command Handler: Identifies and processes specific @simili-bot commands in issue comments.
3

Analysis

Search & Detect: Performs semantic search and identifies potential duplicates.
4

Assessment

Triage & Quality: Uses AI to assess issue description quality and suggest labels.
5

Action

Execute: Posts results back to GitHub, applies labels, or transfers issues.
6

Persistence

Index: Stores the issue embeddings in Qdrant for future semantic searches.

Core components

Configuration layer

Handles YAML loading, environment variable expansion, and complex inheritance logic using the extends keyword. This allows large organizations to maintain one base config that all other repositories inherit from.

Pipeline engine

A step-based execution model where each step implements a common interface and operates on a shared Context object. This ensures that new features can be added as isolated modules without complexity creep.

Integration layer

High-performance clients for:
  • Gemini: AI-powered text analysis and embeddings.
  • Qdrant: Low-latency vector search.
  • GitHub: Comprehensive management via REST (v3) and GraphQL APIs.

Technical specifications

AspectTechnology Stack
LanguageGo 1.24
AI EngineGoogle Gemini (Embeddings + LLM)
Vector DBQdrant (Hybrid Search capable)
DeploymentDocker containers or GitHub Actions

Next steps