[{"data":1,"prerenderedAt":460},["ShallowReactive",2],{"navigation_docs":3,"trending-repo-agent-substrate\u002Fsubstrate":188},[4,50,82,99,135,157,173,178,183],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fgetting-started","1.getting-started",[10,15,20,25,30,35,40,45],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F2.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F3.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F4.configuration","i-lucide-settings",{"title":26,"path":27,"stem":28,"icon":29},"Supported Formats","\u002Fgetting-started\u002Fsupported-formats","1.getting-started\u002F5.supported-formats","i-lucide-file-code",{"title":31,"path":32,"stem":33,"icon":34},"Agent Skill","\u002Fgetting-started\u002Fagent-skill","1.getting-started\u002F6.agent-skill","i-lucide-cpu",{"title":36,"path":37,"stem":38,"icon":39},"Changelog","\u002Fgetting-started\u002Fchangelog","1.getting-started\u002F7.changelog","i-lucide-scroll-text",{"title":41,"path":42,"stem":43,"icon":44},"Migrating from v4 to v5","\u002Fgetting-started\u002Fmigration","1.getting-started\u002F8.migration","i-lucide-arrow-right-left",{"title":46,"path":47,"stem":48,"icon":49},"jscpd v4 (TypeScript)","\u002Fgetting-started\u002Fv4","1.getting-started\u002F9.v4","i-simple-icons-typescript",{"title":51,"path":52,"stem":53,"children":54,"icon":6},"Guides","\u002Fguides","2.guides\u002F1.index",[55,57,62,67,72,77],{"title":51,"path":52,"stem":53,"icon":56},"i-lucide-book-open",{"title":58,"path":59,"stem":60,"icon":61},"Types of Code Clones","\u002Fguides\u002Fclone-types","2.guides\u002F2.clone-types","i-lucide-copy",{"title":63,"path":64,"stem":65,"icon":66},"How Detection Works","\u002Fguides\u002Fhow-detection-works","2.guides\u002F3.how-detection-works","i-lucide-scan-search",{"title":68,"path":69,"stem":70,"icon":71},"Duplication Trend over Git History","\u002Fguides\u002Fhistory","2.guides\u002F4.history","i-lucide-chart-no-axes-combined",{"title":73,"path":74,"stem":75,"icon":76},"Project Dashboard","\u002Fguides\u002Fdashboard","2.guides\u002F5.dashboard","i-lucide-layout-dashboard",{"title":78,"path":79,"stem":80,"icon":81},"Project Health Score","\u002Fguides\u002Fhealth","2.guides\u002F6.health","i-lucide-heart-pulse",{"title":83,"path":84,"stem":85,"children":86,"icon":6},"CI & Hooks","\u002Fci-and-hooks","3.ci-and-hooks\u002F1.index",[87,89,94],{"title":83,"path":84,"stem":85,"icon":88},"i-lucide-git-pull-request",{"title":90,"path":91,"stem":92,"icon":93},"Use jscpd in CI","\u002Fci-and-hooks\u002Fci","3.ci-and-hooks\u002F2.ci","i-lucide-github",{"title":95,"path":96,"stem":97,"icon":98},"Use jscpd in Pre-Commit Hook","\u002Fci-and-hooks\u002Fpre-commit","3.ci-and-hooks\u002F3.pre-commit","i-lucide-git-commit",{"title":100,"path":101,"stem":102,"children":103,"icon":105},"Reporters","\u002Freporters","4.reporters\u002F1.index",[104,106,110,115,120,125,130],{"title":100,"path":101,"stem":102,"icon":105},"i-lucide-file-chart-column",{"title":107,"path":108,"stem":109,"icon":29},"HTML Reporter","\u002Freporters\u002Fhtml","4.reporters\u002F2.html",{"title":111,"path":112,"stem":113,"icon":114},"JSON Reporter","\u002Freporters\u002Fjson","4.reporters\u002F3.json","i-lucide-braces",{"title":116,"path":117,"stem":118,"icon":119},"Badge Reporter","\u002Freporters\u002Fbadge","4.reporters\u002F4.badge","i-lucide-award",{"title":121,"path":122,"stem":123,"icon":124},"SARIF Reporter","\u002Freporters\u002Fsarif","4.reporters\u002F5.sarif","i-lucide-shield-check",{"title":126,"path":127,"stem":128,"icon":129},"CodeClimate \u002F GitLab Reporter","\u002Freporters\u002Fcodeclimate","4.reporters\u002F6.codeclimate","i-lucide-flag-triangle-right",{"title":131,"path":132,"stem":133,"icon":134},"OpenMetrics Reporter","\u002Freporters\u002Fopenmetrics","4.reporters\u002F7.openmetrics","i-lucide-activity",{"title":136,"path":137,"stem":138,"children":139,"icon":6},"Benchmarks","\u002Fbenchmarks","5.benchmarks\u002F1.index",[140,142,147,152],{"title":136,"path":137,"stem":138,"icon":141},"i-lucide-gauge",{"title":143,"path":144,"stem":145,"icon":146},"Detection Speed","\u002Fbenchmarks\u002Fdetection-speed","5.benchmarks\u002F2.detection-speed","i-lucide-zap",{"title":148,"path":149,"stem":150,"icon":151},"Multi-Format Detection","\u002Fbenchmarks\u002Fcross-format","5.benchmarks\u002F3.cross-format","i-lucide-layers",{"title":153,"path":154,"stem":155,"icon":156},"AI Token Efficiency","\u002Fbenchmarks\u002Fai-token-efficiency","5.benchmarks\u002F4.ai-token-efficiency","i-lucide-sparkles",{"title":158,"path":159,"stem":160,"children":161,"icon":163},"API","\u002Fapi","6.api\u002F1.index",[162,164,169],{"title":158,"path":159,"stem":160,"icon":163},"i-lucide-code",{"title":165,"path":166,"stem":167,"icon":168},"Rust Crates (v5)","\u002Fapi\u002Fcore","6.api\u002F2.core","i-lucide-box",{"title":170,"path":171,"stem":172,"icon":168},"MCP Server","\u002Fapi\u002Fmcp-server","6.api\u002F4.mcp-server",{"title":174,"path":175,"stem":176,"icon":177},"Trending","\u002Ftrending","7.trending","i-lucide-trending-up",{"title":179,"path":180,"stem":181,"icon":182},"Research","\u002Fresearch","8.research","i-lucide-graduation-cap",{"title":184,"path":185,"stem":186,"icon":187},"Articles","\u002Farticles","9.articles","i-lucide-newspaper",{"name":189,"url":190,"appearances":191,"latest":217},"agent-substrate\u002Fsubstrate","https:\u002F\u002Fgithub.com\u002Fagent-substrate\u002Fsubstrate",[192,205],{"date":193,"rank":194,"stars":195,"starsToday":196,"headSha":197,"sources":198,"lines":199,"clones":200,"duplicatedLines":201,"percentage":202,"healthScore":203,"healthGrade":204},"2026-09-23",2,3083,245,"d277088bc1d081ef716d81dd7986d05d0a36ad3a",1173,287045,1848,24314,8.47,49.3,"D",{"date":206,"rank":207,"stars":208,"starsToday":209,"headSha":210,"sources":211,"lines":212,"clones":213,"duplicatedLines":214,"percentage":215,"healthScore":216,"healthGrade":204},"2026-09-24",6,3570,558,"31a5e0ba29a525b3587882132fa13bd211653152",1189,273017,1852,26146,9.58,48,{"date":206,"generatedAt":218,"name":189,"url":190,"description":219,"language":220,"stars":208,"starsToday":209,"defaultBranch":221,"headSha":210,"durationMs":222,"total":223,"formats":227,"topClones":289,"health":334,"complexity":365,"deadCode":419},"2026-09-24T05:29:51.800Z","Agent Substrate: the core system","Go","main",1645,{"sources":211,"lines":212,"tokens":224,"clones":213,"duplicatedLines":214,"duplicatedTokens":225,"percentage":215,"percentageTokens":226},1605210,186926,11.64,[228,235,241,248,255,262,269,275,281,285],{"format":229,"sources":230,"lines":231,"clones":232,"duplicatedLines":233,"percentage":234},"go",841,220563,1716,19681,8.92,{"format":236,"sources":237,"lines":238,"clones":237,"duplicatedLines":239,"percentage":240},"yaml",67,12107,1326,10.95,{"format":242,"sources":243,"lines":244,"clones":245,"duplicatedLines":246,"percentage":247},"txt",33,4239,30,3929,92.69,{"format":249,"sources":250,"lines":251,"clones":252,"duplicatedLines":253,"percentage":254},"markup",4,2395,12,666,27.81,{"format":256,"sources":257,"lines":258,"clones":259,"duplicatedLines":260,"percentage":261},"python",43,5787,11,313,5.41,{"format":263,"sources":264,"lines":265,"clones":266,"duplicatedLines":267,"percentage":268},"markdown",79,15884,10,121,0.76,{"format":270,"sources":271,"lines":272,"clones":250,"duplicatedLines":273,"percentage":274},"bash",85,6512,68,1.04,{"format":276,"sources":277,"lines":278,"clones":194,"duplicatedLines":279,"percentage":280},"json",7,1347,42,3.12,{"format":282,"sources":277,"lines":283,"clones":284,"duplicatedLines":284,"percentage":284},"protobuf",3450,0,{"format":286,"sources":287,"lines":288,"clones":284,"duplicatedLines":284,"percentage":284},"text",15,292,[290,298,302,306,310,314,318,322,326,330],{"format":242,"lines":291,"tokens":292,"firstFile":293,"secondFile":296},201,1869,{"name":294,"start":194,"end":295},"_LICENSES\u002Fgithub.com\u002Faws\u002Faws-sdk-go-v2\u002FLICENSE.txt",202,{"name":297,"start":194,"end":295},"_LICENSES\u002Fgithub.com\u002Faws\u002Faws-sdk-go-v2\u002Faws\u002Fprotocol\u002Feventstream\u002FLICENSE.txt",{"format":242,"lines":291,"tokens":292,"firstFile":299,"secondFile":300},{"name":294,"start":194,"end":295},{"name":301,"start":194,"end":295},"_LICENSES\u002Fgithub.com\u002Faws\u002Faws-sdk-go-v2\u002Fconfig\u002FLICENSE.txt",{"format":242,"lines":291,"tokens":292,"firstFile":303,"secondFile":304},{"name":294,"start":194,"end":295},{"name":305,"start":194,"end":295},"_LICENSES\u002Fgithub.com\u002Faws\u002Faws-sdk-go-v2\u002Fcredentials\u002FLICENSE.txt",{"format":242,"lines":291,"tokens":292,"firstFile":307,"secondFile":308},{"name":294,"start":194,"end":295},{"name":309,"start":194,"end":295},"_LICENSES\u002Fgithub.com\u002Faws\u002Faws-sdk-go-v2\u002Ffeature\u002Fec2\u002Fimds\u002FLICENSE.txt",{"format":242,"lines":291,"tokens":292,"firstFile":311,"secondFile":312},{"name":294,"start":194,"end":295},{"name":313,"start":194,"end":295},"_LICENSES\u002Fgithub.com\u002Faws\u002Faws-sdk-go-v2\u002Ffeature\u002Fs3\u002Fmanager\u002FLICENSE.txt",{"format":242,"lines":291,"tokens":292,"firstFile":315,"secondFile":316},{"name":294,"start":194,"end":295},{"name":317,"start":194,"end":295},"_LICENSES\u002Fgithub.com\u002Faws\u002Faws-sdk-go-v2\u002Finternal\u002Fconfigsources\u002FLICENSE.txt",{"format":242,"lines":291,"tokens":292,"firstFile":319,"secondFile":320},{"name":294,"start":194,"end":295},{"name":321,"start":194,"end":295},"_LICENSES\u002Fgithub.com\u002Faws\u002Faws-sdk-go-v2\u002Finternal\u002Fendpoints\u002Fv2\u002FLICENSE.txt",{"format":242,"lines":291,"tokens":292,"firstFile":323,"secondFile":324},{"name":294,"start":194,"end":295},{"name":325,"start":194,"end":295},"_LICENSES\u002Fgithub.com\u002Faws\u002Faws-sdk-go-v2\u002Finternal\u002Fv4a\u002FLICENSE.txt",{"format":242,"lines":291,"tokens":292,"firstFile":327,"secondFile":328},{"name":294,"start":194,"end":295},{"name":329,"start":194,"end":295},"_LICENSES\u002Fgithub.com\u002Faws\u002Faws-sdk-go-v2\u002Fservice\u002Finternal\u002Faccept-encoding\u002FLICENSE.txt",{"format":242,"lines":291,"tokens":292,"firstFile":331,"secondFile":332},{"name":294,"start":194,"end":295},{"name":333,"start":194,"end":295},"_LICENSES\u002Fgithub.com\u002Faws\u002Faws-sdk-go-v2\u002Fservice\u002Finternal\u002Fchecksum\u002FLICENSE.txt",{"score":216,"grade":204,"size":335,"dimensions":339,"skipped":361},{"lines":336,"files":337,"class":338},232284,940,"L",[340,354],{"id":341,"source":342,"value":343,"adjusted":343,"lines":344,"halfLife":345,"formats":346,"excluded":350,"weight":352,"score":353},"duplication","jscpd",8.6,20048,8.5,[229,270,256,347,348,349],"perl","sql","c",[249,286,351],"data",1,49.6,{"id":355,"source":342,"value":356,"adjusted":357,"lines":358,"halfLife":359,"weight":352,"score":360},"complexity",55.6,55.3,129100,50,46.5,[362],{"id":363,"reason":364},"dead-code","the languages dead code reads are under 5% of the code",{"total":366,"mean":367,"files":368},35545,37.8,[369,374,379,384,389,394,399,404,409,414],{"path":370,"complexity":371,"lines":372,"bytes":373},"cmd\u002Fateapi\u002Finternal\u002Fcontrolapi\u002Fzz_generated.validation.go",2220,8008,266647,{"path":375,"complexity":376,"lines":377,"bytes":378},"pkg\u002Fproto\u002Fateapipb\u002Fateapi.pb.go",1193,7848,258154,{"path":380,"complexity":381,"lines":382,"bytes":383},"cmd\u002Fateapi\u002Finternal\u002Fstore\u002Fstorecontract\u002Fcontract.go",764,3363,126383,{"path":385,"complexity":386,"lines":387,"bytes":388},"cmd\u002Fateapi\u002Finternal\u002Fcontrolapi\u002Ffunctionaltest\u002Factor_test.go",588,3933,160772,{"path":390,"complexity":391,"lines":392,"bytes":393},"internal\u002Fproto\u002Fateletpb\u002Fatelet.pb.go",533,3052,99506,{"path":395,"complexity":396,"lines":397,"bytes":398},"internal\u002Fproto\u002Fateompb\u002Fateom.pb.go",333,2019,70572,{"path":400,"complexity":401,"lines":402,"bytes":403},"cmd\u002Fateapi\u002Finternal\u002Fcontrolapi\u002Fvalidation_test.go",331,1670,65089,{"path":405,"complexity":406,"lines":407,"bytes":408},"cmd\u002Fatelet\u002Fmain.go",319,1980,79704,{"path":410,"complexity":411,"lines":412,"bytes":413},"pkg\u002Fproto\u002Fateapipb\u002Fateapi_grpc.pb.go",306,1703,72248,{"path":415,"complexity":416,"lines":417,"bytes":418},"cmd\u002Fatelet\u002Fmain_test.go",290,1551,58531,{"percentage":420,"findings":421,"files":279,"byCategory":422,"largest":429},17.64,22,[423,426],{"category":424,"count":425},"unused-file",14,{"category":427,"count":428},"unused-import",8,[430,434,437,440,443,446,449,452,455,457],{"category":424,"path":431,"name":432,"line":352,"lines":433},"benchmarking\u002Fautomation\u002Ftesttypes\u002Fnighthawk_ingress.py","",203,{"category":424,"path":435,"name":432,"line":352,"lines":436},"benchmarking\u002Flocust\u002Fcommon\u002Ftrace.py",132,{"category":424,"path":438,"name":432,"line":352,"lines":439},"benchmarking\u002Flocust\u002Fcommon\u002Fgrpc_tracing.py",122,{"category":424,"path":441,"name":432,"line":352,"lines":442},"benchmarking\u002Flocust\u002Fcommon\u002Fmetrics.py",103,{"category":424,"path":444,"name":432,"line":352,"lines":445},"benchmarking\u002Flocust\u002Fcommon\u002Fwait_time.py",73,{"category":424,"path":447,"name":432,"line":352,"lines":448},"benchmarking\u002Fautomation\u002Ftesttypes\u002Flocust.py",58,{"category":424,"path":450,"name":432,"line":352,"lines":451},"benchmarking\u002Flocust\u002Fcommon\u002Fmemload_config.py",55,{"category":424,"path":453,"name":432,"line":352,"lines":454},"benchmarking\u002Flocust\u002Fcommon\u002Fsweperf_config.py",46,{"category":424,"path":456,"name":432,"line":352,"lines":257},"benchmarking\u002Flocust\u002Fcommon\u002Fdurdir_config.py",{"category":424,"path":458,"name":432,"line":352,"lines":459},"benchmarking\u002Flocust\u002Fshapes\u002Fburst_shape.py",40,1790314224573]