9 views
HKUDS/CLI-Anything
"CLI-Anything: Making ALL Software Agent-Native" -- CLI-Hub: https://clianything.cc/
Python★ 55,377+606 that day#6 on trending
E11.6/100
Duplication21
19.2% in python, csharp, javascript, bash, powershell, typescript, swiftDead code2
43.1%Complexity38
70.7% The score is jscpd's own --health model: markup, data and text left out, tests kept. The numbers below are the trending scan's.
24.26%duplicated code · 54,645 of 225,256 lines
1,738clones in code
762code files of 1,842 scanned
19.77%duplicated over all files · 2,388 clones
Most complex files
- mubu/agent-harness/mubu_probe.py499 cx
- cli-hub-matrix/video-creation/scripts/video_doctor.py496 cx
- freecad/agent-harness/cli_anything/freecad/freecad_cli.py476 cx
- sbox/agent-harness/cli_anything/sbox/sbox_cli.py471 cx
- live2d/agent-harness/cli_anything/live2d/live2d_cli.py438 cx
- n8n/agent-harness/cli_anything/n8n/n8n_cli.py432 cx
- shotcut/agent-harness/cli_anything/shotcut/tests/test_core.py404 cx
- mailchimp/agent-harness/cli_anything/mailchimp/commands/lists.py356 cx
- slay_the_spire_ii/agent-harness/bridge/plugin/BridgeMod.Formatting.cs353 cx
- mailchimp/agent-harness/cli_anything/mailchimp/commands/ecommerce.py317 cx
Dead code 43.07% unused · 665 findings
- freecad/agent-harness/cli_anything/freecad/core/body.pyunused-file
- mailchimp/agent-harness/cli_anything/mailchimp/commands/lists.pyunused-file
- freecad/agent-harness/cli_anything/freecad/core/sketch.pyunused-file
- freecad/agent-harness/cli_anything/freecad/core/parts.pyunused-file
- mailchimp/agent-harness/cli_anything/mailchimp/commands/ecommerce.pyunused-file
- renderdoc/agent-harness/cli_anything/renderdoc/core/pipeline.pyunused-file
- sbox/agent-harness/cli_anything/sbox/core/scene.pyunused-file
- freecad/agent-harness/cli_anything/freecad/core/draft.pyunused-file
- shotcut/agent-harness/cli_anything/shotcut/core/filters.pyunused-file
- cloudcompare/agent-harness/cli_anything/cloudcompare/utils/cc_backend.pyunused-file
The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code, and 1 generated file: mailchimp/agent-harness/cli_anything/mailchimp/commands/__init__.py.
Largest clones in the code
- 565 lines in 49 placespython2,975 tokensadguardhome/agent-harness/cli_anything/adguardhome/utils/repl_skin.py:3–567anygen/agent-harness/cli_anything/anygen/utils/repl_skin.py:3–567audacity/agent-harness/cli_anything/audacity/utils/repl_skin.py:3–567blender/agent-harness/cli_anything/blender/utils/repl_skin.py:3–567browser/agent-harness/cli_anything/browser/utils/repl_skin.py:3–567and 44 more
3Copy this file into your CLI package at: 4 cli_anything/<software>/utils/repl_skin.py 5 6Usage: 7 from cli_anything.<software>.utils.repl_skin import ReplSkin 8 9 skin = ReplSkin("shotcut", version="1.0.0") 10 skin.print_banner() # auto-detects repo-root or packaged SKILL.md 11 prompt_text = skin.prompt(project_name="my_video.mlt", modified=True) 12 skin.success("Project saved")First 10 of 565 lines.
- 468 lines in 6 placespython2,905 tokensblender/agent-harness/cli_anything/blender/utils/preview_bundle.py:1–468cli-anything-plugin/preview_bundle.py:1–468freecad/agent-harness/cli_anything/freecad/utils/preview_bundle.py:1–468openscreen/agent-harness/cli_anything/openscreen/utils/preview_bundle.py:1–468renderdoc/agent-harness/cli_anything/renderdoc/utils/preview_bundle.py:1–468and 1 more
1"""Shared helpers for CLI-Anything preview bundles.""" 2 3from __future__ import annotations 4 5import hashlib 6import json 7import mimetypes 8import os 9import re 10from datetime import datetime, timezoneFirst 10 of 468 lines.
- 13 lines in 62 placespython98 tokensmailchimp/agent-harness/cli_anything/mailchimp/commands/account_export.py:41–53mailchimp/agent-harness/cli_anything/mailchimp/commands/audiences.py:110–122mailchimp/agent-harness/cli_anything/mailchimp/commands/authorized_apps.py:69–81mailchimp/agent-harness/cli_anything/mailchimp/commands/automations.py:100–112mailchimp/agent-harness/cli_anything/mailchimp/commands/batch_webhooks.py:110–122and 57 more
41params = {k: v for k, v in { 42 "fields": fields, 43 "exclude_fields": exclude_fields, 44}.items() if v is not None} 45if extra_params: 46 params.update(_parse_json_option(extra_params, "--extra-params", require_object=True)) 47client = get_client() 48try: 49 result = client.get(path, params=params or None) 50except MailchimpError as e:First 10 of 13 lines.
7 more
- 521 lines in 3 placespython2,643 tokens
- 9 lines in 85 placespython50 tokensmailchimp/agent-harness/cli_anything/mailchimp/commands/account_exports.py:50–58mailchimp/agent-harness/cli_anything/mailchimp/commands/audiences.py:63–71mailchimp/agent-harness/cli_anything/mailchimp/commands/audiences.py:116–124mailchimp/agent-harness/cli_anything/mailchimp/commands/automations.py:60–68mailchimp/agent-harness/cli_anything/mailchimp/commands/automations.py:106–114and 80 more
- 11 lines in 46 placespython84 tokensmailchimp/agent-harness/cli_anything/mailchimp/commands/account_exports.py:67–77mailchimp/agent-harness/cli_anything/mailchimp/commands/audiences.py:86–96mailchimp/agent-harness/cli_anything/mailchimp/commands/automations.py:77–87mailchimp/agent-harness/cli_anything/mailchimp/commands/automations.py:335–345mailchimp/agent-harness/cli_anything/mailchimp/commands/automations.py:399–409and 41 more
- 23 lines in 30 placespython106 tokensmailchimp/agent-harness/cli_anything/mailchimp/commands/account_export.py:3–25mailchimp/agent-harness/cli_anything/mailchimp/commands/account_exports.py:3–25mailchimp/agent-harness/cli_anything/mailchimp/commands/activity_feed.py:3–25mailchimp/agent-harness/cli_anything/mailchimp/commands/audiences.py:3–25mailchimp/agent-harness/cli_anything/mailchimp/commands/authorized_apps.py:3–25and 25 more
- 17 lines in 26 placespython107 tokensmailchimp/agent-harness/cli_anything/mailchimp/commands/account_exports.py:42–58mailchimp/agent-harness/cli_anything/mailchimp/commands/authorized_apps.py:42–58mailchimp/agent-harness/cli_anything/mailchimp/commands/batch_webhooks.py:42–58mailchimp/agent-harness/cli_anything/mailchimp/commands/batches.py:42–58mailchimp/agent-harness/cli_anything/mailchimp/commands/campaign_folders.py:42–58and 21 more
- 10 lines in 53 placespython51 tokens3MF/agent-harness/cli_anything/threemf/utils/repl_skin.py:1–10QGIS/agent-harness/cli_anything/qgis/utils/repl_skin.py:1–10adguardhome/agent-harness/cli_anything/adguardhome/utils/repl_skin.py:1–10anygen/agent-harness/cli_anything/anygen/utils/repl_skin.py:1–10audacity/agent-harness/cli_anything/audacity/utils/repl_skin.py:1–10and 48 more
- 12 lines in 34 placespython72 tokensmailchimp/agent-harness/cli_anything/mailchimp/commands/automations.py:206–217mailchimp/agent-harness/cli_anything/mailchimp/commands/batch_webhooks.py:88–99mailchimp/agent-harness/cli_anything/mailchimp/commands/batches.py:88–99mailchimp/agent-harness/cli_anything/mailchimp/commands/campaign_folders.py:88–99mailchimp/agent-harness/cli_anything/mailchimp/commands/campaigns.py:114–125and 29 more
Largest clones over all files, tests and data included
- 565 lines in 49 placespython2,975 tokensadguardhome/agent-harness/cli_anything/adguardhome/utils/repl_skin.py:3–567anygen/agent-harness/cli_anything/anygen/utils/repl_skin.py:3–567audacity/agent-harness/cli_anything/audacity/utils/repl_skin.py:3–567blender/agent-harness/cli_anything/blender/utils/repl_skin.py:3–567browser/agent-harness/cli_anything/browser/utils/repl_skin.py:3–567and 44 more
3Copy this file into your CLI package at: 4 cli_anything/<software>/utils/repl_skin.py 5 6Usage: 7 from cli_anything.<software>.utils.repl_skin import ReplSkin 8 9 skin = ReplSkin("shotcut", version="1.0.0") 10 skin.print_banner() # auto-detects repo-root or packaged SKILL.md 11 prompt_text = skin.prompt(project_name="my_video.mlt", modified=True) 12 skin.success("Project saved")First 10 of 565 lines.
- 468 lines in 6 placespython2,905 tokensblender/agent-harness/cli_anything/blender/utils/preview_bundle.py:1–468cli-anything-plugin/preview_bundle.py:1–468freecad/agent-harness/cli_anything/freecad/utils/preview_bundle.py:1–468openscreen/agent-harness/cli_anything/openscreen/utils/preview_bundle.py:1–468renderdoc/agent-harness/cli_anything/renderdoc/utils/preview_bundle.py:1–468and 1 more
1"""Shared helpers for CLI-Anything preview bundles.""" 2 3from __future__ import annotations 4 5import hashlib 6import json 7import mimetypes 8import os 9import re 10from datetime import datetime, timezoneFirst 10 of 468 lines.
- 13 lines in 62 placespython98 tokensmailchimp/agent-harness/cli_anything/mailchimp/commands/account_export.py:41–53mailchimp/agent-harness/cli_anything/mailchimp/commands/audiences.py:110–122mailchimp/agent-harness/cli_anything/mailchimp/commands/authorized_apps.py:69–81mailchimp/agent-harness/cli_anything/mailchimp/commands/automations.py:100–112mailchimp/agent-harness/cli_anything/mailchimp/commands/batch_webhooks.py:110–122and 57 more
41params = {k: v for k, v in { 42 "fields": fields, 43 "exclude_fields": exclude_fields, 44}.items() if v is not None} 45if extra_params: 46 params.update(_parse_json_option(extra_params, "--extra-params", require_object=True)) 47client = get_client() 48try: 49 result = client.get(path, params=params or None) 50except MailchimpError as e:First 10 of 13 lines.
- 521 lines in 3 placespython2,643 tokens
- 9 lines in 85 placespython50 tokensmailchimp/agent-harness/cli_anything/mailchimp/commands/account_exports.py:50–58mailchimp/agent-harness/cli_anything/mailchimp/commands/audiences.py:63–71mailchimp/agent-harness/cli_anything/mailchimp/commands/audiences.py:116–124mailchimp/agent-harness/cli_anything/mailchimp/commands/automations.py:60–68mailchimp/agent-harness/cli_anything/mailchimp/commands/automations.py:106–114and 80 more
By format, code only
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| python | 729 | 217,738 | 1,678 | 53,936 | 24.77% |
| csharp | 7 | 4,457 | 55 | 656 | 14.72% |
| swift | 2 | 381 | 3 | 37 | 9.71% |
| powershell | 6 | 360 | 2 | 16 | 4.44% |
| javascript | 5 | 1,148 | 0 | 0 | 0% |
| bash | 12 | 986 | 0 | 0 | 0% |
| typescript | 1 | 186 | 0 | 0 | 0% |
By format, all files
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| python | 896 | 293,384 | 1,946 | 57,115 | 19.47% |
| markdown | 399 | 65,691 | 240 | 15,633 | 23.8% |
| bash | 282 | 10,160 | 101 | 2,763 | 27.19% |
| csharp | 7 | 4,457 | 55 | 656 | 14.72% |
| text | 121 | 3,539 | 22 | 211 | 5.96% |
| json | 41 | 6,628 | 7 | 134 | 2.02% |
| yaml | 66 | 1,862 | 6 | 295 | 15.84% |
| powershell | 13 | 807 | 4 | 60 | 7.43% |
| typescript | 2 | 471 | 3 | 29 | 6.16% |
| swift | 2 | 381 | 3 | 37 | 9.71% |
Trending appearances
| Day | Rank | Stars | Files | Lines | Clones | All files | Code | Health | Commit |
|---|---|---|---|---|---|---|---|---|---|
| Oct 20, 2026 | #6 | 55,377 (+606) | 1,842 | 389,265 | 2,388 | 19.77% | 24.26% | E 11.6 | 34f5195 |
| Oct 19, 2026 | #4 | 54,748 (+589) | 1,842 | 389,265 | 2,388 | 19.77% | 24.26% | E 11.6 | 34f5195 |
| Oct 18, 2026 | #2 | 54,170 (+574) | 1,842 | 389,265 | 2,388 | 19.77% | 24.26% | E 11.6 | 34f5195 |
| Oct 17, 2026 | #2 | 53,605 (+281) | 1,842 | 389,265 | 2,388 | 19.77% | 24.26% | E 11.6 | 34f5195 |
| Oct 15, 2026 | #4 | 52,680 (+103) | 1,842 | 389,265 | 2,388 | 19.77% | 24.26% | E 11.6 | 34f5195 |
| Sep 25, 2026 | #6 | 50,393 (+413) | 1,842 | 389,265 | 2,388 | 19.77% | 24.26% | E 11.6 | 34f5195 |
| Sep 24, 2026 | #8 | 50,023 (+57) | 1,842 | 389,265 | 2,388 | 19.77% | 24.26% | E 11.6 | 34f5195 |
Want this for your own project? Install jscpd and run jscpd ., or measure it the way the baselines were measured.