FREEDOM251

Freedom251 › Code Duplication Detection Tools

art-dupl

Paid

Visit art-dupl Alternatives

art-dupl's own site

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

  1. Open the art-dupl project website.
  2. Use the self-hosted tool to scan a repository.
  3. Choose a matching mode and report format for the scan.
  4. Use the baseline and check commands or repository workflow templates to add CI checks.
  5. 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

Look at these too