Freedom251 › Code Duplication Detection Tools
art-dupl

What art-dupl is
art-dupl is a free, open-source tool for finding code clones in Go repositories. It analyzes Go and .templ source files and offers semantic, exact, and structural matching, with suffix-tree, hash-based, and combined detection methods. Generated files are filtered by default, including categories such as sqlc, templ, protobuf, mockgen, stringer, and generic generated code. The CLI can parse in parallel and use AST caching for incremental analysis. Its quick-start default scan threshold is five statements. Results can be written as text, rich text, HTML, JSON, Simple JSON, SARIF, or plumbing output. Baseline recording and checking can identify newly found clones in CI, and the repository includes GitHub Actions and pre-commit templates. SARIF results can be uploaded to GitHub’s Security tab using the CodeQL upload action. A Go SDK provides a detector interface and streaming results. The project is MIT licensed and hosted under the LarsArtmann account.
Who it suits
art-dupl suits developers maintaining Go repositories who want clone checks during development or CI. Its .templ support, generated-code filters, and multiple output formats may fit teams with varied code and reporting workflows.
What it does well
- Analyzes Go and .templ source files
- Offers semantic, exact, and structural matching
- Baseline checks can flag new clones in CI
- Includes GitHub Actions and pre-commit templates
- MIT licensed and open source
What to know first
- The default scan threshold is five statements
- Language support is limited to Go and .templ
Limits
The quick-start default scan threshold is five statements. art-dupl analyzes Go and .templ source files, and generated code is filtered by default.
Getting started
- Open the art-dupl project website.
- Use the self-hosted tool to scan a repository.
- Choose a matching mode and report format for the scan.
- Use the baseline and check commands or repository workflow templates to add CI checks.
- Set up SARIF upload to GitHub Advanced Security or CodeQL if needed.
Verdict
art-dupl combines several clone-matching approaches with repository-level CI checks and reporting options. Its stated source-language scope is Go and .templ.
Questions
Is art-dupl free?
Yes. The project is open source and MIT licensed.
Which languages does art-dupl analyze?
It analyzes Go and .templ source files.
What matching modes are available?
art-dupl offers semantic, exact, and structural matching, with suffix-tree, hash-based, and combined detection methods.
Can art-dupl run in CI?
Yes. Baseline recording and checking can flag newly introduced clones, and the repository includes GitHub Actions and pre-commit templates.
Which output formats does art-dupl support?
It can produce text, rich text, HTML, JSON, Simple JSON, SARIF, and plumbing output.
Who maintains art-dupl?
The project is hosted under the LarsArtmann account.
Facts from art-dupl's own pages
- CI
- It includes baseline recording and checking to flag newly introduced clones in CI. · github.laiyagushi.com, 4 Oct 2026
- CI checks
- The baseline and check subcommands can flag newly found clones in CI. · github.com, 8 Oct 2026
- Detection
- It offers semantic, exact, and structural matching modes. · github.laiyagushi.com, 4 Oct 2026
- Detection methods
- It supports suffix-tree, hash-based, and combined detection methods. · github.com, 8 Oct 2026
- Generated code
- Generated code is filtered by default, with categories including sqlc, templ, protobuf, mockgen, stringer, and generic generated files. · github.com, 8 Oct 2026
- GitHub integration
- SARIF output can be uploaded to GitHub Advanced Security or CodeQL. · github.laiyagushi.com, 4 Oct 2026
- GitHub security integration
- SARIF output can be uploaded to the GitHub Security tab using the CodeQL upload action. · github.com, 8 Oct 2026
- License
- The project is licensed under MIT. · github.com, 8 Oct 2026
- Maker
- The repository is under the LarsArtmann account. · github.laiyagushi.com, 4 Oct 2026
- Matching modes
- It offers semantic, exact, and structural matching modes. · github.com, 8 Oct 2026
- Performance
- The CLI supports parallel parsing and incremental analysis with AST caching. · github.com, 8 Oct 2026
- Purpose
- art-dupl detects source-code duplication at the AST level to identify fixable clones. · github.com, 8 Oct 2026
- Reports
- Output formats include text, rich text, HTML, JSON, Simple JSON, SARIF, and plumbing. · github.com, 8 Oct 2026
- SDK
- A Go SDK provides a Detector interface for programmatic clone detection. · github.com, 8 Oct 2026
- Supported languages
- It analyzes Go and .templ source files. · github.com, 8 Oct 2026
- Templ support
- It analyzes Go and .templ source files. · github.laiyagushi.com, 4 Oct 2026
- Threshold
- The quick start uses a default scan threshold of five statements. · github.com, 8 Oct 2026
- Workflow integrations
- The repository includes GitHub Actions and pre-commit templates. · github.laiyagushi.com, 4 Oct 2026
- Workflow templates
- The repository includes GitHub Actions and pre-commit hook templates. · github.com, 8 Oct 2026
Where art-dupl stands on Freedom251
- Code Duplication Detection Tools#16 of 18
- Code Clone Detection Tools#21 of 23
