[{"data":1,"prerenderedAt":3241},["ShallowReactive",2],{"navigation_docs":3,"trending-day-2026-10-18":249,"page-views-\u002Ftrending\u002F2026-10-18":3238,"trending-week-null":3240},[4,29,104,124,194],{"title":5,"icon":6,"path":7,"stem":8,"children":9},"Start",false,"\u002Fstart","1.start",[10,14,19,24],{"title":11,"path":7,"stem":12,"icon":13},"What jscpd finds","1.start\u002Findex","i-lucide-house",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fstart\u002Finstallation","1.start\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quickstart","\u002Fstart\u002Fquickstart","1.start\u002F3.quickstart","i-lucide-rocket",{"title":25,"path":26,"stem":27,"icon":28},"Configuration basics","\u002Fstart\u002Fconfiguration","1.start\u002F4.configuration","i-lucide-settings-2",{"title":30,"icon":6,"path":31,"stem":32,"children":33,"page":6},"Guides","\u002Fguides","2.guides",[34,39,44,49,54,59,64,69,74,79,84,89,94,99],{"title":35,"path":36,"stem":37,"icon":38},"Use jscpd in CI","\u002Fguides\u002Fci","2.guides\u002F01.ci","i-lucide-github",{"title":40,"path":41,"stem":42,"icon":43},"Pre-commit hooks","\u002Fguides\u002Fpre-commit","2.guides\u002F02.pre-commit","i-lucide-git-commit",{"title":45,"path":46,"stem":47,"icon":48},"Fail only on new duplication","\u002Fguides\u002Fbaseline","2.guides\u002F03.baseline","i-lucide-git-compare",{"title":50,"path":51,"stem":52,"icon":53},"Monorepos","\u002Fguides\u002Fmonorepos","2.guides\u002F04.monorepos","i-lucide-folder-tree",{"title":55,"path":56,"stem":57,"icon":58},"Cross-format detection","\u002Fguides\u002Fcross-format","2.guides\u002F05.cross-format","i-lucide-layers",{"title":60,"path":61,"stem":62,"icon":63},"Agents","\u002Fguides\u002Fagents","2.guides\u002F06.agents","i-lucide-cpu",{"title":65,"path":66,"stem":67,"icon":68},"Editors","\u002Fguides\u002Feditors","2.guides\u002F07.editors","i-lucide-code",{"title":70,"path":71,"stem":72,"icon":73},"Duplication over git history","\u002Fguides\u002Fhistory","2.guides\u002F08.history","i-lucide-chart-no-axes-combined",{"title":75,"path":76,"stem":77,"icon":78},"Dashboard and health score","\u002Fguides\u002Fdashboard","2.guides\u002F09.dashboard","i-lucide-layout-dashboard",{"title":80,"path":81,"stem":82,"icon":83},"Dead code","\u002Fguides\u002Fdead-code","2.guides\u002F10.dead-code","i-lucide-ghost",{"title":85,"path":86,"stem":87,"icon":88},"Comparing two codebases","\u002Fguides\u002Fcompare","2.guides\u002F11.compare","i-lucide-git-compare-arrows",{"title":90,"path":91,"stem":92,"icon":93},"Semantic clones","\u002Fguides\u002Fsemantic-clones","2.guides\u002F12.semantic-clones","i-lucide-brain-circuit",{"title":95,"path":96,"stem":97,"icon":98},"Similar functions","\u002Fguides\u002Fsimilarity","2.guides\u002F13.similarity","i-lucide-list-tree",{"title":100,"path":101,"stem":102,"icon":103},"Boundaries","\u002Fguides\u002Fboundaries","2.guides\u002F14.boundaries","i-lucide-fence",{"title":105,"icon":6,"path":106,"stem":107,"children":108,"page":6},"Concepts","\u002Fconcepts","3.concepts",[109,114,119],{"title":110,"path":111,"stem":112,"icon":113},"Types of code clones","\u002Fconcepts\u002Fclone-types","3.concepts\u002F1.clone-types","i-lucide-copy",{"title":115,"path":116,"stem":117,"icon":118},"How detection works","\u002Fconcepts\u002Fhow-detection-works","3.concepts\u002F2.how-detection-works","i-lucide-scan-search",{"title":120,"path":121,"stem":122,"icon":123},"The health score","\u002Fconcepts\u002Fhealth-score","3.concepts\u002F3.health-score","i-lucide-heart-pulse",{"title":125,"icon":6,"path":126,"stem":127,"children":128,"page":6},"Reference","\u002Freference","4.reference",[129,134,139,144,181,186,190],{"title":130,"path":131,"stem":132,"icon":133},"CLI options","\u002Freference\u002Fcli","4.reference\u002F1.cli","i-lucide-terminal",{"title":135,"path":136,"stem":137,"icon":138},"The config file","\u002Freference\u002Fconfig-file","4.reference\u002F2.config-file","i-lucide-settings",{"title":140,"path":141,"stem":142,"icon":143},"Exit codes","\u002Freference\u002Fexit-codes","4.reference\u002F3.exit-codes","i-lucide-log-out",{"title":145,"icon":6,"path":146,"stem":147,"children":148},"Reporters","\u002Freference\u002Freporters","4.reference\u002F4.reporters\u002Findex",[149,151,156,161,166,171,176],{"title":145,"path":146,"stem":147,"icon":150},"i-lucide-file-chart-column",{"title":152,"path":153,"stem":154,"icon":155},"HTML reporter","\u002Freference\u002Freporters\u002Fhtml","4.reference\u002F4.reporters\u002F2.html","i-lucide-file-code",{"title":157,"path":158,"stem":159,"icon":160},"JSON reporter","\u002Freference\u002Freporters\u002Fjson","4.reference\u002F4.reporters\u002F3.json","i-lucide-braces",{"title":162,"path":163,"stem":164,"icon":165},"Badge reporter","\u002Freference\u002Freporters\u002Fbadge","4.reference\u002F4.reporters\u002F4.badge","i-lucide-award",{"title":167,"path":168,"stem":169,"icon":170},"SARIF reporter","\u002Freference\u002Freporters\u002Fsarif","4.reference\u002F4.reporters\u002F5.sarif","i-lucide-shield-check",{"title":172,"path":173,"stem":174,"icon":175},"CodeClimate reporter","\u002Freference\u002Freporters\u002Fcodeclimate","4.reference\u002F4.reporters\u002F6.codeclimate","i-lucide-flag-triangle-right",{"title":177,"path":178,"stem":179,"icon":180},"OpenMetrics reporter","\u002Freference\u002Freporters\u002Fopenmetrics","4.reference\u002F4.reporters\u002F7.openmetrics","i-lucide-activity",{"title":182,"path":183,"stem":184,"icon":185},"Supported formats","\u002Freference\u002Fsupported-formats","4.reference\u002F5.supported-formats","i-lucide-languages",{"title":187,"path":188,"stem":189,"icon":38},"GitHub Action","\u002Freference\u002Fgithub-action","4.reference\u002F6.github-action",{"title":191,"path":192,"stem":193,"icon":68},"Rust crates","\u002Freference\u002Frust-crates","4.reference\u002F7.rust-crates",{"title":195,"icon":6,"path":196,"stem":197,"children":198,"page":6},"Project","\u002Fproject","5.project",[199,204,209,214,239,244],{"title":200,"path":201,"stem":202,"icon":203},"Changelog","\u002Fproject\u002Fchangelog","5.project\u002F1.changelog","i-lucide-scroll-text",{"title":205,"path":206,"stem":207,"icon":208},"Migrating from v4 to v5","\u002Fproject\u002Fmigration","5.project\u002F2.migration","i-lucide-arrow-right-left",{"title":210,"path":211,"stem":212,"icon":213},"jscpd v4 (TypeScript)","\u002Fproject\u002Fv4","5.project\u002F3.v4","i-simple-icons-typescript",{"title":215,"icon":6,"path":216,"stem":217,"children":218},"Benchmarks","\u002Fproject\u002Fbenchmarks","5.project\u002F4.benchmarks\u002Findex",[219,221,226,230,235],{"title":215,"path":216,"stem":217,"icon":220},"i-lucide-gauge",{"title":222,"path":223,"stem":224,"icon":225},"Detection Speed","\u002Fproject\u002Fbenchmarks\u002Fdetection-speed","5.project\u002F4.benchmarks\u002F2.detection-speed","i-lucide-zap",{"title":227,"path":228,"stem":229,"icon":58},"Multi-Format Detection","\u002Fproject\u002Fbenchmarks\u002Fcross-format","5.project\u002F4.benchmarks\u002F3.cross-format",{"title":231,"path":232,"stem":233,"icon":234},"AI Token Efficiency","\u002Fproject\u002Fbenchmarks\u002Fai-token-efficiency","5.project\u002F4.benchmarks\u002F4.ai-token-efficiency","i-lucide-sparkles",{"title":236,"path":237,"stem":238,"icon":93},"Embedding Models","\u002Fproject\u002Fbenchmarks\u002Fembedding-models","5.project\u002F4.benchmarks\u002F5.embedding-models",{"title":240,"path":241,"stem":242,"icon":243},"Research","\u002Fproject\u002Fresearch","5.project\u002F5.research","i-lucide-graduation-cap",{"title":245,"path":246,"stem":247,"icon":248},"Articles","\u002Fproject\u002Farticles","5.project\u002F6.articles","i-lucide-newspaper",{"date":250,"generatedAt":251,"source":252,"jscpdVersion":253,"summary":254,"repos":323},"2026-10-18","2026-10-18T05:26:35.381Z","github-trending-daily","5.4.1",{"repos":255,"sources":256,"lines":257,"tokens":258,"clones":259,"duplicatedLines":260,"duplicatedTokens":261,"percentage":262,"percentageTokens":263,"avgPercentage":264,"medianPercentage":265,"mostDuplicated":266,"cleanest":270,"mostClones":274,"codeRepos":255,"codeSources":278,"codeLines":279,"codeClones":280,"codeDuplicatedLines":281,"codePercentage":282,"codeMedianPercentage":283,"codeMostDuplicated":284,"codeCleanest":287,"generatedFiles":290,"avgHealth":291,"healthiest":292,"leastHealthy":295,"languages":298},6,8062,2302177,17904542,15227,305817,2606705,13.28,14.56,10.86,12.33,{"name":267,"clones":268,"percentage":269},"HKUDS\u002FCLI-Anything",2388,19.77,{"name":271,"clones":272,"percentage":273},"anthropics\u002Fclaude-code",127,1.63,{"name":275,"clones":276,"percentage":277},"xerj-org\u002Fxerj",6855,15.04,2296,1131320,6199,110990,9.81,6.41,{"name":267,"clones":285,"percentage":286},1738,24.26,{"name":271,"clones":288,"percentage":289},14,1.18,8,44.25,{"name":271,"score":293,"grade":294},72,"B",{"name":267,"score":296,"grade":297},11.6,"E",[299,306,312,319],{"language":300,"repos":301,"clones":302,"lines":303,"duplicatedLines":304,"percentage":305},"Rust",2,11522,1582655,205200,12.97,{"language":307,"repos":301,"clones":308,"lines":309,"duplicatedLines":310,"percentage":311},"Python",2522,507194,79231,15.62,{"language":313,"repos":314,"clones":315,"lines":316,"duplicatedLines":317,"percentage":318},"Kotlin",1,1056,115251,19801,17.18,{"language":320,"repos":314,"clones":272,"lines":321,"duplicatedLines":322,"percentage":273},"TypeScript",97077,1585,[324,818,1340,1880,2282,2672],{"name":325,"url":326,"description":327,"language":307,"stars":328,"starsToday":329,"defaultBranch":330,"headSha":331,"durationMs":332,"total":333,"formats":342,"topClones":402,"code":533,"health":698,"complexity":730,"deadCode":783},"anthropics\u002Fclaude-plugins-official","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-plugins-official","Official, Anthropic-managed directory of high quality Claude Code Plugins.",41959,1397,"main","ea10b213686c90bb1984b2016937310e05336cf3",1447,{"sources":334,"lines":335,"tokens":336,"clones":337,"duplicatedLines":338,"duplicatedTokens":339,"percentage":340,"percentageTokens":341},655,117929,918022,134,2286,15514,1.94,1.69,[343,350,357,364,370,377,383,388,393,398],{"format":344,"sources":345,"lines":346,"clones":347,"duplicatedLines":348,"percentage":349},"typescript",55,13796,45,701,5.08,{"format":351,"sources":352,"lines":353,"clones":354,"duplicatedLines":355,"percentage":356},"markdown",236,44069,39,651,1.48,{"format":358,"sources":359,"lines":360,"clones":361,"duplicatedLines":362,"percentage":363},"python",91,33241,34,420,1.26,{"format":365,"sources":366,"lines":367,"clones":290,"duplicatedLines":368,"percentage":369},"markup",10,3658,65,1.78,{"format":371,"sources":372,"lines":373,"clones":374,"duplicatedLines":375,"percentage":376},"javascript",18,5088,4,177,3.48,{"format":378,"sources":379,"lines":380,"clones":301,"duplicatedLines":381,"percentage":382},"json",42,8521,86,1.01,{"format":384,"sources":385,"lines":386,"clones":314,"duplicatedLines":366,"percentage":387},"text",67,1689,0.59,{"format":389,"sources":301,"lines":390,"clones":314,"duplicatedLines":391,"percentage":392},"txt",379,176,46.44,{"format":394,"sources":395,"lines":396,"clones":397,"duplicatedLines":397,"percentage":397},"bash",53,4160,0,{"format":399,"sources":400,"lines":401,"clones":397,"duplicatedLines":397,"percentage":397},"yaml",73,2075,[403,420,439,454,471,482,497,507,516,526],{"format":389,"lines":391,"tokens":404,"copies":301,"first":405,"others":407,"excerpt":410},1663,{"name":406,"start":301,"end":375},"plugins\u002Ffrontend-design\u002Fskills\u002Ffrontend-design\u002FLICENSE.txt",[408],{"name":409,"start":301,"end":375},"plugins\u002Fskill-creator\u002Fskills\u002Fskill-creator\u002FLICENSE.txt",{"lines":411,"total":391},[412,413,414,415,416,415,417,415,418,419],"                              Apache License","                        Version 2.0, January 2004","                     http:\u002F\u002Fwww.apache.org\u002Flicenses\u002F","","TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION","1. Definitions.","   \"License\" shall mean the terms and conditions for use, reproduction,","   and distribution as defined by Sections 1 through 9 of this document.",{"format":351,"lines":421,"tokens":422,"copies":301,"first":423,"others":427,"excerpt":430},120,1149,{"name":424,"start":425,"end":426},"plugins\u002Fplugin-dev\u002Fskills\u002Fskill-development\u002FSKILL.md:markdown",9,128,[428],{"name":429,"start":425,"end":426},"plugins\u002Fplugin-dev\u002Fskills\u002Fskill-development\u002Freferences\u002Fskill-creator-original.md:markdown",{"lines":431,"total":421},[432,415,433,415,434,435,436,437,415,438],"This skill provides guidance for creating effective skills for Claude Code plugins.","## About Skills","Skills are modular, self-contained packages that extend Claude's capabilities by providing","specialized knowledge, workflows, and tools. Think of them as \"onboarding guides\" for specific","domains or tasks—they transform Claude from a general-purpose agent into a specialized agent","equipped with procedural knowledge that no model can fully possess.","### What Skills Provide",{"format":351,"lines":440,"tokens":441,"copies":301,"first":442,"others":445,"excerpt":448},7,585,{"name":443,"start":425,"end":444},"plugins\u002Fmath-proof\u002Fagents\u002Fmath-proof-worker-deep.md:markdown",15,[446],{"name":447,"start":425,"end":444},"plugins\u002Fmath-proof\u002Fagents\u002Fmath-proof-worker.md:markdown",{"lines":449,"total":440},[450,415,451,415,452,415,453],"You will be given one mathematical task: the path of a query file, the problem statement it concerns (given in full in the message that assigns you the task; t…","After reasoning, write your answer. This task runs as a conversation that can span many messages, each with a bounded output allowance that also covers your pr…","You have no web access and no code execution; this is a pure reasoning task. Results you cite from the literature are cited from memory — say so, and state the…","When the task is resolved, or you have taken it as far as you can, make sure the answer file holds your complete final answer: precise statements with proofs, …",{"format":351,"lines":455,"tokens":456,"copies":457,"first":458,"others":462},20,229,3,{"name":459,"start":460,"end":461},"plugins\u002Fcode-modernization\u002Fagents\u002Farchitecture-critic.md:markdown",44,63,[463,467],{"name":464,"start":465,"end":466},"plugins\u002Fcode-modernization\u002Fagents\u002Fbusiness-rules-extractor.md:markdown",57,76,{"name":468,"start":469,"end":470},"plugins\u002Fcode-modernization\u002Fagents\u002Fsecurity-auditor.md:markdown",81,100,{"format":351,"lines":472,"tokens":473,"copies":301,"first":474,"others":477},46,450,{"name":475,"start":440,"end":476},"plugins\u002Fcode-simplifier\u002Fagents\u002Fcode-simplifier.md:markdown",52,[478],{"name":479,"start":480,"end":481},"plugins\u002Fpr-review-toolkit\u002Fagents\u002Fcode-simplifier.md:markdown",43,88,{"format":351,"lines":483,"tokens":484,"copies":457,"first":485,"others":489},25,187,{"name":486,"start":487,"end":488},"external_plugins\u002Fdiscord\u002Fskills\u002Faccess\u002FSKILL.md:markdown",74,98,[490,493],{"name":491,"start":469,"end":492},"external_plugins\u002Fimessage\u002Fskills\u002Faccess\u002FSKILL.md:markdown",105,{"name":494,"start":495,"end":496},"external_plugins\u002Ftelegram\u002Fskills\u002Faccess\u002FSKILL.md:markdown",84,108,{"format":351,"lines":440,"tokens":498,"copies":301,"first":499,"others":502},280,{"name":500,"start":381,"end":501},"plugins\u002Fclaude-security\u002Fskills\u002Fclaude-security\u002Fjobs\u002Fscan-changes.md:markdown",92,[503],{"name":504,"start":505,"end":506},"plugins\u002Fclaude-security\u002Fskills\u002Fclaude-security\u002Fjobs\u002Fscan-codebase.md:markdown",64,70,{"format":351,"lines":288,"tokens":508,"copies":301,"first":509,"others":512},247,{"name":500,"start":510,"end":511},133,146,[513],{"name":504,"start":514,"end":515},113,126,{"format":344,"lines":517,"tokens":518,"copies":301,"first":519,"others":522},37,230,{"name":520,"start":510,"end":521},"external_plugins\u002Fdiscord\u002Fserver.ts",169,[523],{"name":524,"start":525,"end":391},"external_plugins\u002Ftelegram\u002Fserver.ts",138,{"format":351,"lines":527,"tokens":518,"copies":301,"first":528,"others":529},22,{"name":464,"start":345,"end":466},[530],{"name":531,"start":532,"end":506},"plugins\u002Fcode-modernization\u002Fagents\u002Flegacy-analyst.md:markdown",49,{"sources":534,"lines":535,"tokens":536,"clones":465,"duplicatedLines":537,"duplicatedTokens":538,"percentage":539,"percentageTokens":540,"formats":541,"topClones":564,"generated":696},121,42522,299520,1087,4800,2.56,1.6,[542,547,552,556,558,561],{"format":344,"sources":543,"lines":544,"clones":361,"duplicatedLines":545,"percentage":546},30,9927,611,6.15,{"format":358,"sources":345,"lines":548,"clones":549,"duplicatedLines":550,"percentage":551},24044,19,299,1.24,{"format":371,"sources":553,"lines":554,"clones":374,"duplicatedLines":375,"percentage":555},11,4875,3.63,{"format":394,"sources":527,"lines":557,"clones":397,"duplicatedLines":397,"percentage":397},2501,{"format":559,"sources":301,"lines":560,"clones":397,"duplicatedLines":397,"percentage":397},"tsx",1007,{"format":562,"sources":314,"lines":563,"clones":397,"duplicatedLines":397,"percentage":397},"perl",168,[565,585,610,633,643,651,661,673,680,689],{"format":344,"lines":517,"tokens":518,"copies":301,"first":566,"others":567,"excerpt":569,"excerptSecond":580},{"name":520,"start":510,"end":521},[568],{"name":524,"start":525,"end":391},{"lines":570,"total":517},[571,415,572,573,574,575,576,577,578,579],"const MAX_ATTACHMENT_BYTES = 25 * 1024 * 1024","\u002F\u002F reply's files param takes any path. .env is ~60 bytes and ships as an","\u002F\u002F upload. Claude can already Read+paste file contents, so this isn't a new","\u002F\u002F exfil channel for arbitrary paths — but the server's own state is the one","\u002F\u002F thing Claude has no reason to ever send.","function assertSendable(f: string): void {","  let real, stateReal: string","  try {","    real = realpathSync(f)",{"lines":581,"total":354},[582,415,583,584,574,575,576,577,578,579],"const MAX_ATTACHMENT_BYTES = 50 * 1024 * 1024","\u002F\u002F reply's files param takes any path. .env is ~60 bytes and ships as a","\u002F\u002F document. Claude can already Read+paste file contents, so this isn't a new",{"format":344,"lines":543,"tokens":586,"copies":301,"first":587,"others":590,"excerpt":594,"excerptSecond":603},186,{"name":520,"start":588,"end":589},363,392,[591],{"name":524,"start":592,"end":593},357,385,{"lines":595,"total":543},[596,597,598,415,599,415,600,601,602,415],"    })()","  }","}","if (!STATIC) setInterval(checkApprovals, 5000).unref()","\u002F\u002F Discord caps messages at 2000 chars (hard limit — larger sends reject).","\u002F\u002F Split long replies, preferring paragraph boundaries when chunkMode is","\u002F\u002F 'newline'.",{"lines":604,"total":609},[605,597,598,415,599,415,606,607,415,608],"    )","\u002F\u002F Telegram caps messages at 4096 chars. Split long replies, preferring","\u002F\u002F paragraph boundaries when chunkMode is 'newline'.","function chunk(text: string, limit: number, mode: 'length' | 'newline'): string[] {",29,{"format":344,"lines":455,"tokens":563,"copies":301,"first":611,"others":613,"excerpt":618,"excerptSecond":629},{"name":520,"start":612,"end":589},373,[614],{"name":615,"start":616,"end":617},"external_plugins\u002Fimessage\u002Fserver.ts",480,497,{"lines":619,"total":455},[608,620,621,622,623,624,625,626,627,628],"  if (text.length \u003C= limit) return [text]","  const out: string[] = []","  let rest = text","  while (rest.length > limit) {","    let cut = limit","    if (mode === 'newline') {","      \u002F\u002F Prefer the last double-newline (paragraph), then single newline,","      \u002F\u002F then space. Fall back to hard cut.","      const para = rest.lastIndexOf('\\n\\n', limit)",{"lines":630,"total":372},[608,620,621,622,623,624,625,628,631,632],"      const line = rest.lastIndexOf('\\n', limit)","      const space = rest.lastIndexOf(' ', limit)",{"format":344,"lines":634,"tokens":635,"copies":301,"first":636,"others":639},27,165,{"name":520,"start":637,"end":638},192,218,[640],{"name":524,"start":641,"end":642},208,234,{"format":344,"lines":527,"tokens":635,"copies":301,"first":644,"others":647},{"name":520,"start":645,"end":646},246,267,[648],{"name":524,"start":649,"end":650},248,269,{"format":344,"lines":652,"tokens":653,"copies":301,"first":654,"others":657},28,145,{"name":520,"start":655,"end":656},464,491,[658],{"name":524,"start":659,"end":660},415,442,{"format":358,"lines":662,"tokens":663,"copies":301,"first":664,"others":668},12,129,{"name":665,"start":666,"end":667},"plugins\u002Fsecurity-guidance\u002Fhooks\u002Fllm.py",1859,1870,[669],{"name":670,"start":671,"end":672},"plugins\u002Fsecurity-guidance\u002Fhooks\u002Freview_api.py",306,323,{"format":344,"lines":674,"tokens":272,"copies":301,"first":675,"others":677},41,{"name":520,"start":501,"end":676},132,[678],{"name":524,"start":488,"end":679},137,{"format":344,"lines":634,"tokens":681,"copies":301,"first":682,"others":685},122,{"name":615,"start":683,"end":684},717,743,[686],{"name":524,"start":687,"end":688},635,661,{"format":344,"lines":690,"tokens":421,"copies":301,"first":691,"others":694},26,{"name":520,"start":692,"end":693},706,731,[695],{"name":615,"start":683,"end":684},{"files":397,"minified":397,"sample":697},[],{"score":699,"grade":700,"size":701,"dimensions":704},51.5,"D",{"lines":702,"files":635,"class":703},55195,"M",[705,715,723],{"id":706,"source":707,"value":708,"adjusted":708,"lines":709,"halfLife":710,"formats":711,"excluded":712,"weight":314,"score":714},"duplication","jscpd",2.3,1264,8.5,[358,344,371,394,559,562],[365,384,713],"data",82.7,{"id":716,"source":707,"value":717,"adjusted":290,"lines":718,"halfLife":719,"coverage":720,"weight":721,"score":722},"dead-code",8.2,4294,7.5,95,0.95,47.7,{"id":724,"source":707,"value":725,"adjusted":726,"lines":727,"halfLife":728,"weight":314,"score":729},"complexity",79,77,43610,50,34.4,{"total":731,"mean":732,"files":733},13239,80.2,[734,739,744,749,754,759,764,769,773,778],{"path":735,"complexity":736,"lines":737,"bytes":738},"plugins\u002Fclaude-security\u002Fworkflows\u002Fscan.js",609,156,60537,{"path":740,"complexity":741,"lines":742,"bytes":743},"plugins\u002Fcode-modernization\u002Fscripts\u002Fproof_pack.py",606,1020,73244,{"path":745,"complexity":746,"lines":747,"bytes":748},"plugins\u002Fcode-modernization\u002Fscripts\u002Fbuild_report.py",474,725,45739,{"path":750,"complexity":751,"lines":752,"bytes":753},"plugins\u002Fsecurity-guidance\u002Fhooks\u002Fsecurity_reminder_hook.py",460,2692,129648,{"path":755,"complexity":756,"lines":757,"bytes":758},"plugins\u002Fcode-modernization\u002Fscripts\u002Fbaseline_diff.py",406,809,44527,{"path":760,"complexity":761,"lines":762,"bytes":763},"plugins\u002Fcode-modernization\u002Fhooks\u002Fregister.ts",393,1298,42850,{"path":765,"complexity":766,"lines":767,"bytes":768},"plugins\u002Fcode-modernization\u002Fscripts\u002Ftests\u002Ftest_proof_tools.py",369,1993,135116,{"path":665,"complexity":770,"lines":771,"bytes":772},315,2164,132554,{"path":774,"complexity":775,"lines":776,"bytes":777},"plugins\u002Freceipts\u002Fskills\u002Freceipts\u002Fscripts\u002Fmine-transcripts.mjs",304,1474,66303,{"path":779,"complexity":780,"lines":781,"bytes":782},"plugins\u002Fclaude-security\u002Fscripts\u002Fpatch_artifacts.py",303,1283,52407,{"percentage":784,"findings":785,"files":653,"byCategory":786,"largest":791},8.19,82,[787,789],{"category":788,"count":662},"unused-file",{"category":790,"count":506},"unused-import",[792,793,796,799,802,805,808,811,812,815],{"category":788,"path":760,"name":415,"line":314,"lines":762},{"category":788,"path":794,"name":415,"line":314,"lines":795},"plugins\u002Fcode-modernization\u002Fworkflows\u002Fextract-rules.js",865,{"category":788,"path":797,"name":415,"line":314,"lines":798},"plugins\u002Fcode-modernization\u002Fworkflows\u002Fuplift-migrate.js",425,{"category":788,"path":800,"name":415,"line":314,"lines":801},"plugins\u002Fcode-modernization\u002Fworkflows\u002Fharden-scan.js",296,{"category":788,"path":803,"name":415,"line":314,"lines":804},"plugins\u002Fcode-modernization\u002Fworkflows\u002Fuplift-deltas.js",232,{"category":788,"path":806,"name":415,"line":314,"lines":807},"plugins\u002Freceipts\u002Fassets\u002Fmake-sample.mjs",183,{"category":788,"path":809,"name":415,"line":314,"lines":810},"plugins\u002Fcode-modernization\u002Fhooks\u002Fstate.ts",182,{"category":788,"path":735,"name":415,"line":314,"lines":737},{"category":788,"path":813,"name":415,"line":314,"lines":814},"plugins\u002Fcode-modernization\u002Fworkflows\u002Fportfolio-assess.js",110,{"category":788,"path":816,"name":415,"line":314,"lines":817},"plugins\u002Fcode-modernization\u002Fworkflows\u002Freimagine-scaffold.js",103,{"name":267,"url":819,"description":820,"language":307,"stars":821,"starsToday":822,"defaultBranch":330,"headSha":823,"durationMs":824,"total":825,"formats":832,"topClones":881,"code":1070,"health":1224,"complexity":1249,"deadCode":1300},"https:\u002F\u002Fgithub.com\u002FHKUDS\u002FCLI-Anything","\"CLI-Anything: Making ALL Software Agent-Native\" -- CLI-Hub: https:\u002F\u002Fclianything.cc\u002F",54170,574,"34f519533bc175d2fe287ab8316b0dd99bb9cc43",4306,{"sources":826,"lines":827,"tokens":828,"clones":268,"duplicatedLines":829,"duplicatedTokens":830,"percentage":269,"percentageTokens":831},1842,389265,2497316,76945,441867,17.69,[833,839,845,851,856,860,863,868,874,877],{"format":358,"sources":834,"lines":835,"clones":836,"duplicatedLines":837,"percentage":838},896,293384,1946,57115,19.47,{"format":351,"sources":840,"lines":841,"clones":842,"duplicatedLines":843,"percentage":844},399,65691,240,15633,23.8,{"format":394,"sources":846,"lines":847,"clones":848,"duplicatedLines":849,"percentage":850},282,10160,101,2763,27.19,{"format":852,"sources":440,"lines":853,"clones":345,"duplicatedLines":854,"percentage":855},"csharp",4457,656,14.72,{"format":384,"sources":534,"lines":857,"clones":527,"duplicatedLines":858,"percentage":859},3539,211,5.96,{"format":378,"sources":674,"lines":861,"clones":440,"duplicatedLines":337,"percentage":862},6628,2.02,{"format":399,"sources":864,"lines":865,"clones":255,"duplicatedLines":866,"percentage":867},66,1862,295,15.84,{"format":869,"sources":870,"lines":871,"clones":374,"duplicatedLines":872,"percentage":873},"powershell",13,807,60,7.43,{"format":344,"sources":301,"lines":875,"clones":457,"duplicatedLines":609,"percentage":876},471,6.16,{"format":878,"sources":301,"lines":879,"clones":457,"duplicatedLines":517,"percentage":880},"swift",381,9.71,[882,915,941,977,987,1012,1029,1039,1052,1061],{"format":358,"lines":883,"tokens":884,"copies":532,"first":885,"others":888,"excerpt":905},565,2975,{"name":886,"start":457,"end":887},"adguardhome\u002Fagent-harness\u002Fcli_anything\u002Fadguardhome\u002Futils\u002Frepl_skin.py",567,[889,891,893,895,897,899,901,903],{"name":890,"start":457,"end":887},"anygen\u002Fagent-harness\u002Fcli_anything\u002Fanygen\u002Futils\u002Frepl_skin.py",{"name":892,"start":457,"end":887},"audacity\u002Fagent-harness\u002Fcli_anything\u002Faudacity\u002Futils\u002Frepl_skin.py",{"name":894,"start":457,"end":887},"blender\u002Fagent-harness\u002Fcli_anything\u002Fblender\u002Futils\u002Frepl_skin.py",{"name":896,"start":457,"end":887},"browser\u002Fagent-harness\u002Fcli_anything\u002Fbrowser\u002Futils\u002Frepl_skin.py",{"name":898,"start":457,"end":887},"cc-switch\u002Fagent-harness\u002Fcli_anything\u002Fccswitch\u002Futils\u002Frepl_skin.py",{"name":900,"start":457,"end":887},"chromadb\u002Fagent-harness\u002Fcli_anything\u002Fchromadb\u002Futils\u002Frepl_skin.py",{"name":902,"start":457,"end":887},"cli-anything-plugin\u002Frepl_skin.py",{"name":904,"start":457,"end":887},"cloudanalyzer\u002Fagent-harness\u002Fcli_anything\u002Fcloudanalyzer\u002Futils\u002Frepl_skin.py",{"lines":906,"total":883},[907,908,415,909,910,415,911,912,913,914],"Copy this file into your CLI package at:","    cli_anything\u002F\u003Csoftware>\u002Futils\u002Frepl_skin.py","Usage:","    from cli_anything.\u003Csoftware>.utils.repl_skin import ReplSkin","    skin = ReplSkin(\"shotcut\", version=\"1.0.0\")","    skin.print_banner()  # auto-detects repo-root or packaged SKILL.md","    prompt_text = skin.prompt(project_name=\"my_video.mlt\", modified=True)","    skin.success(\"Project saved\")",{"format":358,"lines":916,"tokens":917,"copies":255,"first":918,"others":920,"excerpt":931},468,2905,{"name":919,"start":314,"end":916},"blender\u002Fagent-harness\u002Fcli_anything\u002Fblender\u002Futils\u002Fpreview_bundle.py",[921,923,925,927,929],{"name":922,"start":314,"end":916},"cli-anything-plugin\u002Fpreview_bundle.py",{"name":924,"start":314,"end":916},"freecad\u002Fagent-harness\u002Fcli_anything\u002Ffreecad\u002Futils\u002Fpreview_bundle.py",{"name":926,"start":314,"end":916},"openscreen\u002Fagent-harness\u002Fcli_anything\u002Fopenscreen\u002Futils\u002Fpreview_bundle.py",{"name":928,"start":314,"end":916},"renderdoc\u002Fagent-harness\u002Fcli_anything\u002Frenderdoc\u002Futils\u002Fpreview_bundle.py",{"name":930,"start":314,"end":916},"shotcut\u002Fagent-harness\u002Fcli_anything\u002Fshotcut\u002Futils\u002Fpreview_bundle.py",{"lines":932,"total":916},[933,415,934,415,935,936,937,938,939,940],"\"\"\"Shared helpers for CLI-Anything preview bundles.\"\"\"","from __future__ import annotations","import hashlib","import json","import mimetypes","import os","import re","from datetime import datetime, timezone",{"format":358,"lines":870,"tokens":488,"copies":942,"first":943,"others":945,"excerpt":965},62,{"name":944,"start":674,"end":395},"mailchimp\u002Fagent-harness\u002Fcli_anything\u002Fmailchimp\u002Fcommands\u002Faccount_export.py",[946,948,951,954,956,958,960,962],{"name":947,"start":814,"end":681},"mailchimp\u002Fagent-harness\u002Fcli_anything\u002Fmailchimp\u002Fcommands\u002Faudiences.py",{"name":949,"start":950,"end":469},"mailchimp\u002Fagent-harness\u002Fcli_anything\u002Fmailchimp\u002Fcommands\u002Fauthorized_apps.py",69,{"name":952,"start":470,"end":953},"mailchimp\u002Fagent-harness\u002Fcli_anything\u002Fmailchimp\u002Fcommands\u002Fautomations.py",112,{"name":955,"start":814,"end":681},"mailchimp\u002Fagent-harness\u002Fcli_anything\u002Fmailchimp\u002Fcommands\u002Fbatch_webhooks.py",{"name":957,"start":814,"end":681},"mailchimp\u002Fagent-harness\u002Fcli_anything\u002Fmailchimp\u002Fcommands\u002Fbatches.py",{"name":959,"start":814,"end":681},"mailchimp\u002Fagent-harness\u002Fcli_anything\u002Fmailchimp\u002Fcommands\u002Fcampaign_folders.py",{"name":961,"start":612,"end":593},"mailchimp\u002Fagent-harness\u002Fcli_anything\u002Fmailchimp\u002Fcommands\u002Fcampaigns.py",{"name":961,"start":963,"end":964},422,434,{"lines":966,"total":870},[967,968,969,970,971,972,973,974,975,976],"params = {k: v for k, v in {","    \"fields\": fields,","    \"exclude_fields\": exclude_fields,","}.items() if v is not None}","if extra_params:","    params.update(_parse_json_option(extra_params, \"--extra-params\", require_object=True))","client = get_client()","try:","    result = client.get(path, params=params or None)","except MailchimpError as e:",{"format":358,"lines":978,"tokens":979,"copies":457,"first":980,"others":982},521,2643,{"name":981,"start":314,"end":978},"3MF\u002Fagent-harness\u002Fcli_anything\u002Fthreemf\u002Futils\u002Frepl_skin.py",[983,985],{"name":984,"start":314,"end":978},"macrocli\u002Fagent-harness\u002Fcli_anything\u002Fmacrocli\u002Futils\u002Frepl_skin.py",{"name":986,"start":314,"end":978},"unrealinsights\u002Fagent-harness\u002Fcli_anything\u002Funrealinsights\u002Futils\u002Frepl_skin.py",{"format":358,"lines":425,"tokens":728,"copies":988,"first":989,"others":992},85,{"name":990,"start":728,"end":991},"mailchimp\u002Fagent-harness\u002Fcli_anything\u002Fmailchimp\u002Fcommands\u002Faccount_exports.py",58,[993,995,998,1000,1003,1005,1008,1010],{"name":947,"start":461,"end":994},71,{"name":947,"start":996,"end":997},116,124,{"name":952,"start":872,"end":999},68,{"name":952,"start":1001,"end":1002},106,114,{"name":952,"start":518,"end":1004},238,{"name":952,"start":1006,"end":1007},316,324,{"name":952,"start":1009,"end":766},361,{"name":952,"start":879,"end":1011},389,{"format":358,"lines":553,"tokens":495,"copies":472,"first":1013,"others":1014},{"name":990,"start":385,"end":726},[1015,1017,1019,1022,1024,1025,1026,1027],{"name":947,"start":381,"end":1016},96,{"name":952,"start":726,"end":1018},87,{"name":952,"start":1020,"end":1021},335,345,{"name":952,"start":840,"end":1023},409,{"name":955,"start":385,"end":726},{"name":957,"start":385,"end":726},{"name":959,"start":385,"end":726},{"name":961,"start":1028,"end":817},93,{"format":394,"lines":1030,"tokens":1031,"copies":301,"first":1032,"others":1036},285,3204,{"name":1033,"start":1034,"end":1035},"freecad\u002Fagent-harness\u002Fcli_anything\u002Ffreecad\u002Fskills\u002FSKILL.md:bash",17,301,[1037],{"name":1038,"start":1034,"end":1035},"skills\u002Fcli-anything-freecad\u002FSKILL.md:bash",{"format":358,"lines":1040,"tokens":1001,"copies":543,"first":1041,"others":1042},23,{"name":944,"start":457,"end":483},[1043,1044,1046,1047,1048,1049,1050,1051],{"name":990,"start":457,"end":483},{"name":1045,"start":457,"end":483},"mailchimp\u002Fagent-harness\u002Fcli_anything\u002Fmailchimp\u002Fcommands\u002Factivity_feed.py",{"name":947,"start":457,"end":483},{"name":949,"start":457,"end":483},{"name":952,"start":457,"end":483},{"name":955,"start":457,"end":483},{"name":957,"start":457,"end":483},{"name":959,"start":457,"end":483},{"format":351,"lines":1053,"tokens":1054,"copies":301,"first":1055,"others":1058},784,2936,{"name":1056,"start":255,"end":1057},"cloudcompare\u002Fagent-harness\u002Fcli_anything\u002Fcloudcompare\u002Fskills\u002FSKILL.md:markdown",789,[1059],{"name":1060,"start":255,"end":1057},"skills\u002Fcli-anything-cloudcompare\u002FSKILL.md:markdown",{"format":394,"lines":1062,"tokens":1063,"copies":301,"first":1064,"others":1067},753,2911,{"name":1065,"start":444,"end":1066},"cloudcompare\u002Fagent-harness\u002Fcli_anything\u002Fcloudcompare\u002Fskills\u002FSKILL.md:bash",767,[1068],{"name":1069,"start":444,"end":1066},"skills\u002Fcli-anything-cloudcompare\u002FSKILL.md:bash",{"sources":1071,"lines":1072,"tokens":1073,"clones":285,"duplicatedLines":1074,"duplicatedTokens":1075,"percentage":286,"percentageTokens":1076,"formats":1077,"topClones":1096,"generated":1221},762,225256,1304935,54645,309505,23.72,[1078,1084,1085,1086,1090,1093,1095],{"format":358,"sources":1079,"lines":1080,"clones":1081,"duplicatedLines":1082,"percentage":1083},729,217738,1678,53936,24.77,{"format":852,"sources":440,"lines":853,"clones":345,"duplicatedLines":854,"percentage":855},{"format":878,"sources":301,"lines":879,"clones":457,"duplicatedLines":517,"percentage":880},{"format":869,"sources":255,"lines":1087,"clones":301,"duplicatedLines":1088,"percentage":1089},360,16,4.44,{"format":371,"sources":1091,"lines":1092,"clones":397,"duplicatedLines":397,"percentage":397},5,1148,{"format":394,"sources":662,"lines":1094,"clones":397,"duplicatedLines":397,"percentage":397},986,{"format":344,"sources":314,"lines":586,"clones":397,"duplicatedLines":397,"percentage":397},[1097,1110,1120,1133,1138,1149,1160,1171,1189,1202],{"format":358,"lines":883,"tokens":884,"copies":532,"first":1098,"others":1099,"excerpt":1108},{"name":886,"start":457,"end":887},[1100,1101,1102,1103,1104,1105,1106,1107],{"name":890,"start":457,"end":887},{"name":892,"start":457,"end":887},{"name":894,"start":457,"end":887},{"name":896,"start":457,"end":887},{"name":898,"start":457,"end":887},{"name":900,"start":457,"end":887},{"name":902,"start":457,"end":887},{"name":904,"start":457,"end":887},{"lines":1109,"total":883},[907,908,415,909,910,415,911,912,913,914],{"format":358,"lines":916,"tokens":917,"copies":255,"first":1111,"others":1112,"excerpt":1118},{"name":919,"start":314,"end":916},[1113,1114,1115,1116,1117],{"name":922,"start":314,"end":916},{"name":924,"start":314,"end":916},{"name":926,"start":314,"end":916},{"name":928,"start":314,"end":916},{"name":930,"start":314,"end":916},{"lines":1119,"total":916},[933,415,934,415,935,936,937,938,939,940],{"format":358,"lines":870,"tokens":488,"copies":942,"first":1121,"others":1122,"excerpt":1131},{"name":944,"start":674,"end":395},[1123,1124,1125,1126,1127,1128,1129,1130],{"name":947,"start":814,"end":681},{"name":949,"start":950,"end":469},{"name":952,"start":470,"end":953},{"name":955,"start":814,"end":681},{"name":957,"start":814,"end":681},{"name":959,"start":814,"end":681},{"name":961,"start":612,"end":593},{"name":961,"start":963,"end":964},{"lines":1132,"total":870},[967,968,969,970,971,972,973,974,975,976],{"format":358,"lines":978,"tokens":979,"copies":457,"first":1134,"others":1135},{"name":981,"start":314,"end":978},[1136,1137],{"name":984,"start":314,"end":978},{"name":986,"start":314,"end":978},{"format":358,"lines":425,"tokens":728,"copies":988,"first":1139,"others":1140},{"name":990,"start":728,"end":991},[1141,1142,1143,1144,1145,1146,1147,1148],{"name":947,"start":461,"end":994},{"name":947,"start":996,"end":997},{"name":952,"start":872,"end":999},{"name":952,"start":1001,"end":1002},{"name":952,"start":518,"end":1004},{"name":952,"start":1006,"end":1007},{"name":952,"start":1009,"end":766},{"name":952,"start":879,"end":1011},{"format":358,"lines":553,"tokens":495,"copies":472,"first":1150,"others":1151},{"name":990,"start":385,"end":726},[1152,1153,1154,1155,1156,1157,1158,1159],{"name":947,"start":381,"end":1016},{"name":952,"start":726,"end":1018},{"name":952,"start":1020,"end":1021},{"name":952,"start":840,"end":1023},{"name":955,"start":385,"end":726},{"name":957,"start":385,"end":726},{"name":959,"start":385,"end":726},{"name":961,"start":1028,"end":817},{"format":358,"lines":1040,"tokens":1001,"copies":543,"first":1161,"others":1162},{"name":944,"start":457,"end":483},[1163,1164,1165,1166,1167,1168,1169,1170],{"name":990,"start":457,"end":483},{"name":1045,"start":457,"end":483},{"name":947,"start":457,"end":483},{"name":949,"start":457,"end":483},{"name":952,"start":457,"end":483},{"name":955,"start":457,"end":483},{"name":957,"start":457,"end":483},{"name":959,"start":457,"end":483},{"format":358,"lines":1034,"tokens":1172,"copies":690,"first":1173,"others":1174},107,{"name":990,"start":379,"end":991},[1175,1176,1177,1178,1179,1181,1183,1187],{"name":949,"start":379,"end":991},{"name":955,"start":379,"end":991},{"name":957,"start":379,"end":991},{"name":959,"start":379,"end":991},{"name":1180,"start":379,"end":991},"mailchimp\u002Fagent-harness\u002Fcli_anything\u002Fmailchimp\u002Fcommands\u002Fconnected_sites.py",{"name":1182,"start":379,"end":991},"mailchimp\u002Fagent-harness\u002Fcli_anything\u002Fmailchimp\u002Fcommands\u002Fcontacts.py",{"name":1184,"start":1185,"end":1186},"mailchimp\u002Fagent-harness\u002Fcli_anything\u002Fmailchimp\u002Fcommands\u002Fecommerce.py",78,94,{"name":1184,"start":1188,"end":858},195,{"format":358,"lines":366,"tokens":1190,"copies":395,"first":1191,"others":1192},51,{"name":981,"start":314,"end":366},[1193,1195,1196,1197,1198,1199,1200,1201],{"name":1194,"start":314,"end":366},"QGIS\u002Fagent-harness\u002Fcli_anything\u002Fqgis\u002Futils\u002Frepl_skin.py",{"name":886,"start":314,"end":366},{"name":890,"start":314,"end":366},{"name":892,"start":314,"end":366},{"name":894,"start":314,"end":366},{"name":896,"start":314,"end":366},{"name":898,"start":314,"end":366},{"name":900,"start":314,"end":366},{"format":358,"lines":662,"tokens":293,"copies":361,"first":1203,"others":1206},{"name":952,"start":1204,"end":1205},206,217,[1207,1209,1210,1211,1213,1215,1216,1218],{"name":955,"start":481,"end":1208},99,{"name":957,"start":481,"end":1208},{"name":959,"start":481,"end":1208},{"name":961,"start":1002,"end":1212},125,{"name":961,"start":916,"end":1214},479,{"name":1180,"start":481,"end":1208},{"name":1184,"start":997,"end":1217},135,{"name":1184,"start":1219,"end":1220},243,254,{"files":314,"minified":397,"sample":1222},[1223],"mailchimp\u002Fagent-harness\u002Fcli_anything\u002Fmailchimp\u002Fcommands\u002F__init__.py",{"score":296,"grade":297,"size":1225,"dimensions":1229},{"lines":1226,"files":1227,"class":1228},301960,926,"L",[1230,1237,1244],{"id":706,"source":707,"value":1231,"adjusted":1232,"lines":1233,"halfLife":710,"formats":1234,"excluded":1235,"weight":314,"score":1236},19.2,19.1,57851,[358,852,371,394,869,344,878],[384,713],21.1,{"id":716,"source":707,"value":1238,"adjusted":1239,"lines":1240,"halfLife":719,"coverage":1241,"weight":1242,"score":1243},43.1,42.8,127373,97.9,0.979,1.9,{"id":724,"source":707,"value":1245,"adjusted":1246,"lines":1247,"halfLife":728,"weight":314,"score":1248},70.7,70.4,213564,37.7,{"total":1250,"mean":722,"files":1251},44186,[1252,1257,1262,1267,1271,1276,1281,1286,1291,1296],{"path":1253,"complexity":1254,"lines":1255,"bytes":1256},"mubu\u002Fagent-harness\u002Fmubu_probe.py",499,2265,84429,{"path":1258,"complexity":1259,"lines":1260,"bytes":1261},"cli-hub-matrix\u002Fvideo-creation\u002Fscripts\u002Fvideo_doctor.py",496,2580,99239,{"path":1263,"complexity":1264,"lines":1265,"bytes":1266},"freecad\u002Fagent-harness\u002Fcli_anything\u002Ffreecad\u002Ffreecad_cli.py",476,4911,191634,{"path":1268,"complexity":875,"lines":1269,"bytes":1270},"sbox\u002Fagent-harness\u002Fcli_anything\u002Fsbox\u002Fsbox_cli.py",2423,95750,{"path":1272,"complexity":1273,"lines":1274,"bytes":1275},"live2d\u002Fagent-harness\u002Fcli_anything\u002Flive2d\u002Flive2d_cli.py",438,2047,77399,{"path":1277,"complexity":1278,"lines":1279,"bytes":1280},"n8n\u002Fagent-harness\u002Fcli_anything\u002Fn8n\u002Fn8n_cli.py",432,2023,83284,{"path":1282,"complexity":1283,"lines":1284,"bytes":1285},"shotcut\u002Fagent-harness\u002Fcli_anything\u002Fshotcut\u002Ftests\u002Ftest_core.py",404,2005,96835,{"path":1287,"complexity":1288,"lines":1289,"bytes":1290},"mailchimp\u002Fagent-harness\u002Fcli_anything\u002Fmailchimp\u002Fcommands\u002Flists.py",356,1758,96738,{"path":1292,"complexity":1293,"lines":1294,"bytes":1295},"slay_the_spire_ii\u002Fagent-harness\u002Fbridge\u002Fplugin\u002FBridgeMod.Formatting.cs",353,868,40931,{"path":1184,"complexity":1297,"lines":1298,"bytes":1299},317,1518,78672,{"percentage":1301,"findings":1302,"files":1303,"byCategory":1304,"largest":1313},43.07,665,1209,[1305,1307,1309,1312],{"category":788,"count":1306},458,{"category":1308,"count":1091},"unused-export",{"category":1310,"count":1311},"unused-symbol",117,{"category":790,"count":988},[1314,1317,1318,1321,1324,1325,1328,1331,1334,1337],{"category":788,"path":1315,"name":415,"line":314,"lines":1316},"freecad\u002Fagent-harness\u002Fcli_anything\u002Ffreecad\u002Fcore\u002Fbody.py",2151,{"category":788,"path":1287,"name":415,"line":314,"lines":1289},{"category":788,"path":1319,"name":415,"line":314,"lines":1320},"freecad\u002Fagent-harness\u002Fcli_anything\u002Ffreecad\u002Fcore\u002Fsketch.py",1708,{"category":788,"path":1322,"name":415,"line":314,"lines":1323},"freecad\u002Fagent-harness\u002Fcli_anything\u002Ffreecad\u002Fcore\u002Fparts.py",1614,{"category":788,"path":1184,"name":415,"line":314,"lines":1298},{"category":788,"path":1326,"name":415,"line":314,"lines":1327},"renderdoc\u002Fagent-harness\u002Fcli_anything\u002Frenderdoc\u002Fcore\u002Fpipeline.py",1428,{"category":788,"path":1329,"name":415,"line":314,"lines":1330},"sbox\u002Fagent-harness\u002Fcli_anything\u002Fsbox\u002Fcore\u002Fscene.py",1407,{"category":788,"path":1332,"name":415,"line":314,"lines":1333},"freecad\u002Fagent-harness\u002Fcli_anything\u002Ffreecad\u002Fcore\u002Fdraft.py",1260,{"category":788,"path":1335,"name":415,"line":314,"lines":1336},"shotcut\u002Fagent-harness\u002Fcli_anything\u002Fshotcut\u002Fcore\u002Ffilters.py",1036,{"category":788,"path":1338,"name":415,"line":314,"lines":1339},"cloudcompare\u002Fagent-harness\u002Fcli_anything\u002Fcloudcompare\u002Futils\u002Fcc_backend.py",981,{"name":1341,"url":1342,"description":1343,"language":300,"stars":1344,"starsToday":1345,"defaultBranch":330,"headSha":1346,"durationMs":1347,"total":1348,"formats":1357,"topClones":1398,"code":1580,"health":1801,"complexity":1820,"deadCode":1871},"akitaonrails\u002Fai-memory","https:\u002F\u002Fgithub.com\u002Fakitaonrails\u002Fai-memory","Solution for long term memory for agent coding CLIs and to facilitate handoff between different agent vendors",10036,178,"995e35d5866973c3176709261e924a67e3c76158",3935,{"sources":1349,"lines":1350,"tokens":1351,"clones":1352,"duplicatedLines":1353,"duplicatedTokens":1354,"percentage":1355,"percentageTokens":1356},1129,604783,4010369,4667,58112,386940,9.61,9.65,[1358,1365,1370,1375,1379,1382,1385,1388,1392,1395],{"format":1359,"sources":1360,"lines":1361,"clones":1362,"duplicatedLines":1363,"percentage":1364},"rust",503,504362,4476,53918,10.69,{"format":351,"sources":1366,"lines":1367,"clones":864,"duplicatedLines":1368,"percentage":1369},172,57947,1746,3.01,{"format":1371,"sources":994,"lines":1372,"clones":345,"duplicatedLines":1373,"percentage":1374},"sql",3408,1160,34.04,{"format":394,"sources":635,"lines":1376,"clones":1377,"duplicatedLines":747,"percentage":1378},13655,38,5.31,{"format":399,"sources":1034,"lines":1380,"clones":425,"duplicatedLines":495,"percentage":1381},2358,3.56,{"format":365,"sources":527,"lines":1383,"clones":425,"duplicatedLines":1016,"percentage":1384},1912,5.02,{"format":344,"sources":674,"lines":1386,"clones":457,"duplicatedLines":455,"percentage":1387},8202,0.24,{"format":389,"sources":314,"lines":1389,"clones":457,"duplicatedLines":1390,"percentage":1391},284,273,96.13,{"format":358,"sources":425,"lines":1393,"clones":301,"duplicatedLines":549,"percentage":1394},2386,0.8,{"format":869,"sources":290,"lines":1396,"clones":301,"duplicatedLines":1088,"percentage":1397},1923,0.83,[1399,1442,1463,1480,1489,1500,1529,1541,1560,1569],{"format":1359,"lines":553,"tokens":368,"copies":505,"first":1400,"others":1404,"excerpt":1431},{"name":1401,"start":1402,"end":1403},"crates\u002Fai-memory-cli\u002Fsrc\u002Fcommands\u002Fserve.rs",6837,6847,[1405,1409,1412,1414,1418,1421,1424,1428],{"name":1406,"start":1407,"end":1408},"crates\u002Fai-memory-consolidate\u002Fsrc\u002Fauto_improve.rs",3029,3039,{"name":1406,"start":1410,"end":1411},3108,3118,{"name":1406,"start":1031,"end":1413},3214,{"name":1415,"start":1416,"end":1417},"crates\u002Fai-memory-consolidate\u002Ftests\u002Fsuite\u002Fbounded_session_load.rs",1549,1559,{"name":1415,"start":1419,"end":1420},1703,1713,{"name":1415,"start":1422,"end":1423},1892,1902,{"name":1425,"start":1426,"end":1427},"crates\u002Fai-memory-mcp\u002Fsrc\u002Fserver.rs",15589,15599,{"name":1429,"start":751,"end":1430},"crates\u002Fai-memory-store\u002Fsrc\u002Flib.rs",470,{"lines":1432,"total":553},[1433,1434,1435,1436,1437,1438,1439,1440,1441,1437],"async fn reranker_without_llm_provider_fails_server_setup() {","    let tmp = TempDir::new().unwrap();","    let store = Store::open(tmp.path()).unwrap();","    let ws = store","        .writer","        .get_or_create_workspace(\"default\")","        .await","        .unwrap();","    let proj = store",{"format":1359,"lines":814,"tokens":1443,"copies":301,"first":1444,"others":1447,"excerpt":1451},3970,{"name":1445,"start":1446,"end":329},"crates\u002Fai-memory-consolidate\u002Fsrc\u002Fconsolidator.rs",1288,[1448],{"name":1449,"start":1450,"end":1204},"crates\u002Fai-memory-consolidate\u002Fsrc\u002Fconsolidator_oracle.rs",97,{"lines":1452,"total":814},[1453,1454,1455,1456,1457,1458,1459,1460,1461,1462],") -> BatchRequestPlan {","    \u002F\u002F Stable prefix first so prefix-caching providers can reuse it across","    \u002F\u002F sessions of the same project: the fixed batch scaffolding (header +","    \u002F\u002F field schema) and the project instructions lead the message, then the","    \u002F\u002F per-project slot\u002Ftitle state, then the per-session id and the","    \u002F\u002F observation dump at the end. Budget math is unchanged — only the","    \u002F\u002F block order moved.","    let mut fixed_header = String::new();","    fixed_header.push_str(","        \"You are compiling a Karpathy-style multi-page wiki update. Given the \\",{"format":351,"lines":681,"tokens":1464,"copies":457,"first":1465,"others":1467,"excerpt":1472},1951,{"name":1466,"start":1091,"end":515},"crates\u002Fai-memory-core\u002Fsrc\u002Frouting_skills\u002Fai-memory-retrieval\u002FSKILL.md:markdown",[1468,1470],{"name":1469,"start":1091,"end":515},"plugins\u002Fclaude-code\u002Fskills\u002Fai-memory-retrieval\u002FSKILL.md:markdown",{"name":1471,"start":1091,"end":515},"plugins\u002Fcodex\u002Fskills\u002Fai-memory-retrieval\u002FSKILL.md:markdown",{"lines":1473,"total":681},[1474,415,1475,415,1476,415,1477,415,1478,1479],"\u003C!-- ai-memory-managed: routing-skill -->","# ai-memory retrieval","Use this skill for read-only ai-memory lookups, catch-up, and evaluating remembered project knowledge before you design, debug, or edit.","## Tools in this cluster","- `memory_query` searches the current project's wiki for prior decisions, gotchas, procedures, rules, and session notes.","- `memory_recent` lists the most recently updated pages when the user wants a light activity check.",{"format":351,"lines":501,"tokens":1481,"copies":457,"first":1482,"others":1484},1357,{"name":1483,"start":1091,"end":1016},"crates\u002Fai-memory-core\u002Fsrc\u002Frouting_skills\u002Fai-memory-durable-pages\u002FSKILL.md:markdown",[1485,1487],{"name":1486,"start":1091,"end":1016},"plugins\u002Fclaude-code\u002Fskills\u002Fai-memory-durable-pages\u002FSKILL.md:markdown",{"name":1488,"start":1091,"end":1016},"plugins\u002Fcodex\u002Fskills\u002Fai-memory-durable-pages\u002FSKILL.md:markdown",{"format":1359,"lines":1011,"tokens":1490,"copies":301,"first":1491,"others":1495},2379,{"name":1492,"start":1493,"end":1494},"crates\u002Fai-memory-consolidate\u002Fsrc\u002Fconsolidator_frozen_oracle.rs",977,1365,[1496],{"name":1497,"start":1498,"end":1499},"crates\u002Fai-memory-consolidate\u002Fsrc\u002Fprojection.rs",1599,1987,{"format":1359,"lines":444,"tokens":1501,"copies":1034,"first":1502,"others":1504},131,{"name":1401,"start":1402,"end":1503},6851,[1505,1508,1511,1514,1517,1520,1523,1526],{"name":1425,"start":1506,"end":1507},14458,14472,{"name":1425,"start":1509,"end":1510},14731,14745,{"name":1425,"start":1512,"end":1513},15119,15133,{"name":1425,"start":1515,"end":1516},15179,15193,{"name":1425,"start":1518,"end":1519},17317,17331,{"name":1425,"start":1521,"end":1522},17378,17392,{"name":1425,"start":1524,"end":1525},17504,17518,{"name":1425,"start":1527,"end":1528},17617,17631,{"format":1359,"lines":1530,"tokens":1531,"copies":301,"first":1532,"others":1536},314,2050,{"name":1533,"start":1534,"end":1535},"crates\u002Fai-memory-mcp\u002Ftests\u002Fsuite\u002Fmanagement.rs",489,802,[1537],{"name":1538,"start":1539,"end":1540},"crates\u002Fai-memory-mcp\u002Ftests\u002Fsuite\u002Fsession_management.rs",377,690,{"format":1371,"lines":1542,"tokens":1543,"copies":440,"first":1544,"others":1547},59,336,{"name":1545,"start":1034,"end":1546},"crates\u002Fai-memory-store\u002Fmigrations\u002FV44__sessions_hermes_agent_kind.sql",75,[1548,1550,1552,1554,1556,1558],{"name":1549,"start":444,"end":400},"crates\u002Fai-memory-store\u002Fmigrations\u002FV45__sessions_kiro_cli_agent_kind.sql",{"name":1551,"start":444,"end":400},"crates\u002Fai-memory-store\u002Fmigrations\u002FV47__sessions_command_code_agent_kind.sql",{"name":1553,"start":444,"end":400},"crates\u002Fai-memory-store\u002Fmigrations\u002FV50__sessions_pool_agent_kind.sql",{"name":1555,"start":444,"end":400},"crates\u002Fai-memory-store\u002Fmigrations\u002FV51__sessions_zcode_agent_kind.sql",{"name":1557,"start":444,"end":400},"crates\u002Fai-memory-store\u002Fmigrations\u002FV72__sessions_grizzybot_agent_kind.sql",{"name":1559,"start":444,"end":400},"crates\u002Fai-memory-store\u002Fmigrations\u002FV73__sessions_copilot_cli_agent_kind.sql",{"format":351,"lines":347,"tokens":1561,"copies":457,"first":1562,"others":1564},943,{"name":1563,"start":1091,"end":532},"crates\u002Fai-memory-core\u002Fsrc\u002Frouting_skills\u002Fai-memory-handoff\u002FSKILL.md:markdown",[1565,1567],{"name":1566,"start":1091,"end":532},"plugins\u002Fclaude-code\u002Fskills\u002Fai-memory-handoff\u002FSKILL.md:markdown",{"name":1568,"start":1091,"end":532},"plugins\u002Fcodex\u002Fskills\u002Fai-memory-handoff\u002FSKILL.md:markdown",{"format":351,"lines":1570,"tokens":1571,"copies":457,"first":1572,"others":1575},31,928,{"name":1573,"start":1091,"end":1574},"crates\u002Fai-memory-core\u002Fsrc\u002Frouting_skills\u002Fai-memory-messaging\u002FSKILL.md:markdown",35,[1576,1578],{"name":1577,"start":1091,"end":1574},"plugins\u002Fclaude-code\u002Fskills\u002Fai-memory-messaging\u002FSKILL.md:markdown",{"name":1579,"start":1091,"end":1574},"plugins\u002Fcodex\u002Fskills\u002Fai-memory-messaging\u002FSKILL.md:markdown",{"sources":1581,"lines":1582,"tokens":1583,"clones":1584,"duplicatedLines":1585,"duplicatedTokens":1586,"percentage":784,"percentageTokens":1587,"formats":1588,"topClones":1613,"generated":1797},483,425022,2496493,2829,34791,221107,8.86,[1589,1594,1599,1602,1605,1608,1610,1611],{"format":1359,"sources":1007,"lines":1590,"clones":1591,"duplicatedLines":1592,"percentage":1593},406668,2798,34109,8.39,{"format":394,"sources":1595,"lines":1596,"clones":690,"duplicatedLines":1597,"percentage":1598},118,9528,644,6.76,{"format":344,"sources":444,"lines":1600,"clones":301,"duplicatedLines":870,"percentage":1601},4716,0.28,{"format":869,"sources":457,"lines":1603,"clones":301,"duplicatedLines":1088,"percentage":1604},1613,0.99,{"format":878,"sources":455,"lines":1606,"clones":314,"duplicatedLines":425,"percentage":1607},2076,0.43,{"format":358,"sources":314,"lines":1609,"clones":397,"duplicatedLines":397,"percentage":397},220,{"format":562,"sources":314,"lines":563,"clones":397,"duplicatedLines":397,"percentage":397},{"format":371,"sources":314,"lines":1612,"clones":397,"duplicatedLines":397,"percentage":397},33,[1614,1620,1639,1653,1664,1673,1702,1731,1759,1787],{"format":1359,"lines":814,"tokens":1443,"copies":301,"first":1615,"others":1616,"excerpt":1618},{"name":1445,"start":1446,"end":329},[1617],{"name":1449,"start":1450,"end":1204},{"lines":1619,"total":814},[1453,1454,1455,1456,1457,1458,1459,1460,1461,1462],{"format":1359,"lines":553,"tokens":368,"copies":1621,"first":1622,"others":1623,"excerpt":1637},61,{"name":1401,"start":1402,"end":1403},[1624,1625,1626,1627,1628,1629,1632,1634],{"name":1406,"start":1407,"end":1408},{"name":1406,"start":1410,"end":1411},{"name":1406,"start":1031,"end":1413},{"name":1425,"start":1426,"end":1427},{"name":1429,"start":751,"end":1430},{"name":1429,"start":1630,"end":1631},566,576,{"name":1429,"start":1633,"end":355},641,{"name":1429,"start":1635,"end":1636},798,808,{"lines":1638,"total":553},[1433,1434,1435,1436,1437,1438,1439,1440,1441,1437],{"format":1359,"lines":1011,"tokens":1490,"copies":301,"first":1640,"others":1641,"excerpt":1643},{"name":1492,"start":1493,"end":1494},[1642],{"name":1497,"start":1498,"end":1499},{"lines":1644,"total":1011},[1645,598,415,1646,1647,1648,1649,1650,1651,1652],"    );","#[test]","fn body_truncation_marker_includes_omitted_chars_and_id() {","    let observations = vec![obs(","        0,","        ObservationKind::UserPrompt,","        \"prompt\",","        &\"x\".repeat(30),",{"format":1359,"lines":444,"tokens":1501,"copies":1034,"first":1654,"others":1655},{"name":1401,"start":1402,"end":1503},[1656,1657,1658,1659,1660,1661,1662,1663],{"name":1425,"start":1506,"end":1507},{"name":1425,"start":1509,"end":1510},{"name":1425,"start":1512,"end":1513},{"name":1425,"start":1515,"end":1516},{"name":1425,"start":1518,"end":1519},{"name":1425,"start":1521,"end":1522},{"name":1425,"start":1524,"end":1525},{"name":1425,"start":1527,"end":1528},{"format":1359,"lines":804,"tokens":1665,"copies":301,"first":1666,"others":1669},1393,{"name":1492,"start":1667,"end":1668},745,976,[1670],{"name":1497,"start":1671,"end":1672},1280,1511,{"format":1359,"lines":662,"tokens":506,"copies":1034,"first":1674,"others":1676},{"name":1675,"start":997,"end":1217},"crates\u002Fai-memory-cli\u002Fsrc\u002Fcommands\u002Freindex.rs",[1677,1681,1684,1687,1690,1693,1696,1699],{"name":1678,"start":1679,"end":1680},"crates\u002Fai-memory-consolidate\u002Fsrc\u002Fcurator.rs",855,866,{"name":1425,"start":1682,"end":1683},7605,7616,{"name":1425,"start":1685,"end":1686},8142,8153,{"name":1425,"start":1688,"end":1689},10675,10686,{"name":1425,"start":1691,"end":1692},10871,10882,{"name":1425,"start":1694,"end":1695},10998,11009,{"name":1425,"start":1697,"end":1698},11025,11036,{"name":1425,"start":1700,"end":1701},11712,11723,{"format":1359,"lines":255,"tokens":942,"copies":372,"first":1703,"others":1706},{"name":1401,"start":1704,"end":1705},5572,5577,[1707,1711,1713,1716,1719,1722,1725,1728],{"name":1708,"start":1709,"end":1710},"crates\u002Fai-memory-mcp\u002Fsrc\u002Fadmin.rs",9471,9476,{"name":1708,"start":1596,"end":1712},9533,{"name":1708,"start":1714,"end":1715},10793,10798,{"name":1708,"start":1717,"end":1718},11540,11545,{"name":1708,"start":1720,"end":1721},11660,11665,{"name":1708,"start":1723,"end":1724},12250,12255,{"name":1708,"start":1726,"end":1727},12351,12356,{"name":1708,"start":1729,"end":1730},12546,12551,{"format":1359,"lines":255,"tokens":1732,"copies":870,"first":1733,"others":1736},80,{"name":1734,"start":879,"end":1735},"crates\u002Fai-memory-store\u002Fsrc\u002Fmigrations.rs",386,[1737,1740,1743,1746,1749,1750,1753,1756],{"name":1734,"start":1738,"end":1739},462,467,{"name":1734,"start":1741,"end":1742},531,536,{"name":1734,"start":1744,"end":1745},616,621,{"name":1734,"start":1747,"end":1748},689,694,{"name":1734,"start":1071,"end":1066},{"name":1734,"start":1751,"end":1752},835,840,{"name":1734,"start":1754,"end":1755},903,908,{"name":1734,"start":1757,"end":1758},1004,1009,{"format":1359,"lines":662,"tokens":872,"copies":1034,"first":1760,"others":1763},{"name":1429,"start":1761,"end":1762},461,472,[1764,1766,1769,1772,1775,1778,1781,1784],{"name":1429,"start":887,"end":1765},578,{"name":1429,"start":1767,"end":1768},642,653,{"name":1429,"start":1770,"end":1771},799,810,{"name":1429,"start":1773,"end":1774},914,925,{"name":1429,"start":1776,"end":1777},952,963,{"name":1429,"start":1779,"end":1780},1006,1017,{"name":1429,"start":1782,"end":1783},1084,1095,{"name":1429,"start":1785,"end":1786},1141,1152,{"format":1359,"lines":510,"tokens":1788,"copies":301,"first":1789,"others":1793},930,{"name":1790,"start":1791,"end":1792},"crates\u002Fai-memory-cli\u002Fsrc\u002Fcommands\u002Finstall_hooks.rs",4901,5033,[1794],{"name":1790,"start":1795,"end":1796},5684,5816,{"files":301,"minified":397,"sample":1798},[1799,1800],"crates\u002Fai-memory-cli\u002Fsrc\u002Fcommands\u002Finit.rs","crates\u002Fai-memory-store\u002Fmigrations\u002FV14__users.sql",{"score":1802,"grade":297,"size":1803,"dimensions":1806,"skipped":1817},37.8,{"lines":1804,"files":1805,"class":1228},534502,766,[1807,1812],{"id":706,"source":707,"value":1808,"adjusted":1808,"lines":1809,"halfLife":710,"formats":1810,"excluded":1811,"weight":314,"score":1239},10.4,55815,[1359,394,344,1371,358,878,869,371,562],[365,384,713],{"id":724,"source":707,"value":1813,"adjusted":1814,"lines":1815,"halfLife":728,"weight":314,"score":1816},79.5,79.3,424810,33.3,[1818],{"id":716,"reason":1819},"the languages dead code reads are under 5% of the code",{"total":1821,"mean":1822,"files":1823},53707,70.1,[1824,1829,1834,1838,1842,1847,1852,1857,1862,1866],{"path":1825,"complexity":1826,"lines":1827,"bytes":1828},"crates\u002Fai-memory-store\u002Fsrc\u002Freader.rs",2707,14846,604047,{"path":1830,"complexity":1831,"lines":1832,"bytes":1833},"crates\u002Fai-memory-store\u002Fsrc\u002Fops.rs",2606,17612,698189,{"path":1790,"complexity":1835,"lines":1836,"bytes":1837},1715,15931,637063,{"path":1425,"complexity":1839,"lines":1840,"bytes":1841},1378,20918,847286,{"path":1843,"complexity":1844,"lines":1845,"bytes":1846},"crates\u002Fai-memory-cli\u002Fsrc\u002Fcommands\u002Frender_shared.rs",1371,4940,302981,{"path":1848,"complexity":1849,"lines":1850,"bytes":1851},"crates\u002Fai-memory-hooks\u002Fsrc\u002Fcapture_policy.rs",1177,7962,313550,{"path":1853,"complexity":1854,"lines":1855,"bytes":1856},"crates\u002Fai-memory-hooks\u002Fsrc\u002Frouter.rs",1158,20809,794362,{"path":1858,"complexity":1859,"lines":1860,"bytes":1861},"crates\u002Fai-memory-workstream\u002Fsrc\u002Ftranscript.rs",1143,9477,357716,{"path":1708,"complexity":1863,"lines":1864,"bytes":1865},1047,15944,612476,{"path":1867,"complexity":1868,"lines":1869,"bytes":1870},"crates\u002Fai-memory-cli\u002Fsrc\u002Fcommands\u002Frun.rs",1010,10395,394536,{"percentage":1872,"findings":301,"files":728,"byCategory":1873,"largest":1875},0.38,[1874],{"category":788,"count":301},[1876,1878],{"category":788,"path":1877,"name":415,"line":314,"lines":1612},"crates\u002Fai-memory-web\u002Fstatic\u002Fmanagement\u002Ftheme.js",{"category":788,"path":1879,"name":415,"line":314,"lines":290},"companions\u002Fai-memory-desktop\u002Fui\u002Fapp.js",{"name":1881,"url":1882,"description":415,"language":313,"stars":1883,"starsToday":1884,"defaultBranch":330,"headSha":1885,"durationMs":1886,"total":1887,"formats":1892,"topClones":1926,"code":2116,"health":2222,"complexity":2241,"deadCode":2279},"android\u002Fskills","https:\u002F\u002Fgithub.com\u002Fandroid\u002Fskills",8494,355,"5bda39f154fb859a08d45e2392f3568e049f83fb",1379,{"sources":1888,"lines":316,"tokens":1889,"clones":315,"duplicatedLines":317,"duplicatedTokens":1890,"percentage":318,"percentageTokens":1891},607,1159629,221898,19.14,[1893,1898,1903,1909,1913,1917,1919,1921,1923,1924],{"format":351,"sources":1035,"lines":1894,"clones":1895,"duplicatedLines":1896,"percentage":1897},75433,405,12114,16.06,{"format":384,"sources":1185,"lines":1899,"clones":1900,"duplicatedLines":1901,"percentage":1902},12400,334,4149,33.46,{"format":1904,"sources":681,"lines":1905,"clones":1906,"duplicatedLines":1907,"percentage":1908},"kotlin",19181,291,3104,16.18,{"format":365,"sources":460,"lines":1910,"clones":1040,"duplicatedLines":1911,"percentage":1912},995,384,38.59,{"format":1914,"sources":1091,"lines":1915,"clones":457,"duplicatedLines":728,"percentage":1916},"java",308,16.23,{"format":358,"sources":255,"lines":1918,"clones":397,"duplicatedLines":397,"percentage":397},3444,{"format":378,"sources":440,"lines":1920,"clones":397,"duplicatedLines":397,"percentage":397},1461,{"format":399,"sources":1922,"lines":795,"clones":397,"duplicatedLines":397,"percentage":397},32,{"format":394,"sources":425,"lines":1748,"clones":397,"duplicatedLines":397,"percentage":397},{"format":389,"sources":314,"lines":1925,"clones":397,"duplicatedLines":397,"percentage":397},202,[1927,1957,1984,2016,2036,2048,2060,2070,2078,2095],{"format":384,"lines":1034,"tokens":741,"copies":527,"first":1928,"others":1930,"excerpt":1947},{"name":1929,"start":301,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Ffoundation\u002FPagerSamples.kt.md:text",[1931,1933,1935,1937,1939,1941,1943,1945],{"name":1932,"start":301,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FAlertDialogSample.kt.md:text",{"name":1934,"start":301,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FAnimatedTextSample.kt.md:text",{"name":1936,"start":301,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FButtonGroupSample.kt.md:text",{"name":1938,"start":301,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FCheckboxButtonSample.kt.md:text",{"name":1940,"start":301,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FConfirmationDialogSample.kt.md:text",{"name":1942,"start":301,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FCurvedTextSamples.kt.md:text",{"name":1944,"start":301,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FDatePickerSample.kt.md:text",{"name":1946,"start":301,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FEdgeButtonSample.kt.md:text",{"lines":1948,"total":1034},[1949,1950,1951,1952,1953,1954,1951,1955,1951,1956],"\u002F*"," * Copyright 2024 The Android Open Source Project"," *"," * Licensed under the Apache License, Version 2.0 (the \"License\");"," * you may not use this file except in compliance with the License."," * You may obtain a copy of the License at"," *      http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0"," * Unless required by applicable law or agreed to in writing, software",{"format":384,"lines":444,"tokens":1958,"copies":1088,"first":1959,"others":1961,"excerpt":1980},598,{"name":1960,"start":634,"end":674},"jetpack-compose\u002Fadaptive\u002Freferences\u002Fandroid\u002Fguide\u002Fnavigation\u002Fnavigation-3\u002Frecipes\u002Fmaterial-listdetail.md:text",[1962,1964,1966,1968,1971,1974,1976,1978],{"name":1963,"start":1034,"end":1570},"navigation\u002Fnavigation-3\u002Freferences\u002Fandroid\u002Fguide\u002Fnavigation\u002Fnavigation-3\u002Frecipes\u002Fbasic.md:text",{"name":1965,"start":1034,"end":1570},"navigation\u002Fnavigation-3\u002Freferences\u002Fandroid\u002Fguide\u002Fnavigation\u002Fnavigation-3\u002Frecipes\u002Fbasicdsl.md:text",{"name":1967,"start":444,"end":609},"navigation\u002Fnavigation-3\u002Freferences\u002Fandroid\u002Fguide\u002Fnavigation\u002Fnavigation-3\u002Frecipes\u002Fbasicsaveable.md:text",{"name":1969,"start":1970,"end":1574},"navigation\u002Fnavigation-3\u002Freferences\u002Fandroid\u002Fguide\u002Fnavigation\u002Fnavigation-3\u002Frecipes\u002Fbottomsheet.md:text",21,{"name":1972,"start":361,"end":1973},"navigation\u002Fnavigation-3\u002Freferences\u002Fandroid\u002Fguide\u002Fnavigation\u002Fnavigation-3\u002Frecipes\u002Fcommon-ui.md:text",48,{"name":1975,"start":483,"end":354},"navigation\u002Fnavigation-3\u002Freferences\u002Fandroid\u002Fguide\u002Fnavigation\u002Fnavigation-3\u002Frecipes\u002Fconditional.md:text",{"name":1975,"start":810,"end":1977},196,{"name":1979,"start":1970,"end":1574},"navigation\u002Fnavigation-3\u002Freferences\u002Fandroid\u002Fguide\u002Fnavigation\u002Fnavigation-3\u002Frecipes\u002Fdialog.md:text",{"lines":1981,"total":444},[1949,1982,1951,1952,1953,1954,1951,1983,1951,1956]," * Copyright 2025 The Android Open Source Project"," *     http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0",{"format":1904,"lines":553,"tokens":1985,"copies":549,"first":1986,"others":1988,"excerpt":2005},413,{"name":1987,"start":255,"end":1088},"system\u002Fglance-canonical-layouts\u002Freferences\u002FActionDemonstrationActivity.kt",[1989,1991,1993,1995,1997,1999,2001,2003],{"name":1990,"start":553,"end":527},"xr\u002Fdisplay-glasses-with-jetpack-compose-glimmer\u002Freferences\u002Fbutton-samples-source.md:kotlin",{"name":1992,"start":553,"end":527},"xr\u002Fdisplay-glasses-with-jetpack-compose-glimmer\u002Freferences\u002Fbutton-source.md:kotlin",{"name":1994,"start":553,"end":527},"xr\u002Fdisplay-glasses-with-jetpack-compose-glimmer\u002Freferences\u002Fcard-samples-source.md:kotlin",{"name":1996,"start":553,"end":527},"xr\u002Fdisplay-glasses-with-jetpack-compose-glimmer\u002Freferences\u002Fcard-source.md:kotlin",{"name":1998,"start":553,"end":527},"xr\u002Fdisplay-glasses-with-jetpack-compose-glimmer\u002Freferences\u002Fdeptheffect-source.md:kotlin",{"name":2000,"start":553,"end":527},"xr\u002Fdisplay-glasses-with-jetpack-compose-glimmer\u002Freferences\u002Fdeptheffectlevels-source.md:kotlin",{"name":2002,"start":553,"end":527},"xr\u002Fdisplay-glasses-with-jetpack-compose-glimmer\u002Freferences\u002Fglimmertheme-source.md:kotlin",{"name":2004,"start":553,"end":527},"xr\u002Fdisplay-glasses-with-jetpack-compose-glimmer\u002Freferences\u002Ficon-source.md:kotlin",{"lines":2006,"total":553},[2007,2008,2009,2008,2010,2011,2012,2013,2014,2015],"* You may obtain a copy of the License at","*","*      http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0","* Unless required by applicable law or agreed to in writing, software","* distributed under the License is distributed on an \"AS IS\" BASIS,","* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.","* See the License for the specific language governing permissions and","* limitations under the License.","*\u002F",{"format":384,"lines":1034,"tokens":741,"copies":870,"first":2017,"others":2019},{"name":2018,"start":301,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Ffoundation\u002FExpandableSample.kt.md:text",[2020,2022,2024,2026,2028,2030,2032,2034],{"name":2021,"start":301,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FButtonSample.kt.md:text",{"name":2023,"start":301,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FCardSample.kt.md:text",{"name":2025,"start":301,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FIconButtonSample.kt.md:text",{"name":2027,"start":301,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FIconToggleButtonSample.kt.md:text",{"name":2029,"start":301,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FListHeaderSample.kt.md:text",{"name":2031,"start":301,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FRadioButtonSample.kt.md:text",{"name":2033,"start":301,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FSliderSample.kt.md:text",{"name":2035,"start":301,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FStepperSample.kt.md:text",{"format":1904,"lines":290,"tokens":352,"copies":549,"first":2037,"others":2039},{"name":2038,"start":314,"end":290},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftoolbars\u002Flayout\u002FExpressiveToolbarLayout.kt",[2040,2041,2042,2043,2044,2045,2046,2047],{"name":1990,"start":255,"end":870},{"name":1992,"start":255,"end":870},{"name":1994,"start":255,"end":870},{"name":1996,"start":255,"end":870},{"name":1998,"start":255,"end":870},{"name":2000,"start":255,"end":870},{"name":2002,"start":255,"end":870},{"name":2004,"start":255,"end":870},{"format":351,"lines":2049,"tokens":2050,"copies":301,"first":2051,"others":2055},614,4074,{"name":2052,"start":2053,"end":2054},"play\u002Fengage-sdk-integration\u002Freferences\u002Fandroid\u002Fguide\u002Fplaycore\u002Fengage\u002Fhealthandfitness.md:markdown",465,1078,[2056],{"name":2057,"start":2058,"end":2059},"play\u002Fengage-sdk-integration\u002Freferences\u002Fandroid\u002Fguide\u002Fplaycore\u002Fengage\u002Fotherverticals.md:markdown",702,1314,{"format":351,"lines":2061,"tokens":2062,"copies":301,"first":2063,"others":2065},571,3767,{"name":2052,"start":2064,"end":2054},508,[2066],{"name":2067,"start":2068,"end":2069},"play\u002Fengage-sdk-integration\u002Freferences\u002Fandroid\u002Fguide\u002Fplaycore\u002Fengage\u002Fwatch.md:markdown",534,1105,{"format":351,"lines":2071,"tokens":2072,"copies":301,"first":2073,"others":2075},327,3653,{"name":2074,"start":314,"end":2071},"identity\u002Frestore-credentials\u002Freferences\u002Fandroid\u002Fidentity\u002Fpasskeys\u002Fcreate-passkeys.md:markdown",[2076],{"name":2077,"start":314,"end":2071},"identity\u002Fverified-email\u002Freferences\u002Fandroid\u002Fidentity\u002Fpasskeys\u002Fcreate-passkeys.md:markdown",{"format":351,"lines":2079,"tokens":2080,"copies":374,"first":2081,"others":2085},181,1139,{"name":2082,"start":2083,"end":2084},"play\u002Fengage-sdk-integration\u002Freferences\u002Fandroid\u002Fguide\u002Fplaycore\u002Fengage\u002Ffood.md:markdown",652,832,[2086,2088,2091],{"name":2052,"start":2087,"end":1535},623,{"name":2089,"start":2090,"end":1752},"play\u002Fengage-sdk-integration\u002Freferences\u002Fandroid\u002Fguide\u002Fplaycore\u002Fengage\u002Fshopping.md:markdown",660,{"name":2092,"start":2093,"end":2094},"play\u002Fengage-sdk-integration\u002Freferences\u002Fandroid\u002Fguide\u002Fplaycore\u002Fengage\u002Ftravel.md:markdown",936,1115,{"format":384,"lines":662,"tokens":2096,"copies":425,"first":2097,"others":2099},419,{"name":2098,"start":440,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Ffoundation\u002FAmbientModeSample.kt.md:text",[2100,2102,2104,2106,2108,2110,2112,2114],{"name":2101,"start":440,"end":1034},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FDynamicColorSchemeSample.kt.md:text",{"name":2103,"start":440,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FFadingExpandingLabelSample.kt.md:text",{"name":2105,"start":440,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FLevelIndicatorSample.kt.md:text",{"name":2107,"start":440,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FOneHandedGestureSamples.kt.md:text",{"name":2109,"start":440,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FSurfaceTransformationSample.kt.md:text",{"name":2111,"start":440,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FTransformationSpecSample.kt.md:text",{"name":2113,"start":440,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fmaterial3\u002FTransformingLazyColumnNotificationsSample.kt.md:text",{"name":2115,"start":440,"end":372},"wear\u002Fwear-compose-m3\u002Freferences\u002Fnavigation3\u002FSwipeDismissableSceneStrategySample.kt.md:text",{"sources":1621,"lines":2117,"tokens":2118,"clones":679,"duplicatedLines":2119,"duplicatedTokens":2120,"percentage":2121,"percentageTokens":2122,"formats":2123,"topClones":2130,"generated":2220},12211,112081,1475,24910,12.08,22.22,[2124,2127,2128,2129],{"format":1904,"sources":347,"lines":2125,"clones":679,"duplicatedLines":2119,"percentage":2126},7905,18.66,{"format":358,"sources":255,"lines":1918,"clones":397,"duplicatedLines":397,"percentage":397},{"format":394,"sources":425,"lines":1748,"clones":397,"duplicatedLines":397,"percentage":397},{"format":562,"sources":314,"lines":563,"clones":397,"duplicatedLines":397,"percentage":397},[2131,2146,2159,2172,2184,2191,2198,2204,2210,2215],{"format":1904,"lines":1088,"tokens":2132,"copies":1091,"first":2133,"others":2135,"excerpt":2144},615,{"name":2134,"start":314,"end":1088},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftoolbars\u002FSearchToolBarAppWidget.kt",[2136,2138,2140,2142],{"name":2137,"start":314,"end":1088},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftoolbars\u002Flayout\u002FButtons.kt",{"name":2139,"start":314,"end":1088},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftoolbars\u002Flayout\u002FLayoutComponents.kt",{"name":2141,"start":314,"end":1088},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftoolbars\u002Flayout\u002FSearchToolBarLayout.kt",{"name":2143,"start":314,"end":1088},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftoolbars\u002Flayout\u002FToolBarLayout.kt",{"lines":2145,"total":1088},[1949,1950,1951,1952,1953,1954,1951,1955,1951,1956],{"format":1904,"lines":1088,"tokens":2147,"copies":374,"first":2148,"others":2149,"excerpt":2156},613,{"name":1987,"start":314,"end":1088},[2150,2152,2154],{"name":2151,"start":314,"end":1088},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftext\u002FLongTextAppWidget.kt",{"name":2153,"start":314,"end":1088},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftext\u002FTextWithImageAppWidget.kt",{"name":2155,"start":314,"end":1088},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftext\u002Flayout\u002FLongTextLayout.kt",{"lines":2157,"total":1088},[1949,2158,1951,1952,1953,1954,1951,1955,1951,1956]," * Copyright 2023 The Android Open Source Project",{"format":1904,"lines":1034,"tokens":2147,"copies":374,"first":2160,"others":2162,"excerpt":2169},{"name":2161,"start":314,"end":1034},"system\u002Fglance-canonical-layouts\u002Freferences\u002FCanonicalLayoutActivity.kt",[2163,2165,2167],{"name":2164,"start":314,"end":1034},"system\u002Fglance-canonical-layouts\u002Freferences\u002Fcollections\u002Fdata\u002FFakeImageGridDataRepository.kt",{"name":2166,"start":314,"end":1034},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftext\u002Flayout\u002FFullBleedImageLayout.kt",{"name":2168,"start":314,"end":1034},"system\u002Fglance-canonical-layouts\u002Freferences\u002Futils\u002FFontUtils.kt",{"lines":2170,"total":1034},[1949,2171,1951,1952,1953,1954,1951,1955,1951,1956]," * Copyright 2026 The Android Open Source Project",{"format":1904,"lines":662,"tokens":2173,"copies":1091,"first":2174,"others":2176},426,{"name":2175,"start":255,"end":1034},"system\u002Fglance-canonical-layouts\u002Freferences\u002FCollectionsKtx.kt",[2177,2179,2181,2182],{"name":2178,"start":255,"end":1034},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftoolbars\u002FExpressiveToolbarAppWidget.kt",{"name":2180,"start":255,"end":1034},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftoolbars\u002FToolBarAppWidget.kt",{"name":2038,"start":255,"end":1034},{"name":2183,"start":255,"end":1034},"system\u002Fglance-canonical-layouts\u002Freferences\u002Futils\u002FPreviewAnnotations.kt",{"format":1904,"lines":288,"tokens":2185,"copies":301,"first":2186,"others":2188},1062,{"name":2187,"start":400,"end":381},"system\u002Fglance-canonical-layouts\u002Freferences\u002Fcollections\u002Flayout\u002FActionListLayout.kt",[2189],{"name":2190,"start":395,"end":864},"system\u002Fglance-canonical-layouts\u002Freferences\u002Fcollections\u002Flayout\u002FCheckListLayout.kt",{"format":1904,"lines":290,"tokens":352,"copies":1091,"first":2192,"others":2193},{"name":1987,"start":314,"end":290},[2194,2195,2196,2197],{"name":2175,"start":314,"end":290},{"name":2178,"start":314,"end":290},{"name":2180,"start":314,"end":290},{"name":2183,"start":314,"end":290},{"format":1904,"lines":662,"tokens":2199,"copies":301,"first":2200,"others":2202},769,{"name":2201,"start":1621,"end":293},"system\u002Fglance-canonical-layouts\u002Freferences\u002Fcollections\u002Flayout\u002FImageGridLayout.kt",[2203],{"name":2155,"start":465,"end":999},{"format":1904,"lines":425,"tokens":2205,"copies":301,"first":2206,"others":2207},657,{"name":2201,"start":505,"end":293},[2208],{"name":2209,"start":950,"end":726},"system\u002Fglance-canonical-layouts\u002Freferences\u002Fcollections\u002Flayout\u002FImageTextListLayout.kt",{"format":1904,"lines":1034,"tokens":2211,"copies":301,"first":2212,"others":2213},596,{"name":1987,"start":301,"end":372},[2214],{"name":2161,"start":301,"end":549},{"format":1904,"lines":444,"tokens":2216,"copies":301,"first":2217,"others":2218},595,{"name":1987,"start":301,"end":1088},[2219],{"name":2134,"start":301,"end":1088},{"files":397,"minified":397,"sample":2221},[],{"score":2223,"grade":700,"size":2224,"dimensions":2225},52.3,{"lines":2117,"files":1621,"class":703},[2226,2233,2238],{"id":706,"source":707,"value":2227,"adjusted":2228,"lines":2229,"halfLife":710,"formats":2230,"excluded":2231,"weight":314,"score":2232},15.1,13.5,1849,[1904,358,394,562],[365,384,713],33.2,{"id":716,"source":707,"value":397,"adjusted":2234,"lines":397,"halfLife":719,"coverage":2235,"weight":2236,"score":2237},1.1,28.2,0.282,90,{"id":724,"source":707,"value":2239,"adjusted":483,"lines":2240,"halfLife":728,"weight":314,"score":1245},25.6,3131,{"total":1854,"mean":549,"files":2242},[2243,2248,2253,2257,2261,2264,2268,2272,2274,2276],{"path":2244,"complexity":2245,"lines":2246,"bytes":2247},"play\u002Fplay-policy-insights\u002Fscripts\u002Forchestrator.py",287,1341,46010,{"path":2249,"complexity":2250,"lines":2251,"bytes":2252},"play\u002Fplay-policy-insights\u002Fscripts\u002Fgenerate_report.py",185,876,28402,{"path":2254,"complexity":1028,"lines":2255,"bytes":2256},"play\u002Fplay-policy-insights\u002Fscripts\u002Fplay_store_scraper.py",410,12303,{"path":2258,"complexity":1542,"lines":2259,"bytes":2260},"play\u002Fplay-policy-insights\u002Fscripts\u002Fscanner.py",261,9055,{"path":2262,"complexity":395,"lines":1219,"bytes":2263},"play\u002Fplay-policy-insights\u002Fscripts\u002Ftemplate_engine.py",7129,{"path":2187,"complexity":2265,"lines":2266,"bytes":2267},36,560,20141,{"path":2269,"complexity":361,"lines":2270,"bytes":2271},"system\u002Fglance-canonical-layouts\u002Freferences\u002Ftext\u002Flayout\u002FTextWithImageLayout.kt",520,17290,{"path":2209,"complexity":634,"lines":617,"bytes":2273},17444,{"path":2190,"complexity":690,"lines":1738,"bytes":2275},17067,{"path":2143,"complexity":483,"lines":2277,"bytes":2278},455,16248,{"percentage":397,"findings":397,"files":255,"byCategory":2280,"largest":2281},[],[],{"name":271,"url":2283,"description":2284,"language":320,"stars":2285,"starsToday":2286,"defaultBranch":330,"headSha":2287,"durationMs":2288,"total":2289,"formats":2293,"topClones":2327,"code":2473,"health":2581,"complexity":2599,"deadCode":2643},"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code","Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.",151915,179,"dd6bee38458cc3e6dc5f2b16eca1f0f364619ad8",1990,{"sources":2290,"lines":321,"tokens":2291,"clones":272,"duplicatedLines":322,"duplicatedTokens":2292,"percentage":273,"percentageTokens":356},733,665754,9843,[2294,2299,2304,2307,2310,2315,2319,2322,2324,2325],{"format":344,"sources":2295,"lines":2296,"clones":720,"duplicatedLines":2297,"percentage":2298},416,36470,1028,2.82,{"format":351,"sources":2300,"lines":2301,"clones":870,"duplicatedLines":2302,"percentage":2303},109,37336,251,0.67,{"format":358,"sources":372,"lines":2305,"clones":553,"duplicatedLines":2306,"percentage":2298},7910,223,{"format":399,"sources":728,"lines":2308,"clones":457,"duplicatedLines":379,"percentage":2309},1682,2.5,{"format":2311,"sources":290,"lines":2312,"clones":457,"duplicatedLines":2313,"percentage":2314},"hcl",1387,24,1.73,{"format":394,"sources":2316,"lines":2317,"clones":314,"duplicatedLines":440,"percentage":2318},47,5597,0.13,{"format":384,"sources":1922,"lines":2320,"clones":314,"duplicatedLines":366,"percentage":2321},1145,0.87,{"format":365,"sources":301,"lines":2323,"clones":397,"duplicatedLines":397,"percentage":397},2003,{"format":378,"sources":634,"lines":767,"clones":397,"duplicatedLines":397,"percentage":397},{"format":559,"sources":1970,"lines":2326,"clones":397,"duplicatedLines":397,"percentage":397},1206,[2328,2334,2372,2395,2411,2425,2432,2440,2453,2466],{"format":351,"lines":421,"tokens":422,"copies":301,"first":2329,"others":2330,"excerpt":2332},{"name":424,"start":425,"end":426},[2331],{"name":429,"start":425,"end":426},{"lines":2333,"total":421},[432,415,433,415,434,435,436,437,415,438],{"format":344,"lines":290,"tokens":2335,"copies":290,"first":2336,"others":2340,"excerpt":2360,"excerptSecond":2368},56,{"name":2337,"start":2338,"end":2339},"mods\u002Fsec-default\u002Ftests\u002Fregister.test.ts",676,683,[2341,2344,2347,2350,2352,2355,2357],{"name":2337,"start":2342,"end":2343},778,785,{"name":2337,"start":2345,"end":2346},796,803,{"name":2337,"start":2348,"end":2349},814,821,{"name":2337,"start":2084,"end":2351},839,{"name":2337,"start":2353,"end":2354},863,870,{"name":2337,"start":2356,"end":1757},997,{"name":2337,"start":2358,"end":2359},1012,1019,{"lines":2361,"total":290},[2362,2363,2364,2365,415,2366,415,2367],"'a deny rule holds over an allow from a plugin the person installed',","{ plugins: [Fixtures.allowing('easy')] },","async ($, on) => {","  on('settings.read', () => ({ value: Fixtures.MANAGED_POLICY }))","  const lines = Fixtures.logged(on)","  Fixtures.checksAnswered(on, Fixtures.RULE_DENY)",{"lines":2369,"total":290},[2370,2363,2364,2365,415,2366,415,2371],"'an ask rule holds over an allow from a plugin the person installed',","  Fixtures.checksAnswered(on, Fixtures.RULE_ASK)",{"format":344,"lines":662,"tokens":293,"copies":1091,"first":2373,"others":2376,"excerpt":2388},{"name":2337,"start":2374,"end":2375},2288,2299,[2377,2380,2383,2385],{"name":2337,"start":2378,"end":2379},2314,2325,{"name":2337,"start":2381,"end":2382},2342,2353,{"name":2337,"start":2384,"end":1490},2368,{"name":2337,"start":2386,"end":2387},2393,2404,{"lines":2389,"total":662},[2390,2391,2392,2364,2365,415,2366,2393,415,2394],"    Fixtures.settingLdPreload('bundled', 'builtin'),","  ],","},","  const set = Fixtures.variablesSet(on)","  await $.session.start(Fixtures.SESSION)",{"format":344,"lines":553,"tokens":950,"copies":1091,"first":2396,"others":2399},{"name":2337,"start":2397,"end":2398},677,687,[2400,2402,2405,2408],{"name":2337,"start":2401,"end":692},697,{"name":2337,"start":2403,"end":2404},947,957,{"name":2337,"start":2406,"end":2407},1031,1041,{"name":2337,"start":2409,"end":2410},1272,1282,{"format":344,"lines":366,"tokens":728,"copies":255,"first":2412,"others":2414},{"name":2413,"start":553,"end":455},"mods\u002Fsec-default\u002Ftests\u002Ffixtures\u002Frepointing-settings.ts",[2415,2417,2419,2421,2423],{"name":2416,"start":870,"end":527},"mods\u002Fsec-default\u002Ftests\u002Ffixtures\u002Fsetting-bash-env.ts",{"name":2418,"start":870,"end":527},"mods\u002Fsec-default\u002Ftests\u002Ffixtures\u002Fsetting-dyld-insert.ts",{"name":2420,"start":870,"end":527},"mods\u002Fsec-default\u002Ftests\u002Ffixtures\u002Fsetting-ld-preload.ts",{"name":2422,"start":870,"end":527},"mods\u002Fsec-default\u002Ftests\u002Ffixtures\u002Fsetting-node-options.ts",{"name":2424,"start":870,"end":527},"mods\u002Fsec-default\u002Ftests\u002Ffixtures\u002Funsetting-node-options.ts",{"format":351,"lines":444,"tokens":2426,"copies":301,"first":2427,"others":2429},189,{"name":2428,"start":425,"end":1040},"plugins\u002Ffeature-dev\u002Fagents\u002Fcode-reviewer.md:markdown",[2430],{"name":2431,"start":290,"end":527},"plugins\u002Fpr-review-toolkit\u002Fagents\u002Fcode-reviewer.md:markdown",{"format":351,"lines":440,"tokens":2433,"copies":301,"first":2434,"others":2436},161,{"name":424,"start":2435,"end":737},150,[2437],{"name":429,"start":2438,"end":2439},157,163,{"format":2311,"lines":290,"tokens":728,"copies":374,"first":2441,"others":2445},{"name":2442,"start":2443,"end":2444},"examples\u002Fgateway\u002Fgcp\u002Fterraform\u002Fmain.tf",155,162,[2446,2448,2451],{"name":2442,"start":375,"end":2447},184,{"name":2442,"start":2449,"end":2450},193,200,{"name":2442,"start":2452,"end":456},222,{"format":344,"lines":425,"tokens":728,"copies":374,"first":2454,"others":2457},{"name":2337,"start":2455,"end":2456},1460,1468,[2458,2461,2464],{"name":2337,"start":2459,"end":2460},1523,1531,{"name":2337,"start":2462,"end":2463},1572,1580,{"name":2337,"start":2465,"end":1323},1606,{"format":358,"lines":652,"tokens":2467,"copies":301,"first":2468,"others":2470},144,{"name":2469,"start":374,"end":1570},"plugins\u002Fhookify\u002Fhooks\u002Fposttooluse.py",[2471],{"name":2472,"start":374,"end":1570},"plugins\u002Fhookify\u002Fhooks\u002Fuserpromptsubmit.py",{"sources":2474,"lines":2475,"tokens":2476,"clones":288,"duplicatedLines":2477,"duplicatedTokens":1849,"percentage":289,"percentageTokens":2478,"formats":2479,"topClones":2492,"generated":2579},292,22023,108819,260,1.08,[2480,2483,2486,2488,2489,2490],{"format":358,"sources":1034,"lines":2481,"clones":553,"duplicatedLines":2306,"percentage":2482},7827,2.85,{"format":344,"sources":518,"lines":2484,"clones":457,"duplicatedLines":517,"percentage":2485},10200,0.36,{"format":394,"sources":527,"lines":2487,"clones":397,"duplicatedLines":397,"percentage":397},2470,{"format":559,"sources":1970,"lines":2326,"clones":397,"duplicatedLines":397,"percentage":397},{"format":562,"sources":314,"lines":563,"clones":397,"duplicatedLines":397,"percentage":397},{"format":869,"sources":314,"lines":2491,"clones":397,"duplicatedLines":397,"percentage":397},152,[2493,2505,2530,2538,2545,2552,2558,2562,2569,2575],{"format":358,"lines":652,"tokens":2467,"copies":301,"first":2494,"others":2495,"excerpt":2497},{"name":2469,"start":374,"end":1570},[2496],{"name":2472,"start":374,"end":1570},{"lines":2498,"total":652},[2499,2500,2501,415,938,2502,936,415,2503,2504],"This script is called by Claude Code after a tool executes.","It reads .claude\u002Fhookify.*.local.md files and evaluates rules.","\"\"\"","import sys","# CRITICAL: Add plugin root to Python path for imports","PLUGIN_ROOT = os.environ.get('CLAUDE_PLUGIN_ROOT')",{"format":358,"lines":662,"tokens":663,"copies":301,"first":2506,"others":2509,"excerpt":2511,"excerptSecond":2521},{"name":665,"start":2507,"end":2508},1391,1402,[2510],{"name":670,"start":671,"end":672},{"lines":2512,"total":662},[2513,2514,2515,2516,415,2517,2518,415,2519,2520],"added = [ln[1:] for ln in diff_text.splitlines()","         if ln.startswith(\"+\") and not ln.startswith(\"+++\")]","removed = [ln[1:] for ln in diff_text.splitlines()","           if ln.startswith(\"-\") and not ln.startswith(\"---\")]","def _norm(s: str) -> str:","    return \" \".join(t for t in \" \".join(s.split()).split() if len(t) > 2)","added_norm = _norm(\"\\n\".join(added))","removed_norm = _norm(\"\\n\".join(removed))",{"lines":2522,"total":372},[2523,2524,2525,2526,2527,2528,2524,2525,2529,2527],"added = [","    ln[1:]","    for ln in diff_text.splitlines()","    if ln.startswith(\"+\") and not ln.startswith(\"+++\")","]","removed = [","    if ln.startswith(\"-\") and not ln.startswith(\"---\")",{"format":358,"lines":634,"tokens":426,"copies":301,"first":2531,"others":2532,"excerpt":2535},{"name":2469,"start":1091,"end":1570},[2533],{"name":2534,"start":1091,"end":1570},"plugins\u002Fhookify\u002Fhooks\u002Fstop.py",{"lines":2536,"total":634},[2500,2501,415,938,2502,936,415,2503,2504,2537],"if PLUGIN_ROOT:",{"format":358,"lines":425,"tokens":817,"copies":301,"first":2539,"others":2542},{"name":750,"start":2540,"end":2541},1347,1355,[2543],{"name":750,"start":2544,"end":1383},1904,{"format":358,"lines":400,"tokens":359,"copies":301,"first":2546,"others":2549},{"name":665,"start":2547,"end":2548},1455,1527,[2550],{"name":670,"start":858,"end":2551},283,{"format":358,"lines":372,"tokens":785,"copies":301,"first":2553,"others":2555},{"name":2469,"start":517,"end":2554},54,[2556],{"name":2557,"start":480,"end":1621},"plugins\u002Fhookify\u002Fhooks\u002Fpretooluse.py",{"format":358,"lines":527,"tokens":725,"copies":301,"first":2559,"others":2560},{"name":2469,"start":347,"end":864},[2561],{"name":2472,"start":517,"end":991},{"format":358,"lines":366,"tokens":293,"copies":301,"first":2563,"others":2565},{"name":665,"start":2564,"end":671},297,[2566],{"name":665,"start":2567,"end":2568},1093,1102,{"format":344,"lines":288,"tokens":368,"copies":301,"first":2570,"others":2572},{"name":2571,"start":361,"end":2316},"scripts\u002Fauto-close-duplicates.ts",[2573],{"name":2574,"start":1922,"end":347},"scripts\u002Fbackfill-duplicate-comments.ts",{"format":344,"lines":366,"tokens":942,"copies":301,"first":2576,"others":2577},{"name":2571,"start":483,"end":361},[2578],{"name":2574,"start":1040,"end":1922},{"files":397,"minified":397,"sample":2580},[],{"score":293,"grade":294,"size":2582,"dimensions":2585},{"lines":2583,"files":2584,"class":703},51446,490,[2586,2590,2594],{"id":706,"source":707,"value":2309,"adjusted":2309,"lines":2410,"halfLife":710,"formats":2587,"excluded":2588,"weight":314,"score":2589},[344,358,394,2311,559,869,562],[365,384,713],81.4,{"id":716,"source":707,"value":2591,"adjusted":1394,"lines":2592,"halfLife":719,"weight":314,"score":2593},0.7,367,92.9,{"id":724,"source":707,"value":2595,"adjusted":2596,"lines":2597,"halfLife":728,"weight":314,"score":2598},52.1,50.9,26809,49.4,{"total":2600,"mean":553,"files":2601},5401,[2602,2606,2610,2613,2617,2621,2626,2631,2635,2638],{"path":750,"complexity":2603,"lines":2604,"bytes":2605},342,2192,103394,{"path":2607,"complexity":671,"lines":2608,"bytes":2609},"mods\u002Ftypes\u002Fclaude-code.d.ts",13440,517451,{"path":2337,"complexity":1030,"lines":2611,"bytes":2612},2435,69893,{"path":2614,"complexity":2615,"lines":2185,"bytes":2616},"mods\u002Fdiff\u002Fhooks\u002Fregister.ts",266,26135,{"path":665,"complexity":2618,"lines":2619,"bytes":2620},221,1696,112010,{"path":2622,"complexity":2623,"lines":2624,"bytes":2625},"mods\u002Fdiff\u002Ftests\u002Fregister.test.ts",158,1277,37109,{"path":2627,"complexity":2628,"lines":2629,"bytes":2630},"plugins\u002Fsecurity-guidance\u002Fhooks\u002Fgitutil.py",139,722,30039,{"path":2632,"complexity":1595,"lines":2633,"bytes":2634},".github\u002Fscripts\u002Fcheck_workflow_hardening.py",339,13516,{"path":2636,"complexity":1208,"lines":741,"bytes":2637},"mods\u002Fdiff\u002Ftests\u002Fgit\u002Ffetch-diff.test.ts",18379,{"path":2639,"complexity":2640,"lines":2641,"bytes":2642},"examples\u002Fgateway\u002Faws\u002Fsetup.sh",89,964,53781,{"percentage":2644,"findings":506,"files":2645,"byCategory":2646,"largest":2649},0.71,1389,[2647,2648],{"category":1308,"count":314},{"category":790,"count":950},[2650,2652,2654,2656,2658,2660,2663,2665,2667,2669],{"category":790,"path":750,"name":2651,"line":1208,"lines":662},"_diff_pathspec",{"category":790,"path":750,"name":2653,"line":1208,"lines":662},"_find_git_index",{"category":790,"path":750,"name":2655,"line":1208,"lines":662},"_temp_index",{"category":790,"path":750,"name":2657,"line":681,"lines":662},"ANTHROPIC_API_KEY",{"category":790,"path":750,"name":2659,"line":681,"lines":662},"ANTHROPIC_AUTH_TOKEN",{"category":790,"path":750,"name":2661,"line":2662,"lines":553},"CLAUDE_CODE_SYSTEM_PROMPT",123,{"category":790,"path":750,"name":2664,"line":2662,"lines":553},"SECURITY_REVIEW_MODEL",{"category":790,"path":750,"name":2666,"line":848,"lines":366},"_git_name_only",{"category":790,"path":750,"name":2668,"line":997,"lines":366},"_last_call_claude_http_error",{"category":790,"path":750,"name":2670,"line":2671,"lines":425},"_git_status_porcelain",102,{"name":275,"url":2673,"description":2674,"language":300,"stars":2675,"starsToday":1373,"defaultBranch":330,"headSha":2676,"durationMs":2677,"total":2678,"formats":2684,"topClones":2738,"code":2944,"health":3132,"complexity":3159,"deadCode":3207},"https:\u002F\u002Fgithub.com\u002Fxerj-org\u002Fxerj","XERJ is the new way for AI to search data. Its autoindex capability activates agents to know your data without the token waste of grep (1974 tool). One command indexes code, docs, logs and PDFs for search, RAG, security audits and agent memory, using 40x fewer tokens than grep. It’s durable and can replace ElasticSearch saving you x10 infra costs.",7956,"f37328bf35678270484bdb8b6e1c022513d298fc",5573,{"sources":2679,"lines":2680,"tokens":2681,"clones":276,"duplicatedLines":2682,"duplicatedTokens":2683,"percentage":277,"percentageTokens":831},3096,977872,8653452,147088,1530643,[2685,2690,2696,2702,2708,2713,2718,2724,2728,2733],{"format":365,"sources":1925,"lines":2686,"clones":2687,"duplicatedLines":2688,"percentage":2689},86387,2546,60336,69.84,{"format":1359,"sources":2691,"lines":2692,"clones":2693,"duplicatedLines":2694,"percentage":2695},562,440785,2241,24150,5.48,{"format":399,"sources":2697,"lines":2698,"clones":2699,"duplicatedLines":2700,"percentage":2701},332,60704,603,12435,20.48,{"format":2703,"sources":361,"lines":2704,"clones":2705,"duplicatedLines":2706,"percentage":2707},"log",9522,320,6140,64.48,{"format":351,"sources":2709,"lines":2710,"clones":866,"duplicatedLines":2711,"percentage":2712},719,133916,13481,10.07,{"format":371,"sources":737,"lines":2714,"clones":2715,"duplicatedLines":2716,"percentage":2717},49128,288,8104,16.5,{"format":378,"sources":2719,"lines":2720,"clones":2721,"duplicatedLines":2722,"percentage":2723},271,108980,219,14663,13.45,{"format":384,"sources":2721,"lines":2725,"clones":426,"duplicatedLines":2726,"percentage":2727},10551,3824,36.24,{"format":358,"sources":2729,"lines":2730,"clones":466,"duplicatedLines":2731,"percentage":2732},188,38066,1297,3.41,{"format":2734,"sources":440,"lines":2735,"clones":385,"duplicatedLines":2736,"percentage":2737},"css",7310,1978,27.06,[2739,2780,2814,2834,2845,2859,2879,2898,2921,2936],{"format":365,"lines":1732,"tokens":2382,"copies":483,"first":2740,"others":2742,"excerpt":2770},{"name":2741,"start":589,"end":875},"landing\u002Fdocs\u002Faggregations.html",[2743,2747,2751,2753,2756,2760,2763,2767],{"name":2744,"start":2745,"end":2746},"landing\u002Fdocs\u002Fanalyzers.html",318,397,{"name":2748,"start":2749,"end":2750},"landing\u002Fdocs\u002Fapi-es-compat.html",421,500,{"name":2752,"start":2746,"end":1264},"landing\u002Fdocs\u002Fcli.html",{"name":2754,"start":2755,"end":1430},"landing\u002Fdocs\u002Fclustering.html",391,{"name":2757,"start":2758,"end":2759},"landing\u002Fdocs\u002Fcompression.html",322,401,{"name":2761,"start":1273,"end":2762},"landing\u002Fdocs\u002Fcorpus-hub.html",517,{"name":2764,"start":2765,"end":2766},"landing\u002Fdocs\u002Fenv.html",430,509,{"name":2768,"start":1007,"end":2769},"landing\u002Fdocs\u002Fingest.html",403,{"lines":2771,"total":1732},[2772,2773,415,2774,415,2775,2776,2777,2778,2779],"  \u003Cspan>\u003Ca href=\"\u002F\">HOME\u003C\u002Fa> · \u003Ca href=\"\u002Fproduct\">PRODUCT\u003C\u002Fa> · \u003Ca href=\"\u002Fbrand\">BRAND\u003C\u002Fa> · \u003Ca href=\"\u002Fplayground\">DASHBOARDS\u003C\u002Fa> &middot; \u003Ca href=\"\u002Fllms.txt\">…","\u003C\u002Ffooter>","\u003Cscript type=\"application\u002Fjson\" id=\"docs-index\">[{\"title\":\"Corpus Hub\",\"slug\":\"\u002Fdocs\u002Fcorpus-hub\",\"kicker\":\"CORPUS HUB\",\"snip\":\"Registry of corpora for agents —…","\u003Cscript>","  \u002F\u002F IIFE — js-auth navigates between decrypted pages in the same","  \u002F\u002F JS realm, so const bindings must be lexically scoped.","  (function () {","    const root = document.documentElement;",{"format":365,"lines":1612,"tokens":2781,"copies":2782,"first":2783,"others":2785,"excerpt":2802},675,83,{"name":2784,"start":997,"end":737},"landing\u002Fanswers\u002Fagent-memory-without-postgres-qdrant.html",[2786,2788,2790,2792,2794,2796,2798,2800],{"name":2787,"start":997,"end":737},"landing\u002Fanswers\u002Faudit-php-codebase-with-an-index.html",{"name":2789,"start":997,"end":737},"landing\u002Fanswers\u002Fautoindex-dataset-refused-by-server.html",{"name":2791,"start":997,"end":737},"landing\u002Fanswers\u002Fautoindex-exit-codes.html",{"name":2793,"start":997,"end":737},"landing\u002Fanswers\u002Fautoindex-says-extract-the-archive-first.html",{"name":2795,"start":997,"end":737},"landing\u002Fanswers\u002Fautoindex-server-back-pressure-429.html",{"name":2797,"start":997,"end":737},"landing\u002Fanswers\u002Fcatalog-files-with-autoindex-map.html",{"name":2799,"start":997,"end":737},"landing\u002Fanswers\u002Fcheap-low-volume-log-search.html",{"name":2801,"start":997,"end":737},"landing\u002Fanswers\u002Fcheck-codebase-index-is-complete.html",{"lines":2803,"total":1612},[2804,2805,2806,2807,2808,2809,2810,2811,2812,2813],"\u003Ca href=\"\u002Fcase-studies\">CASE STUDIES\u003C\u002Fa>","\u003Ca href=\"\u002Fbenchmarks\u002F\">BENCHMARKS\u003C\u002Fa>","\u003Cspan class=\"spacer\">\u003C\u002Fspan>","\u003Ca href=\"\u002Ffor-agents\">FOR AGENTS\u003C\u002Fa>","\u003Ca href=\"\u002Fdocs\u002F\" class=\"active\">DOCS\u003C\u002Fa>","\u003Ca href=\"\u002Fdocs\u002Frecipes\u002F\">RECIPES\u003C\u002Fa>","\u003Ca href=\"\u002Fplayground\">DASHBOARDS\u003C\u002Fa>","\u003Ca href=\"https:\u002F\u002Fhub.xerj.org\" rel=\"external\">HUB\u003C\u002Fa>","\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fxerj-org\u002Fxerj\" rel=\"external\">GITHUB\u003C\u002Fa>","\u003Ca href=\"https:\u002F\u002Fx.com\u002Fxerj_org\" rel=\"external\" title=\"XERJ on X\" style=\"display:inline-flex;align-items:center\">\u003Csvg width=\"15\" height=\"15\" viewBox=\"0 0 24 24…",{"format":378,"lines":2815,"tokens":2816,"copies":301,"first":2817,"others":2819,"excerpt":2822},8893,35383,{"name":2818,"start":314,"end":2815},"benchmarks\u002Fdecide-model\u002Fpinned\u002Ftokenizer.json",[2820],{"name":2821,"start":314,"end":2815},"benchmarks\u002Fdecide-model\u002Fpublished\u002Fxerj-decide-v1\u002Ftokenizer.json",{"lines":2823,"total":2815},[2824,2825,2826,2827,2828,2829,2830,2831,2832,2833],"{","  \"version\": \"1.0\",","  \"truncation\": {","    \"direction\": \"Right\",","    \"max_length\": 512,","    \"strategy\": \"LongestFirst\",","    \"stride\": 0","  },","  \"padding\": null,","  \"added_tokens\": [",{"format":365,"lines":444,"tokens":2835,"copies":301,"first":2836,"others":2840},33689,{"name":2837,"start":2838,"end":2839},"landing\u002Fproduct.html",228,242,[2841],{"name":2842,"start":2843,"end":2844},"landing\u002Fuse-cases\u002Fai-search-retrieval.html",153,167,{"format":365,"lines":525,"tokens":2846,"copies":457,"first":2847,"others":2851},16579,{"name":2848,"start":2849,"end":2850},"landing\u002Fdocs\u002Fbackup-restore.html",298,435,[2852,2855],{"name":2853,"start":2854,"end":2766},"landing\u002Fdocs\u002Fconfig.html",372,{"name":2856,"start":2857,"end":2858},"landing\u002Fdocs\u002Findex.html",368,505,{"format":365,"lines":359,"tokens":2860,"copies":366,"first":2861,"others":2862},3090,{"name":2784,"start":737,"end":645},[2863,2865,2867,2869,2871,2873,2875,2877],{"name":2864,"start":737,"end":645},"landing\u002Fanswers\u002Fcode-search-mcp-for-claude-code.html",{"name":2866,"start":737,"end":645},"landing\u002Fanswers\u002Fcoding-agent-memory-across-sessions.html",{"name":2868,"start":737,"end":645},"landing\u002Fanswers\u002Fevidence-for-agent-memory-links.html",{"name":2870,"start":737,"end":645},"landing\u002Fanswers\u002Fgive-chatgpt-claude-local-file-access.html",{"name":2872,"start":737,"end":645},"landing\u002Fanswers\u002Fknowledge-graphs-for-agent-memory.html",{"name":2874,"start":737,"end":645},"landing\u002Fanswers\u002Fmcp-api-search-or-vector-search.html",{"name":2876,"start":737,"end":645},"landing\u002Fanswers\u002Fprivate-agent-memory-namespaces.html",{"name":2878,"start":737,"end":645},"landing\u002Fanswers\u002Fset-mcp-memory-storage-path.html",{"format":365,"lines":942,"tokens":2880,"copies":361,"first":2881,"others":2882},681,{"name":2784,"start":672,"end":1911},[2883,2885,2887,2889,2890,2892,2893,2894],{"name":2787,"start":588,"end":2884},424,{"name":2789,"start":2886,"end":2255},349,{"name":2791,"start":761,"end":2888},454,{"name":2793,"start":1915,"end":766},{"name":2795,"start":1293,"end":2891},414,{"name":2797,"start":2886,"end":2255},{"name":2799,"start":2603,"end":2769},{"name":2895,"start":2896,"end":2897},"landing\u002Fanswers\u002Fclassify-text-from-labelled-history-without-llm.html",341,402,{"format":365,"lines":461,"tokens":2899,"copies":543,"first":2900,"others":2902},680,{"name":2901,"start":2749,"end":1581},"landing\u002Fdocs\u002Fagents\u002Fendpoints.html",[2903,2905,2907,2908,2910,2913,2916,2919],{"name":2741,"start":1900,"end":2904},395,{"name":2744,"start":2477,"end":2906},321,{"name":2748,"start":588,"end":2884},{"name":2752,"start":2633,"end":2909},400,{"name":2754,"start":2911,"end":2912},333,394,{"name":2757,"start":2914,"end":2915},264,325,{"name":2761,"start":2917,"end":2918},380,441,{"name":2764,"start":2854,"end":2920},433,{"format":365,"lines":1612,"tokens":2922,"copies":521,"first":2923,"others":2925},111,{"name":2924,"start":652,"end":872},"landing\u002F404.html",[2926,2928,2930,2931,2932,2933,2934,2935],{"name":2927,"start":515,"end":2623},"landing\u002Fagent-search\u002Findex.html",{"name":2929,"start":354,"end":994},"landing\u002Faise-demo.html",{"name":2784,"start":609,"end":1621},{"name":2787,"start":609,"end":1621},{"name":2789,"start":609,"end":1621},{"name":2791,"start":609,"end":1621},{"name":2793,"start":609,"end":1621},{"name":2795,"start":609,"end":1621},{"format":365,"lines":525,"tokens":2937,"copies":301,"first":2938,"others":2941},17893,{"name":2939,"start":2237,"end":2940},"landing\u002Fanswers\u002Findex.html",227,[2942],{"name":2943,"start":2237,"end":2940},"landing\u002Fcompare\u002Findex.html",{"sources":2945,"lines":2946,"tokens":2947,"clones":2948,"duplicatedLines":2949,"duplicatedTokens":2950,"percentage":2951,"percentageTokens":2952,"formats":2953,"topClones":2969,"generated":3125},577,404286,2518842,1424,18732,144171,4.63,5.72,[2954,2958,2962,2964,2967,2968],{"format":1359,"sources":2906,"lines":2955,"clones":2956,"duplicatedLines":2957,"percentage":555},344549,1276,12512,{"format":371,"sources":492,"lines":2959,"clones":1172,"duplicatedLines":2960,"percentage":2961},29137,5851,20.08,{"format":358,"sources":1016,"lines":2963,"clones":1922,"duplicatedLines":1390,"percentage":289},23192,{"format":394,"sources":395,"lines":2965,"clones":425,"duplicatedLines":1016,"percentage":2966},7082,1.36,{"format":562,"sources":314,"lines":563,"clones":397,"duplicatedLines":397,"percentage":397},{"format":869,"sources":314,"lines":2623,"clones":397,"duplicatedLines":397,"percentage":397},[2970,2988,3007,3029,3059,3067,3074,3084,3093,3117],{"format":371,"lines":2603,"tokens":2971,"copies":301,"first":2972,"others":2975,"excerpt":2978},3050,{"name":2973,"start":366,"end":2974},"landing\u002Fplayground\u002Fsrc\u002Fux\u002Fcharts-ai.js",351,[2976],{"name":2977,"start":366,"end":2974},"xerj-ux\u002Fsrc\u002Fux\u002Fcharts-ai.js",{"lines":2979,"total":2603},[2980,415,2981,2982,2983,2984,2985,415,2986,2987],"import { esc, fmt } from '.\u002Ftext.js';","const minMax = (xs) => {","  let mn = Infinity, mx = -Infinity;","  for (const x of xs) { if (x \u003C mn) mn = x; if (x > mx) mx = x; }","  return [mn === Infinity ? 0 : mn, mx === -Infinity ? 0 : mx];","};","\u002F\u002F Andrew's monotone chain — O(n log n) convex hull.","function convexHull(points) {",{"format":371,"lines":2989,"tokens":2990,"copies":301,"first":2991,"others":2993,"excerpt":2996},343,2597,{"name":2992,"start":288,"end":1288},"landing\u002Fplayground\u002Fsrc\u002Fux\u002Fchart-types.js",[2994],{"name":2995,"start":288,"end":1288},"xerj-ux\u002Fsrc\u002Fux\u002Fchart-types.js",{"lines":2997,"total":2989},[2998,2999,3000,3001,3002,3003,415,3004,3005,3006],"import { Num, fmt }               from '.\u002Ftext.js';","import { Spark, Series, Dist, Heatmap, Multiples } from '.\u002Fcharts.js';","import { VBar, Hist, Gauge, Scatter, Stacked, Treemap } from '.\u002Fcharts-ext.js';","import { EmbedSpace, Ribbon3D, ChordArcs, ParallelCoords, AttentionMap, FlowBand } from '.\u002Fcharts-ai.js';","import { Table, Markdown }        from '.\u002Ftables.js';","import { TopN, Events }           from '.\u002Flayout.js';","\u002F\u002F ---------- demo data (deterministic) ---------------------","const demoSeries = Array.from({ length: 48 }, (_, i) =>","  50 + Math.sin(i \u002F 5.5) * 22 + Math.cos(i \u002F 3.2) * 9 + ((i * 37) % 7)",{"format":371,"lines":2697,"tokens":3008,"copies":301,"first":3009,"others":3013,"excerpt":3018},2317,{"name":3010,"start":3011,"end":3012},"landing\u002Fplayground\u002Fsrc\u002Fapp.js",748,1079,[3014],{"name":3015,"start":3016,"end":3017},"xerj-ux\u002Fsrc\u002Fapp.js",1583,1914,{"lines":3019,"total":2697},[3020,3021,3022,3023,3024,3025,3026,3027,597,3028],"const secA = e.target.closest('[data-section]');","if (secA) {","  e.preventDefault();","  const sid = secA.getAttribute('data-section');","  if (sid === 'dashboards') {","    location.hash = '#\u002Fdashboards';","  } else {","    location.hash = '#\u002F' + sid;","  return;",{"format":1359,"lines":366,"tokens":1208,"copies":455,"first":3030,"others":3034},{"name":3031,"start":3032,"end":3033},"engine\u002Fcrates\u002Fxerj-autoindex\u002Fsrc\u002Ffailure_resume_http_tests.rs",1174,1183,[3035,3038,3041,3044,3047,3050,3053,3056],{"name":3031,"start":3036,"end":3037},1239,1248,{"name":3031,"start":3039,"end":3040},1259,1268,{"name":3031,"start":3042,"end":3043},1313,1322,{"name":3031,"start":3045,"end":3046},1366,1375,{"name":3031,"start":3048,"end":3049},1395,1404,{"name":3031,"start":3051,"end":3052},1440,1449,{"name":3031,"start":3054,"end":3055},1601,1610,{"name":3031,"start":3057,"end":3058},1627,1636,{"format":371,"lines":2426,"tokens":3060,"copies":301,"first":3061,"others":3064},1856,{"name":3062,"start":1925,"end":3063},"landing\u002Fplayground\u002Fsrc\u002Fdata\u002Fmock.js",390,[3065],{"name":3066,"start":1925,"end":3063},"xerj-ux\u002Fsrc\u002Fdata\u002Fmock.js",{"format":371,"lines":2286,"tokens":3068,"copies":301,"first":3069,"others":3071},1751,{"name":3062,"start":3063,"end":3070},568,[3072],{"name":3066,"start":3063,"end":3073},581,{"format":371,"lines":3075,"tokens":3076,"copies":301,"first":3077,"others":3080},205,1616,{"name":3010,"start":3078,"end":3079},1108,1312,[3081],{"name":3015,"start":3082,"end":3083},1949,2153,{"format":371,"lines":3085,"tokens":3086,"copies":301,"first":3087,"others":3090},143,1561,{"name":3062,"start":3088,"end":3089},755,897,[3091],{"name":3066,"start":3073,"end":3092},723,{"format":1359,"lines":440,"tokens":466,"copies":455,"first":3094,"others":3097},{"name":3095,"start":3096,"end":3040},"engine\u002Fcrates\u002Fxerj-autoindex\u002Fsrc\u002Fincremental_reconcile_http_tests.rs",1262,[3098,3101,3103,3105,3107,3110,3113,3115],{"name":3095,"start":3099,"end":3100},1319,1325,{"name":3095,"start":2540,"end":3102},1353,{"name":3095,"start":3104,"end":2507},1385,{"name":3095,"start":776,"end":3106},1480,{"name":3095,"start":3108,"end":3109},1530,1536,{"name":3095,"start":3111,"end":3112},1686,1692,{"name":3095,"start":3114,"end":285},1732,{"name":3095,"start":3116,"end":2323},1997,{"format":371,"lines":3118,"tokens":3119,"copies":301,"first":3120,"others":3122},171,1414,{"name":3010,"start":481,"end":3121},258,[3123],{"name":3015,"start":676,"end":3124},302,{"files":1091,"minified":314,"sample":3126},[3127,3128,3129,3130,3131],".github\u002Fscripts\u002Fprev_tag.sh","engine\u002Fcrates\u002Fxerj-engine\u002Fsrc\u002Fsecret_hash.rs","landing\u002Fchart-data.js","landing\u002Fplayground\u002Fsrc\u002Fdata\u002Ffeedback-citations.js","xerj-ux\u002Fsrc\u002Fdata\u002Ffeedback-citations.js",{"score":3133,"grade":700,"size":3134,"dimensions":3137},40.3,{"lines":3135,"files":3136,"class":1228},539090,982,[3138,3147,3154],{"id":706,"source":707,"value":3139,"adjusted":3139,"lines":3140,"halfLife":710,"formats":3141,"excluded":3145,"weight":314,"score":3146},6.2,33644,[1359,371,358,394,1914,562,869,3142,3143,1371,3144],"c","php","c-header",[365,384,713],60.2,{"id":716,"source":707,"value":3148,"adjusted":3149,"lines":3150,"halfLife":719,"coverage":3151,"weight":3152,"score":3153},28.4,27.8,24728,16.1,0.161,7.6,{"id":724,"source":707,"value":3155,"adjusted":3156,"lines":3157,"halfLife":728,"weight":314,"score":3158},75.3,75.1,405885,35.3,{"total":3160,"mean":506,"files":3161},68741,[3162,3167,3172,3176,3181,3186,3191,3194,3198,3203],{"path":3163,"complexity":3164,"lines":3165,"bytes":3166},"engine\u002Fcrates\u002Fxerj-engine\u002Fsrc\u002Faggs.rs",2821,15730,650416,{"path":3168,"complexity":3169,"lines":3170,"bytes":3171},"landing\u002Fplayground\u002Fapp.bundle.js",1501,6355,244713,{"path":3173,"complexity":3096,"lines":3174,"bytes":3175},"engine\u002Fcrates\u002Fxerj-engine\u002Fsrc\u002Ffast_aggs.rs",6724,291740,{"path":3177,"complexity":3178,"lines":3179,"bytes":3180},"engine\u002Fcrates\u002Fxerj-autoindex\u002Fsrc\u002Flib.rs",1214,12515,552476,{"path":3182,"complexity":3183,"lines":3184,"bytes":3185},"engine\u002Fcrates\u002Fxerj-query\u002Fsrc\u002Fparser.rs",1203,6854,261046,{"path":3187,"complexity":3188,"lines":3189,"bytes":3190},"engine\u002Fcrates\u002Fxerj-storage\u002Fsrc\u002Findex_store.rs",854,8050,360952,{"path":3015,"complexity":1079,"lines":3192,"bytes":3193},2188,88523,{"path":3195,"complexity":747,"lines":3196,"bytes":3197},"engine\u002Fcrates\u002Fxerj-storage\u002Fsrc\u002Fstored_codec.rs",5198,214250,{"path":3199,"complexity":3200,"lines":3201,"bytes":3202},"engine\u002Fcrates\u002Fxerj-engine\u002Fsrc\u002Fpainless.rs",696,3994,168617,{"path":3204,"complexity":2781,"lines":3205,"bytes":3206},"engine\u002Fcrates\u002Fxerj-engine\u002Fsrc\u002Fmemtable.rs",6553,295211,{"percentage":3208,"findings":359,"files":3209,"byCategory":3210,"largest":3214},28.41,344,[3211,3212,3213],{"category":788,"count":293},{"category":1310,"count":314},{"category":790,"count":372},[3215,3216,3217,3218,3220,3223,3226,3229,3232,3235],{"category":788,"path":3168,"name":415,"line":314,"lines":3170},{"category":788,"path":3015,"name":415,"line":314,"lines":3192},{"category":788,"path":3010,"name":415,"line":314,"lines":3043},{"category":788,"path":3062,"name":415,"line":314,"lines":3219},1045,{"category":788,"path":3221,"name":415,"line":314,"lines":3222},"xerj-ux\u002Fshare\u002Fshare.js",820,{"category":788,"path":3224,"name":415,"line":314,"lines":3225},"demo\u002Fusecases\u002Fdoc-index\u002Fcompare.mjs",772,{"category":788,"path":3227,"name":415,"line":314,"lines":3228},"landing\u002Fcharts.js",529,{"category":788,"path":3230,"name":415,"line":314,"lines":3231},"docs\u002Fdesign\u002Fsecond_brain_graph_wf.js",453,{"category":788,"path":3233,"name":415,"line":314,"lines":3234},"docs\u002Fdesign\u002Fsecond_brain_finish_wf.js",418,{"category":788,"path":3236,"name":415,"line":314,"lines":3237},"demo\u002Fusecases\u002Fdoc-index\u002Fgrep-baseline.mjs",387,{"\u002Ftrending\u002F2026-10-18":3239},{"views":374,"visits":374},null,1792421138559]