Skip to content
SPECIFICTION
Get listed

semdup

github.com

WindowsmacOSLinuxSelf-hosted
Visit github.com
Spec score 6.9 #21 of 23 in Code Clone Detection Tools

Spec sheet

Purpose
Semdup detects near-duplicate code by comparing semantic meanings rather than token sequences.Read 9 Oct 2026 · github.com
License
The project is available under either the MIT or Apache-2.0 license.Read 9 Oct 2026 · github.com
Bedrock integration
An optional Amazon Bedrock backend uses Titan Text Embeddings V2 through the AWS SDK credential chain and requires bedrock:InvokeModel permission.Read 4 Oct 2026 · github.com
Caveat
The project says it is still young, may have bugs, and can produce false positives because it uses fuzzy search.Read 9 Oct 2026 · github.com
Code review
The CLI includes a diff mode that compares changed code against a Git base reference, and the project provides a GitHub Actions workflow and action.Read 9 Oct 2026 · github.com
Configuration
Users can configure similarity thresholds, warning and error thresholds, and the minimum number of duplicates in a cluster.Read 9 Oct 2026 · github.com
Download integrity
The first initialization, refresh, or scan downloads the model into a user cache and verifies files against compiled BLAKE3 hashes before loading them.Read 4 Oct 2026 · github.com
Index limitation
Sparse search is approximate and can miss pairs found by exact search, while exact search compares every pair and avoids dropping matches.Read 4 Oct 2026 · github.com
Known limitation
The maker says the tool is still young, may contain bugs, and can produce false positives because it uses fuzzy search.Read 4 Oct 2026 · github.com
Languages
It supports Rust, TypeScript, Python, Go, Java, C#, PHP, Ruby, and C/C++, with a note that heavily macro-based C/C++ may perform less well.Read 9 Oct 2026 · github.com
Local inference
The default model runs on the user’s machine using CPU or CUDA.Read 9 Oct 2026 · github.com
Maintainer support
The maker welcomes contributions to the project.Read 4 Oct 2026 · github.com
Matching controls
Users can tune similarity thresholds, configure separate warning and error thresholds, and require matches to appear a chosen number of times.Read 4 Oct 2026 · github.com
Model choice
The default embedding model is nomic-ai/CodeRankEmbed, and users can configure a compatible model or use a Python sidecar for other backends.Read 4 Oct 2026 · github.com
Optional backend
An optional Amazon Bedrock backend uses Titan embeddings and the AWS SDK credential chain.Read 9 Oct 2026 · github.com
Search limits
Sparse search is approximate and can miss matches that exact search would find; automatic indexing switches to sparse search above 20,000 scannable units.Read 9 Oct 2026 · github.com
Storage
Semdup stores its index and cached embeddings in SQLite, keyed by content hash and model ID.Read 9 Oct 2026 · github.com
Use case
The maker describes it as useful for catching AI-generated code duplication and preventing agents from reimplementing existing code.Read 4 Oct 2026 · github.com
Workflow integration
The project provides a GitHub Actions workflow and action that can run semdup checks on pull requests and pushes.Read 4 Oct 2026 · github.com

Where Specifiction places it

Alternatives to semdupAll alternatives →