Configuration Schema
Simili Bot is configured via asimili.yaml file (or .github/simili.yaml). This page provides a complete reference for all supported fields.
Root Level
extends: string # Optional: Parent config "org/repo@branch:path"
search: SearchConfig # Optional: Search backend selection
qdrant: QdrantConfig # Optional: Vector database (required for qdrant backend)
embedding: EmbeddingConfig # Optional: AI model (required for qdrant backend)
llm: LLMConfig # Optional: LLM provider (Gemini recommended)
defaults: DefaultsConfig # Optional: Default behavior settings
repositories: [RepositoryConfig] # Optional: List of managed repositories
transfer: TransferConfig # Optional: Issue routing settings
auto_close: AutoCloseConfig # Optional: Duplicate auto-closure
claude_code: ClaudeCodeConfig # Optional: Claude Code integration
bot_users: [string] # Optional: Extra bot users to ignore
workflow: string # Optional: Preset workflow name
steps: [string] # Optional: Custom pipeline step list
Configuration Blocks
SearchConfig
Defines the similarity search implementation.search:
backend: string # "qdrant" | "github_native" | "bm25" (default: "qdrant")
bm25_fallback: boolean # Fallback to BM25 if search fails (default: true)
QdrantConfig
Required only whensearch.backend is set to qdrant.
qdrant:
url: string # e.g., https://cluster.qdrant.io:6333
api_key: string # Qdrant API key (supports ${VAR})
collection: string # Collection name for issues
pr_collection: string # Optional: Dedicated collection for PRs
EmbeddingConfig
Required only whensearch.backend is set to qdrant.
embedding:
provider: string # "gemini" | "openai"
api_key: string # API key (supports ${VAR})
model: string # Optional model name
dimensions: number # Required when using non-default models
- Gemini:
gemini-embedding-001(3072 dims) - OpenAI:
text-embedding-3-small(1536 dims)
LLMConfig
Configures the LLM for triage, routing, and duplicate verification.llm:
provider: string # "gemini" | "openai"
api_key: string # API key (defaults to embedding api_key)
model: string # Default: gemini-2.5-flash
temperature: number # 0.0 - 1.0 (default: 0.1)
DefaultsConfig
defaults:
similarity_threshold: number # 0.0-1.0 (default: 0.65)
max_similar_to_show: number # 1-20 (default: 5)
cross_repo_search: boolean # (default: true)
duplicate_candidates: number # Max issues sent to LLM (default: 5)
RepositoryConfig
repositories:
- org: string # Required: org/username
repo: string # Required: repo name
enabled: boolean # (default: true)
description: string # Used by LLM routing
labels: [string] # Associated labels
TransferConfig
transfer:
enabled: boolean # (default: false)
strategy: string # "rules-only" | "vdb-only" | "hybrid" (default: "hybrid")
llm_routing_enabled: boolean # Use AI routing (default: false)
high_confidence: number # Auto-transfer threshold (default: 0.9)
medium_confidence: number # Suggestion threshold (default: 0.6)
repo_collection: string # Collection for repo docs (default: "simili_repos")
rules: [TransferRule] # Array of routing rules
vdb_routing: VDBRoutingConfig # Semantic routing settings
ClaudeCodeConfig
claude_code:
enabled: boolean # (default: false)
trigger_phrase: string # (default: "@simili-bot")
issue_implement:
enabled: boolean
trigger_label: string # (default: "implement")
base_branch: string # (default: "main")
doc_sync:
enabled: boolean
watch_paths: [string] # Glob patterns
doc_paths: [string] # Target doc paths
security_review:
enabled: boolean
trigger_label: string # (default: "security-review")
review_checklist:
enabled: boolean
trigger_label: string # (default: "review-checklist")
items: [string] # Checklist items
maintenance:
enabled: boolean
tasks: [string] # Task descriptions
AutoCloseConfig
auto_close:
grace_period_hours: number # (default: 72)
dry_run: boolean # Log without executing (default: false)

