[{"data":1,"prerenderedAt":513},["ShallowReactive",2],{"navigation_docs":3,"trending-repo-strands-agents\u002Fharness-sdk":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":214},"strands-agents\u002Fharness-sdk","https:\u002F\u002Fgithub.com\u002Fstrands-agents\u002Fharness-sdk",[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-24",7,7943,115,"43b15b723e7829c23ffc9d47897d637eac2f88e7",2448,546538,3117,38980,7.13,54.5,"D",{"date":206,"rank":207,"stars":208,"starsToday":209,"headSha":210,"sources":198,"lines":211,"clones":200,"duplicatedLines":212,"percentage":202,"healthScore":213,"healthGrade":204},"2026-09-25",8,8321,455,"7ae759d3ad43916d373cf0f3251ac7f57e95339c",546445,38986,53.9,{"date":206,"generatedAt":215,"name":189,"url":190,"description":216,"language":217,"stars":208,"starsToday":209,"defaultBranch":218,"headSha":210,"durationMs":219,"total":220,"formats":224,"topClones":292,"health":382,"complexity":415,"deadCode":467},"2026-09-25T05:28:58.613Z","Build an agent harness and control it end-to-end. Open-source SDK for production AI agents in Python & TypeScript - any model, any cloud.","Python","main",1787,{"sources":198,"lines":211,"tokens":221,"clones":200,"duplicatedLines":212,"duplicatedTokens":222,"percentage":202,"percentageTokens":223},3255345,230704,7.09,[225,232,239,246,253,259,266,272,279,286],{"format":226,"sources":227,"lines":228,"clones":229,"duplicatedLines":230,"percentage":231},"typescript",962,232681,1610,17897,7.69,{"format":233,"sources":234,"lines":235,"clones":236,"duplicatedLines":237,"percentage":238},"python",757,234338,1224,16185,6.91,{"format":240,"sources":241,"lines":242,"clones":243,"duplicatedLines":244,"percentage":245},"yaml",210,11062,172,2974,26.88,{"format":247,"sources":248,"lines":249,"clones":250,"duplicatedLines":251,"percentage":252},"markdown",118,22415,53,858,3.83,{"format":254,"sources":250,"lines":255,"clones":256,"duplicatedLines":257,"percentage":258},"json",4108,21,656,15.97,{"format":260,"sources":261,"lines":262,"clones":263,"duplicatedLines":264,"percentage":265},"css",49,6433,17,156,2.42,{"format":267,"sources":268,"lines":269,"clones":194,"duplicatedLines":270,"percentage":271},"html",48,2117,69,3.26,{"format":273,"sources":274,"lines":275,"clones":276,"duplicatedLines":277,"percentage":278},"javascript",55,5551,5,100,1.8,{"format":280,"sources":281,"lines":282,"clones":283,"duplicatedLines":284,"percentage":285},"tsx",33,10342,3,26,0.25,{"format":287,"sources":288,"lines":289,"clones":283,"duplicatedLines":290,"percentage":291},"markup",41,1528,40,2.62,[293,303,311,320,326,334,344,354,363,374],{"format":226,"lines":294,"tokens":295,"firstFile":296,"secondFile":300},170,739,{"name":297,"start":298,"end":299},"strands-ts\u002Fsrc\u002Fmodels\u002F__tests__\u002Fbedrock.test.ts",3295,3464,{"name":297,"start":301,"end":302},3731,3900,{"format":233,"lines":304,"tokens":305,"firstFile":306,"secondFile":309},114,597,{"name":307,"start":308,"end":304},"site\u002Fdocs\u002Fexamples\u002Fcdk\u002Fdeploy_to_fargate\u002Fdocker\u002Fapp\u002Fapp.py",1,{"name":310,"start":308,"end":304},"site\u002Fdocs\u002Fexamples\u002Fdeploy_to_eks\u002Fdocker\u002Fapp\u002Fapp.py",{"format":233,"lines":312,"tokens":313,"firstFile":314,"secondFile":318},111,583,{"name":315,"start":316,"end":317},"site\u002Fdocs\u002Fexamples\u002Fcdk\u002Fdeploy_to_ec2\u002Fapp\u002Fapp.py",2,112,{"name":307,"start":319,"end":304},4,{"format":233,"lines":321,"tokens":322,"firstFile":323,"secondFile":325},108,571,{"name":324,"start":308,"end":321},"site\u002Fdocs\u002Fexamples\u002Fcdk\u002Fdeploy_to_apprunner\u002Fdocker\u002Fapp\u002Fapp.py",{"name":315,"start":276,"end":317},{"format":226,"lines":321,"tokens":327,"firstFile":328,"secondFile":331},521,{"name":297,"start":329,"end":330},3514,3621,{"name":297,"start":332,"end":333},3898,4005,{"format":233,"lines":335,"tokens":336,"firstFile":337,"secondFile":341},37,462,{"name":338,"start":339,"end":340},"strands-py\u002Fsrc\u002Fstrands\u002Fagent\u002Fagent.py",921,957,{"name":338,"start":342,"end":343},1264,1300,{"format":233,"lines":345,"tokens":346,"firstFile":347,"secondFile":351},70,460,{"name":348,"start":349,"end":350},"strands-py\u002Ftests\u002Fstrands\u002Fagent\u002Ftest_agent_hooks.py",167,236,{"name":348,"start":352,"end":353},254,323,{"format":233,"lines":355,"tokens":356,"firstFile":357,"secondFile":360},36,439,{"name":338,"start":358,"end":359},831,866,{"name":338,"start":361,"end":362},925,960,{"format":240,"lines":364,"tokens":365,"firstFile":366,"secondFile":370},76,384,{"name":367,"start":368,"end":369},".github\u002Fworkflows\u002Frelease-mcp.yml",367,442,{"name":371,"start":372,"end":373},".github\u002Fworkflows\u002Frelease-python.yml",412,487,{"format":240,"lines":375,"tokens":365,"firstFile":376,"secondFile":379},79,{"name":371,"start":377,"end":378},398,476,{"name":380,"start":381,"end":346},".github\u002Fworkflows\u002Frelease-typescript.yml",382,{"score":213,"grade":204,"size":383,"dimensions":387},{"lines":384,"files":385,"class":386},490157,1763,"L",[388,402,408],{"id":389,"source":390,"value":194,"adjusted":391,"lines":392,"halfLife":393,"formats":394,"excluded":398,"weight":308,"score":401},"duplication","jscpd",6.9,34130,8.5,[233,226,395,280,273,396,397],"astro","bash","perl",[287,399,400],"text","data",56.7,{"id":403,"source":390,"value":404,"adjusted":404,"lines":405,"halfLife":406,"weight":308,"score":407},"dead-code",4.9,24079,7.5,63.6,{"id":409,"source":390,"value":410,"adjusted":411,"lines":412,"halfLife":413,"weight":308,"score":414},"complexity",60.2,60.1,295216,50,43.5,{"total":416,"mean":417,"files":418},61301,34.8,[419,424,429,433,438,443,448,453,458,462],{"path":420,"complexity":421,"lines":422,"bytes":423},"strands-cli\u002Fsrc\u002Ftui\u002Fview\u002Fsetup-wizard\u002Findex.tsx",955,2774,112735,{"path":425,"complexity":426,"lines":427,"bytes":428},"strands-cli\u002Fsrc\u002Ftui\u002Fchat\u002Fcontroller.ts",529,2131,72193,{"path":297,"complexity":430,"lines":431,"bytes":432},438,6024,213904,{"path":434,"complexity":435,"lines":436,"bytes":437},"strands-cli\u002Fsrc\u002Ftui\u002Fview\u002Fapp.tsx",432,1244,48242,{"path":439,"complexity":440,"lines":441,"bytes":442},"strands-py\u002Fsrc\u002Fstrands\u002Ftools\u002Fmcp\u002Fmcp_client.py",413,2734,128058,{"path":444,"complexity":445,"lines":446,"bytes":447},"strands-py\u002Ftests\u002Fstrands\u002Fmodels\u002Ftest_bedrock.py",397,6017,230903,{"path":449,"complexity":450,"lines":451,"bytes":452},"strands-py\u002Fsrc\u002Fstrands\u002Fmodels\u002Fbedrock.py",346,1790,83695,{"path":454,"complexity":455,"lines":456,"bytes":457},"strands-ts\u002Fsrc\u002Fmodels\u002Fbedrock.ts",339,2180,78365,{"path":459,"complexity":353,"lines":460,"bytes":461},"strands-ts\u002Fsrc\u002Fagent\u002Fagent.ts",2728,106897,{"path":463,"complexity":464,"lines":465,"bytes":466},"strands-cli\u002Ftest\u002Ftui-chat.test.ts",309,2025,72899,{"percentage":404,"findings":468,"files":469,"byCategory":470,"largest":483},317,2002,[471,474,477,480],{"category":472,"count":473},"unused-file",199,{"category":475,"count":476},"unused-export",23,{"category":478,"count":479},"unused-symbol",65,{"category":481,"count":482},"unused-import",30,[484,486,489,492,495,498,501,504,507,510],{"category":472,"path":434,"name":485,"line":308,"lines":436},"",{"category":472,"path":487,"name":485,"line":308,"lines":488},"strands-cli\u002Fsrc\u002Ftui\u002Fview\u002Ffrog-intro-renderer.ts",793,{"category":472,"path":490,"name":485,"line":308,"lines":491},"site\u002Fsrc\u002Fcontent\u002Fdocs\u002Fuser-guide\u002Fsdk\u002Fagents\u002Fhooks.ts",641,{"category":472,"path":493,"name":485,"line":308,"lines":494},"strands-cli\u002Fsrc\u002Ftui\u002Fview\u002Fchat-view.tsx",599,{"category":472,"path":496,"name":485,"line":308,"lines":497},"strands-cli\u002Fsrc\u002Ftui\u002Fview\u002Fpanels.tsx",547,{"category":472,"path":499,"name":485,"line":308,"lines":500},"strands-cli\u002Fsrc\u002Ftui\u002Fview\u002Fcustom-theme-editor.tsx",536,{"category":472,"path":502,"name":485,"line":308,"lines":503},"site\u002Fsrc\u002Fcontent\u002Fdocs\u002Fuser-guide\u002Fsdk\u002Ftools\u002Ftools.ts",535,{"category":472,"path":505,"name":485,"line":308,"lines":506},"strands-cli\u002Fsrc\u002Ftui\u002Fview\u002Ffrog-drawing.ts",534,{"category":472,"path":508,"name":485,"line":308,"lines":509},"site\u002Fsrc\u002Fcomponents\u002Fcommunity\u002FCoursesSection.astro",481,{"category":472,"path":511,"name":485,"line":308,"lines":512},"strands-cli\u002Fsrc\u002Ftui\u002Fview\u002Fsettings-panel.tsx",471,1790314227869]