[{"data":1,"prerenderedAt":802},["ShallowReactive",2],{"navigation_docs":3,"-reference-programmatic-api":357,"-reference-programmatic-api-surround":799},[4,22,40,53,78,107,132,153,167,176,347],{"title":5,"path":6,"stem":7,"children":8,"page":21},"Introduction","\u002Fintroduction","1.introduction",[9,13,17],{"title":10,"path":11,"stem":12},"Why the-i18n-kit","\u002Fintroduction\u002Fwhy","1.introduction\u002F1.why",{"title":14,"path":15,"stem":16},"Architecture","\u002Fintroduction\u002Farchitecture","1.introduction\u002F2.architecture",{"title":18,"path":19,"stem":20},"Built for Agents","\u002Fintroduction\u002Fbuilt-for-agents","1.introduction\u002F3.built-for-agents",false,{"title":23,"icon":24,"path":25,"stem":26,"children":27,"page":21},"ESLint Plugin","i-lucide-shield-check","\u002Feslint-plugin","10.eslint-plugin",[28,32,36],{"title":29,"path":30,"stem":31},"Install and Presets","\u002Feslint-plugin\u002Finstall","10.eslint-plugin\u002F1.install",{"title":33,"path":34,"stem":35},"The Rules","\u002Feslint-plugin\u002Frules","10.eslint-plugin\u002F2.rules",{"title":37,"path":38,"stem":39},"Layer-Aware Missing Keys","\u002Feslint-plugin\u002Flayer-aware","10.eslint-plugin\u002F3.layer-aware",{"title":41,"path":42,"stem":43,"children":44,"page":21},"Getting Started","\u002Fgetting-started","2.getting-started",[45,49],{"title":46,"path":47,"stem":48},"Set Up the MCP Server","\u002Fgetting-started\u002Fagent-setup","2.getting-started\u002F1.agent-setup",{"title":50,"path":51,"stem":52},"From an Unconfigured Repository to a Gated CI Job","\u002Fgetting-started\u002Fcold-start","2.getting-started\u002F2.cold-start",{"title":54,"path":55,"stem":56,"children":57,"page":21},"Monorepos","\u002Fmonorepos","3.monorepos",[58,62,66,70,74],{"title":59,"path":60,"stem":61},"Layers","\u002Fmonorepos\u002Flayers","3.monorepos\u002F1.layers",{"title":63,"path":64,"stem":65},"The Consumer Graph","\u002Fmonorepos\u002Fconsumer-graph","3.monorepos\u002F2.consumer-graph",{"title":67,"path":68,"stem":69},"The Shared Library Scenario","\u002Fmonorepos\u002Fshared-libraries","3.monorepos\u002F3.shared-libraries",{"title":71,"path":72,"stem":73},"Duplicates and Divergence","\u002Fmonorepos\u002Fduplicates-and-divergence","3.monorepos\u002F4.duplicates-and-divergence",{"title":75,"path":76,"stem":77},"Misplaced Usages","\u002Fmonorepos\u002Fmisplaced-usages","3.monorepos\u002F5.misplaced-usages",{"title":79,"path":80,"stem":81,"children":82,"page":21},"Frameworks","\u002Fframeworks","4.frameworks",[83,87,91,95,99,103],{"title":84,"path":85,"stem":86},"Detection","\u002Fframeworks\u002Fdetection","4.frameworks\u002F1.detection",{"title":88,"path":89,"stem":90},"Nuxt","\u002Fframeworks\u002Fnuxt","4.frameworks\u002F2.nuxt",{"title":92,"path":93,"stem":94},"Laravel","\u002Fframeworks\u002Flaravel","4.frameworks\u002F3.laravel",{"title":96,"path":97,"stem":98},"Vue","\u002Fframeworks\u002Fvue","4.frameworks\u002F4.vue",{"title":100,"path":101,"stem":102},"React \u002F Next.js","\u002Fframeworks\u002Freact-next","4.frameworks\u002F5.react-next",{"title":104,"path":105,"stem":106},"Generic","\u002Fframeworks\u002Fgeneric","4.frameworks\u002F6.generic",{"title":108,"path":109,"stem":110,"children":111,"page":21},"Configuration","\u002Fconfiguration","5.configuration",[112,116,120,124,128],{"title":113,"path":114,"stem":115},"Where Configuration Lives","\u002Fconfiguration\u002Fwhere-config-lives","5.configuration\u002F1.where-config-lives",{"title":117,"path":118,"stem":119},"Precedence and Conflicts","\u002Fconfiguration\u002Fprecedence","5.configuration\u002F2.precedence",{"title":121,"path":122,"stem":123},"Declared vs. Derived Configuration","\u002Fconfiguration\u002Fdeclared-vs-derived","5.configuration\u002F3.declared-vs-derived",{"title":125,"path":126,"stem":127},"Configuration Fields","\u002Fconfiguration\u002Freference","5.configuration\u002F4.reference",{"title":129,"path":130,"stem":131},"Referring to Locales","\u002Fconfiguration\u002Flocale-refs","5.configuration\u002F5.locale-refs",{"title":133,"path":134,"stem":135,"children":136,"page":21},"Nuxt Module","\u002Fnuxt-module","6.nuxt-module",[137,141,145,149],{"title":138,"path":139,"stem":140},"Install and Setup","\u002Fnuxt-module\u002Finstall","6.nuxt-module\u002F1.install",{"title":142,"path":143,"stem":144},"What It Publishes","\u002Fnuxt-module\u002Fwhat-it-publishes","6.nuxt-module\u002F2.what-it-publishes",{"title":146,"path":147,"stem":148},"What It Validates","\u002Fnuxt-module\u002Fvalidation","6.nuxt-module\u002F3.validation",{"title":150,"path":151,"stem":152},"Options and Limits","\u002Fnuxt-module\u002Foptions-and-limits","6.nuxt-module\u002F4.options-and-limits",{"title":154,"icon":155,"path":156,"stem":157,"children":158,"page":21},"CI\u002FCD","i-lucide-git-pull-request","\u002Fci-cd","7.ci-cd",[159,163],{"title":160,"path":161,"stem":162},"GitHub Actions","\u002Fci-cd\u002Fgithub-actions","7.ci-cd\u002F1.github-actions",{"title":164,"path":165,"stem":166},"GitLab CI","\u002Fci-cd\u002Fgitlab-ci","7.ci-cd\u002F2.gitlab-ci",{"title":168,"path":169,"stem":170,"children":171,"page":21},"Concepts","\u002Fconcepts","8.concepts",[172],{"title":173,"path":174,"stem":175},"Translation Modes","\u002Fconcepts\u002Ftranslation-modes","8.concepts\u002F1.translation-modes",{"title":177,"path":178,"stem":179,"children":180},"Reference","\u002Freference","9.reference",[181,183,261,339,343],{"title":177,"path":178,"stem":182},"9.reference\u002Findex",{"title":184,"path":185,"stem":186,"children":187},"CLI Commands","\u002Freference\u002Fcli","9.reference\u002F1.cli\u002Findex",[188,189,193,197,201,205,209,213,217,221,225,229,233,237,241,245,249,253,257],{"title":184,"path":185,"stem":186},{"title":190,"path":191,"stem":192},"add","\u002Freference\u002Fcli\u002Fadd","9.reference\u002F1.cli\u002Fadd",{"title":194,"path":195,"stem":196},"check","\u002Freference\u002Fcli\u002Fcheck","9.reference\u002F1.cli\u002Fcheck",{"title":198,"path":199,"stem":200},"find-duplicates","\u002Freference\u002Fcli\u002Ffind-duplicates","9.reference\u002F1.cli\u002Ffind-duplicates",{"title":202,"path":203,"stem":204},"get","\u002Freference\u002Fcli\u002Fget","9.reference\u002F1.cli\u002Fget",{"title":206,"path":207,"stem":208},"init","\u002Freference\u002Fcli\u002Finit","9.reference\u002F1.cli\u002Finit",{"title":210,"path":211,"stem":212},"missing","\u002Freference\u002Fcli\u002Fmissing","9.reference\u002F1.cli\u002Fmissing",{"title":214,"path":215,"stem":216},"move","\u002Freference\u002Fcli\u002Fmove","9.reference\u002F1.cli\u002Fmove",{"title":218,"path":219,"stem":220},"remove","\u002Freference\u002Fcli\u002Fremove","9.reference\u002F1.cli\u002Fremove",{"title":222,"path":223,"stem":224},"remove-orphans","\u002Freference\u002Fcli\u002Fremove-orphans","9.reference\u002F1.cli\u002Fremove-orphans",{"title":226,"path":227,"stem":228},"rename","\u002Freference\u002Fcli\u002Frename","9.reference\u002F1.cli\u002Frename",{"title":230,"path":231,"stem":232},"scaffold","\u002Freference\u002Fcli\u002Fscaffold","9.reference\u002F1.cli\u002Fscaffold",{"title":234,"path":235,"stem":236},"scan","\u002Freference\u002Fcli\u002Fscan","9.reference\u002F1.cli\u002Fscan",{"title":238,"path":239,"stem":240},"search","\u002Freference\u002Fcli\u002Fsearch","9.reference\u002F1.cli\u002Fsearch",{"title":242,"path":243,"stem":244},"status","\u002Freference\u002Fcli\u002Fstatus","9.reference\u002F1.cli\u002Fstatus",{"title":246,"path":247,"stem":248},"translate","\u002Freference\u002Fcli\u002Ftranslate","9.reference\u002F1.cli\u002Ftranslate",{"title":250,"path":251,"stem":252},"translate-key","\u002Freference\u002Fcli\u002Ftranslate-key","9.reference\u002F1.cli\u002Ftranslate-key",{"title":254,"path":255,"stem":256},"update","\u002Freference\u002Fcli\u002Fupdate","9.reference\u002F1.cli\u002Fupdate",{"title":258,"path":259,"stem":260},"write","\u002Freference\u002Fcli\u002Fwrite","9.reference\u002F1.cli\u002Fwrite",{"title":262,"path":263,"stem":264,"children":265},"MCP Tools","\u002Freference\u002Fmcp","9.reference\u002F2.mcp\u002Findex",[266,267,271,275,279,283,287,291,295,299,303,307,311,315,319,323,327,331,335],{"title":262,"path":263,"stem":264},{"title":268,"path":269,"stem":270},"discover","\u002Freference\u002Fmcp\u002Fdiscover","9.reference\u002F2.mcp\u002Fdiscover",{"title":272,"path":273,"stem":274},"find_duplicate_keys","\u002Freference\u002Fmcp\u002Ffind_duplicate_keys","9.reference\u002F2.mcp\u002Ffind_duplicate_keys",{"title":276,"path":277,"stem":278},"find_empty_translations","\u002Freference\u002Fmcp\u002Ffind_empty_translations","9.reference\u002F2.mcp\u002Ffind_empty_translations",{"title":280,"path":281,"stem":282},"find_orphan_keys","\u002Freference\u002Fmcp\u002Ffind_orphan_keys","9.reference\u002F2.mcp\u002Ffind_orphan_keys",{"title":284,"path":285,"stem":286},"find_undefined_keys","\u002Freference\u002Fmcp\u002Ffind_undefined_keys","9.reference\u002F2.mcp\u002Ffind_undefined_keys",{"title":288,"path":289,"stem":290},"get_missing_translations","\u002Freference\u002Fmcp\u002Fget_missing_translations","9.reference\u002F2.mcp\u002Fget_missing_translations",{"title":292,"path":293,"stem":294},"get_translation_status","\u002Freference\u002Fmcp\u002Fget_translation_status","9.reference\u002F2.mcp\u002Fget_translation_status",{"title":296,"path":297,"stem":298},"get_translations","\u002Freference\u002Fmcp\u002Fget_translations","9.reference\u002F2.mcp\u002Fget_translations",{"title":300,"path":301,"stem":302},"list_namespaces","\u002Freference\u002Fmcp\u002Flist_namespaces","9.reference\u002F2.mcp\u002Flist_namespaces",{"title":304,"path":305,"stem":306},"move_translation_key","\u002Freference\u002Fmcp\u002Fmove_translation_key","9.reference\u002F2.mcp\u002Fmove_translation_key",{"title":308,"path":309,"stem":310},"remove_orphan_keys","\u002Freference\u002Fmcp\u002Fremove_orphan_keys","9.reference\u002F2.mcp\u002Fremove_orphan_keys",{"title":312,"path":313,"stem":314},"remove_translations","\u002Freference\u002Fmcp\u002Fremove_translations","9.reference\u002F2.mcp\u002Fremove_translations",{"title":316,"path":317,"stem":318},"rename_translation_key","\u002Freference\u002Fmcp\u002Frename_translation_key","9.reference\u002F2.mcp\u002Frename_translation_key",{"title":320,"path":321,"stem":322},"scaffold_locale","\u002Freference\u002Fmcp\u002Fscaffold_locale","9.reference\u002F2.mcp\u002Fscaffold_locale",{"title":324,"path":325,"stem":326},"search_translations","\u002Freference\u002Fmcp\u002Fsearch_translations","9.reference\u002F2.mcp\u002Fsearch_translations",{"title":328,"path":329,"stem":330},"translate_key","\u002Freference\u002Fmcp\u002Ftranslate_key","9.reference\u002F2.mcp\u002Ftranslate_key",{"title":332,"path":333,"stem":334},"translate_missing","\u002Freference\u002Fmcp\u002Ftranslate_missing","9.reference\u002F2.mcp\u002Ftranslate_missing",{"title":336,"path":337,"stem":338},"write_translations","\u002Freference\u002Fmcp\u002Fwrite_translations","9.reference\u002F2.mcp\u002Fwrite_translations",{"title":340,"path":341,"stem":342},"GitHub Action","\u002Freference\u002Faction","9.reference\u002F3.action",{"title":344,"path":345,"stem":346},"Programmatic API","\u002Freference\u002Fprogrammatic-api","9.reference\u002F4.programmatic-api",{"title":348,"icon":349,"path":350,"stem":351,"children":352,"page":21},"Extra Topics","i-lucide-microscope","\u002Fextra-topics","91.extra-topics",[353],{"title":354,"path":355,"stem":356},"How Detection Scores Adapters","\u002Fextra-topics\u002Fdetection-scoring","91.extra-topics\u002F1.detection-scoring",{"id":358,"title":344,"body":359,"description":383,"extension":793,"links":794,"meta":795,"navigation":429,"path":345,"seo":796,"stem":346,"__hash__":798},"docs\u002F9.reference\u002F4.programmatic-api.md",{"type":360,"value":361,"toc":788},"minimark",[362,371,376,568,580,584,587,725,728,736,740,784],[363,364,365,366,370],"p",{},"Every operation behind a command is exported from ",[367,368,369],"code",{},"@the-i18n-kit\u002Fcli",". A tool\nthat needs translation data can call the operation rather than spawning the CLI\nand parsing its output — which is how the MCP server is built.",[372,373,375],"h2",{"id":374},"using-it","Using It",[377,378,384],"pre",{"className":379,"code":380,"filename":381,"language":382,"meta":383,"style":383},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { detectConfig, getTranslationStatus } from '@the-i18n-kit\u002Fcli'\n\nconst config = await detectConfig(process.cwd())\nconst status = await getTranslationStatus({ projectDir: process.cwd() })\n\nconsole.log(`${config.locales.length} locales across ${config.layers.length} layers`)\n","scripts\u002Fcoverage.ts","ts","",[367,385,386,424,431,462,505,510],{"__ignoreMap":383},[387,388,391,395,399,403,406,409,412,415,418,421],"span",{"class":389,"line":390},"line",1,[387,392,394],{"class":393},"s7zQu","import",[387,396,398],{"class":397},"sMK4o"," {",[387,400,402],{"class":401},"sTEyZ"," detectConfig",[387,404,405],{"class":397},",",[387,407,408],{"class":401}," getTranslationStatus",[387,410,411],{"class":397}," }",[387,413,414],{"class":393}," from",[387,416,417],{"class":397}," '",[387,419,369],{"class":420},"sfazB",[387,422,423],{"class":397},"'\n",[387,425,427],{"class":389,"line":426},2,[387,428,430],{"emptyLinePlaceholder":429},true,"\n",[387,432,434,438,441,444,447,450,453,456,459],{"class":389,"line":433},3,[387,435,437],{"class":436},"spNyl","const",[387,439,440],{"class":401}," config ",[387,442,443],{"class":397},"=",[387,445,446],{"class":393}," await",[387,448,402],{"class":449},"s2Zo4",[387,451,452],{"class":401},"(process",[387,454,455],{"class":397},".",[387,457,458],{"class":449},"cwd",[387,460,461],{"class":401},"())\n",[387,463,465,467,470,472,474,476,479,482,486,489,492,494,496,499,502],{"class":389,"line":464},4,[387,466,437],{"class":436},[387,468,469],{"class":401}," status ",[387,471,443],{"class":397},[387,473,446],{"class":393},[387,475,408],{"class":449},[387,477,478],{"class":401},"(",[387,480,481],{"class":397},"{",[387,483,485],{"class":484},"swJcz"," projectDir",[387,487,488],{"class":397},":",[387,490,491],{"class":401}," process",[387,493,455],{"class":397},[387,495,458],{"class":449},[387,497,498],{"class":401},"() ",[387,500,501],{"class":397},"}",[387,503,504],{"class":401},")\n",[387,506,508],{"class":389,"line":507},5,[387,509,430],{"emptyLinePlaceholder":429},[387,511,513,516,518,521,523,526,529,531,534,536,539,541,544,547,549,551,554,556,558,560,563,566],{"class":389,"line":512},6,[387,514,515],{"class":401},"console",[387,517,455],{"class":397},[387,519,520],{"class":449},"log",[387,522,478],{"class":401},[387,524,525],{"class":397},"`${",[387,527,528],{"class":401},"config",[387,530,455],{"class":397},[387,532,533],{"class":401},"locales",[387,535,455],{"class":397},[387,537,538],{"class":401},"length",[387,540,501],{"class":397},[387,542,543],{"class":420}," locales across ",[387,545,546],{"class":397},"${",[387,548,528],{"class":401},[387,550,455],{"class":397},[387,552,553],{"class":401},"layers",[387,555,455],{"class":397},[387,557,538],{"class":401},[387,559,501],{"class":397},[387,561,562],{"class":420}," layers",[387,564,565],{"class":397},"`",[387,567,504],{"class":401},[363,569,570,571,574,575,579],{},"Operations take a ",[367,572,573],{},"projectDir"," and return plain data. Nothing writes to stdout,\nso the return value is the whole result — there is no output to parse and no\n",[576,577,578],"a",{"href":19},"stdout guard"," to work around.",[372,581,583],{"id":582},"what-is-exported","What Is Exported",[363,585,586],{},"The same set the MCP server consumes, grouped by what it does:",[588,589,590,603],"table",{},[591,592,593],"thead",{},[594,595,596,600],"tr",{},[597,598,599],"th",{},"Group",[597,601,602],{},"Operations",[604,605,606,623,645,667,680,702,712],"tbody",{},[594,607,608,611],{},[609,610,84],"td",{},[609,612,613,616,617,616,620],{},[367,614,615],{},"detectConfig",", ",[367,618,619],{},"listLocaleDirs",[367,621,622],{},"listNamespaces",[594,624,625,628],{},[609,626,627],{},"Reading",[609,629,630,616,633,616,636,616,639,616,642],{},[367,631,632],{},"getTranslations",[367,634,635],{},"getMissingTranslations",[367,637,638],{},"getTranslationStatus",[367,640,641],{},"findEmptyTranslations",[367,643,644],{},"searchTranslations",[594,646,647,650],{},[609,648,649],{},"Writing",[609,651,652,616,655,616,658,616,661,616,664],{},[367,653,654],{},"writeTranslations",[367,656,657],{},"addTranslations",[367,659,660],{},"updateTranslations",[367,662,663],{},"removeTranslations",[367,665,666],{},"renameTranslationKey",[594,668,669,672],{},[609,670,671],{},"Translating",[609,673,674,616,677],{},[367,675,676],{},"translateMissing",[367,678,679],{},"translateKey",[594,681,682,685],{},[609,683,684],{},"Analysis",[609,686,687,616,690,616,693,616,696,616,699],{},[367,688,689],{},"findOrphanKeys",[367,691,692],{},"removeOrphanKeys",[367,694,695],{},"scanCodeUsage",[367,697,698],{},"findDuplicateKeys",[367,700,701],{},"checkUndefinedKeys",[594,703,704,707],{},[609,705,706],{},"Setup",[609,708,709],{},[367,710,711],{},"scaffoldLocaleFiles",[594,713,714,717],{},[609,715,716],{},"Locales",[609,718,719,616,722],{},[367,720,721],{},"findLocaleImpl",[367,723,724],{},"resolveProtectedLocales",[363,726,727],{},"Result types are exported alongside them, so a consumer types its own handling\nrather than restating the shape.",[729,730,731,732,735],"note",{},"The command for each of these is documented in the ",[576,733,734],{"href":185},"CLI reference",",\nincluding its flags. An operation and its command take the same options under\nthe same names, because the command is a thin wrapper around the operation.",[372,737,739],{"id":738},"limits","Limits",[741,742,743,758,768],"ul",{},[744,745,746,753,754,757],"li",{},[747,748,749,750,752],"strong",{},"The public surface is what ",[367,751,369],{}," exports, and nothing deeper.","\nThe build emits content-hashed chunks, so a path into ",[367,755,756],{},"dist"," is not a stable\nimport and will change on the next release.",[744,759,760,763,764,767],{},[747,761,762],{},"Operations validate their own input"," and throw a ",[367,765,766],{},"ToolError"," carrying a\ncode. They do not set an exit code — that is the command's job, not the\noperation's.",[744,769,770,773,774,776,777,780,781,455],{},[747,771,772],{},"Translating needs a provider."," Called without one, ",[367,775,676],{},"\nreturns every key as skipped with reason ",[367,778,779],{},"no-provider"," rather than throwing;\nsee ",[576,782,783],{"href":247},"the translate command",[785,786,787],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":383,"searchDepth":433,"depth":433,"links":789},[790,791,792],{"id":374,"depth":426,"text":375},{"id":582,"depth":426,"text":583},{"id":738,"depth":426,"text":739},"md",null,{},{"description":797,"title":344},"Every operation the CLI runs is exported as a library, so another tool can call it directly instead of parsing command output.","NcIqjvJA6RH7Rs8Yke_jw_CT2Kiw1DccaFNioYVUrqs",[800,801],{"title":340,"path":341,"stem":342,"description":383,"children":-1},{"title":354,"path":355,"stem":356,"description":383,"children":-1},1787604657127]