semdup
github.com
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
- Code Clone Detection Tools#21 of 236.9