Skip to main content

Distributed Multi-Repository Setup

Set up Simili Bot across multiple repositories with each team managing their own configuration while sharing a unified organization knowledge base. This is Pattern C.

Prerequisites

  1. Multiple GitHub repositories to manage.
  2. Qdrant API Key & URL.
  3. Gemini API Key.
  4. Organization-level GitHub secrets configured.

Setup Steps

1

Base Configuration (Optional)

Create a shared configuration repository (e.g., simili-config) with a base-config.yaml to store common settings like Qdrant URL and collection.
qdrant:
  url: "https://your-cluster.qdrant.io:6333"
  collection: "org-issues"
defaults:
  cross_repo_search: true
2

Organization-Level Secrets

Add ORG_QDRANT_URL, ORG_QDRANT_API_KEY, and ORG_GEMINI_API_KEY to your organization-level secrets so all repos can access the same knowledge base securely.
3

Configure Repositories

In each repository, create .github/simili.yaml extending the shared base:
extends: "https://raw.githubusercontent.com/your-org/simili-config/main/base-config.yaml"
repositories:
  - org: "your-org"
    repo: "backend"
    description: "REST APIs for the backend service"
4

Create Workflows

In each repository, create .github/workflows/simili-bot.yml using the organization secrets:
steps:
  - uses: similigh/simili-bot@v0.1.0
    env:
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      QDRANT_URL: ${{ secrets.ORG_QDRANT_URL }}
      QDRANT_API_KEY: ${{ secrets.ORG_QDRANT_API_KEY }}
      GEMINI_API_KEY: ${{ secrets.ORG_GEMINI_API_KEY }}
5

Test Cross-Repo Search

Open issues with similar topics across different repositories. Simili Bot should identify them as related, even across repository boundaries, providing a unified view of your organization’s issues.

Troubleshooting

Ensure cross_repo_search: true is enabled in your base configuration and all repositories are indexing to exactly the same Qdrant collection.
Verify the extends URL is correct and publicly accessible. Ensure you are using the Raw GitHub URL.

Next Steps