code-search

mcp
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: Apache-2.0
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Gecti
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
  • Permissions — No dangerous permissions requested
Purpose
This tool is a self-hosted platform for quickly searching and performing bulk find-and-replace operations across multiple code repositories. It is powered by Zoekt and supports automated pull request creation across various git hosting platforms like GitHub and GitLab.

Security Assessment
Overall Risk: Medium. As a code-search utility, the tool inherently requires access to your source code, which is highly sensitive. To function, it requires you to provide it with Personal Access Tokens (PATs) to connect to your repositories. It also has the capability to automatically execute bulk operations, such as creating Pull Requests or Merge Requests, and likely makes external network requests to your git providers. No hardcoded secrets were found in the scanned files, and no dangerous system permissions were requested. The primary risk lies in the operational access you must grant it, rather than the code itself.

Quality Assessment
The project is maintained under the permissive Apache-2.0 license and saw repository updates as recently as today. However, community trust and visibility are currently very low, with only 5 stars on GitHub. This means the tool has not been broadly vetted by the open-source community yet. Additionally, the project is pushing an "Open Alpha" Enterprise edition, indicating it is still in early, active development.

Verdict
Use with caution: The codebase appears clean, but the tool requires high-level access to your source code and git accounts, and its low community adoption means it has undergone very little public scrutiny.
SUMMARY

Self-hosted code search and bulk operations across all your repositories. Powered by Zoekt.

README.md

Code Search

License

Preview

Search, find, and replace code across all your repositories in milliseconds.

A self-hosted code search and bulk operations platform. Powered by Zoekt (the same search engine Google uses internally), designed for teams that need speed, privacy, and control.

Features

  • Lightning Fast Search — Sub-second search across millions of lines of code
  • Bulk Replace — Find and replace across hundreds of repos with automated MR/PR creation
  • Privacy First — Self-hosted on your infrastructure; your code never leaves your servers
  • Multi-Platform — GitHub, GitLab, Gitea, and Bitbucket support
  • Developer Experience — Modern Web UI and powerful CLI for automation

Enterprise Features (Open Alpha)

The Enterprise Edition is currently in open alpha — free to use while in early access, no pricing, no commitment. Request a license via the contact page to get started.

  • OIDC Single Sign-On — Integrate with Okta, Azure AD, Google Workspace, and more.
  • Role-Based Access Control — Fine-grained repository permissions with glob patterns.
  • Audit Logging — Full compliance trail of searches, file access, and administrative actions.
  • Horizontal Scaling — Scale to thousands of repositories with sharded indexing and API servers.
  • License Management — Centrally manage seats and feature access.

Learn more about Enterprise →

Quick Start

Get searching in 2 minutes with Docker:

# Download and start all services
curl -O https://raw.githubusercontent.com/techquestsdev/code-search/main/docker-compose.yml
docker compose up -d

# Open the web UI
open http://localhost:3000

Then:

  1. Go to ConnectionsAdd Connection
  2. Add your GitHub/GitLab token
  3. Click Sync to discover repositories
  4. Start searching!

Full Quick Start Guide →

CLI Usage

The CLI is designed for power users and CI/CD automation:

# Search across all repositories
code-search search "deprecated_function" --repos "myorg/*"

# Find and replace with automatic MR creation
code-search replace "v1.0.0" "v2.0.0" \
  --repos "myorg/*" \
  --execute \
  --mr-title "Upgrade to v2.0.0"

# Repository management
code-search repo list
code-search repo sync --all

CLI Documentation →

Architecture

┌─────────────────────────────────────────────────────────────────┐
│                         Web UI / CLI                            │
└─────────────────────────────────────────────────────────────────┘
                                │
                                ▼
┌─────────────────────────────────────────────────────────────────┐
│                          API Server                             │
└─────────────────────────────────────────────────────────────────┘
               │                │               │
               ▼                ▼               ▼
       ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
       │    Zoekt     │ │  PostgreSQL  │ │    Redis     │
       │(Search Index)│ │   (Data)     │ │   (Queue)    │
       └──────────────┘ └──────────────┘ └──────────────┘
               ▲
               │
┌─────────────────────────────────────────────────────────────────┐
│                      Indexer Service                            │
│        (Clones repos from GitHub/GitLab/Gitea/Bitbucket)        │
└─────────────────────────────────────────────────────────────────┘

Development

Prerequisites: Go 1.21+, Node.js 20+, PostgreSQL 16+, Redis 7+

# Clone the repository
git clone https://github.com/techquestsdev/code-search.git
cd code-search

# Start infrastructure (PostgreSQL, Redis, Zoekt)
make dev-infra

# Build all binaries
make build

# Run services (in separate terminals)
make dev-api      # API Server → http://localhost:8080
make dev-indexer  # Indexer Service
make dev-web      # Web UI → http://localhost:3000

Tech Stack

Component Technology Purpose
Backend Go High-performance API server
Frontend Next.js Modern, responsive web interface
CLI Go + Cobra Fast, scriptable command line
Search Engine Zoekt Trigram-based code search
Database PostgreSQL / MySQL Reliable data persistence
Queue Redis Job queue and caching

Documentation

Resource Description
Getting Started Introduction and quick start
Installation Docker, Kubernetes, Helm guides
Configuration All configuration options
CLI Reference Command line documentation
API Reference REST API documentation
Architecture System design and data flow

Contributing

We welcome contributions! Please see our CONTRIBUTING.md for details on the process and our Individual Contributor License Agreement (ICLA).

License

This project is licensed under the Apache License 2.0 — see the LICENSE file for details.

Acknowledgments

Built with inspiration from Sourcegraph and powered by Zoekt.


Made with ❤️

Yorumlar (0)

Sonuc bulunamadi