
art-dupl
art-dupl is an open-source tool for finding code clones in Go repositories.
What art-dupl is
art-dupl is an open-source tool for finding code clones in Go repositories. It analyzes Go and .templ files and offers semantic, exact and structural matching modes. Generated code is excluded by default, with filters covering sources such as sqlc, templ, protobuf, mockgen and stringer, along with generic generated files. Results can be produced as text, rich text, HTML, JSON, Simple JSON, SARIF or plumbing output. For CI, art-dupl can record a baseline and check later scans to flag newly introduced clones; the repository also includes GitHub Actions and pre-commit templates. SARIF reports can be uploaded to GitHub Advanced Security or CodeQL. A Go SDK provides a detector interface and streaming results. The CLI supports parallel parsing and incremental analysis with AST caching, and its quick start sets a default scan threshold of five statements. The project is MIT licensed and is hosted under the LarsArtmann account.
Good
- Supports semantic, exact and structural matching.
- Analyzes Go and .templ source files.
- Baseline checks flag newly introduced clones in CI.
- Offers multiple report formats, including SARIF.
- MIT-licensed open-source project.
Watch out
- Focused on Go and .templ source files.
- Default scan threshold is five statements.
Who it suits
art-dupl suits Go developers and teams that want to identify code clones in repositories, including .templ files. Its baseline checks and workflow templates may fit teams adding clone checks to CI or pre-commit workflows.
Verdict
art-dupl combines several clone-matching modes with repository scanning and CI-oriented baseline checks. Its language scope is specific to Go and .templ files.
The facts
Each one read from art-dupl's own pages, with the date it was checked.
What it does
- CI
- It includes baseline recording and checking to flag newly introduced clones in CI.checked 4 Oct 2026
- CI checks
- The baseline and check subcommands can flag newly found clones in CI.checked 8 Oct 2026
- Detection
- It offers semantic, exact, and structural matching modes.checked 4 Oct 2026
- Detection methods
- It supports suffix-tree, hash-based, and combined detection methods.checked 8 Oct 2026
- Generated code
- Generated code is filtered by default, with categories including sqlc, templ, protobuf, mockgen, stringer, and generic generated files.checked 8 Oct 2026
- GitHub integration
- SARIF output can be uploaded to GitHub Advanced Security or CodeQL.checked 4 Oct 2026
- GitHub security integration
- SARIF output can be uploaded to the GitHub Security tab using the CodeQL upload action.checked 8 Oct 2026
- License
- The project is licensed under MIT.checked 8 Oct 2026
- Matching modes
- It offers semantic, exact, and structural matching modes.checked 8 Oct 2026
- Performance
- The CLI supports parallel parsing and incremental analysis with AST caching.checked 8 Oct 2026
- Purpose
- art-dupl detects source-code duplication at the AST level to identify fixable clones.checked 8 Oct 2026
- Reports
- Output formats include text, rich text, HTML, JSON, Simple JSON, SARIF, and plumbing.checked 8 Oct 2026
- SDK
- A Go SDK provides a Detector interface for programmatic clone detection.checked 8 Oct 2026
- Supported languages
- It analyzes Go and .templ source files.checked 8 Oct 2026
- Templ support
- It analyzes Go and .templ source files.checked 4 Oct 2026
- Threshold
- The quick start uses a default scan threshold of five statements.checked 8 Oct 2026
- Workflow integrations
- The repository includes GitHub Actions and pre-commit templates.checked 4 Oct 2026
- Workflow templates
- The repository includes GitHub Actions and pre-commit hook templates.checked 8 Oct 2026
The company
- Maker
- The repository is under the LarsArtmann account.checked 4 Oct 2026
Alternatives to art-dupl
- 1
Dolos
Free planOpen sourceWebAPILinuxmacOS7.7Free plan - 2

jscpd
Free planOpen sourceAPILinuxmacOSSelf-hosted7.4Free plan - 3
Avidemux
Free planOpen sourceWebLinuxmacOSWindows7.3Free plan - 4
PMD
Free planLinuxmacOSSelf-hostedWindows6.8Free plan - 5
Duplo
Free planLinuxmacOSWindows6.5Free plan - 6
dcd
Free planLinuxmacOS6.2Free plan
