[{"data":1,"prerenderedAt":140},["ShallowReactive",2],{"sidebar:section-root:content_en:graph":3,"changelog-latest-release:content_en":4,"sidebar:collection:projects:/docs/about/projects:content_en":5,"docs-search:en:":37,"github-stars:davidaganov/davidaganov.github.io":38,"site-nav:all-sections:content_en":39,"top-projects:content_en":48,"docs-graph-json:en":55},[],1779148800000,[6,22],{"title":7,"description":8,"meta":9,"path":21},"Polyglot Keeper","AI-powered i18n synchronization tool that automatically translates missing keys and maintains perfect translation structure — in JSON and Markdown files.",{"icon":10,"npmPackage":11,"npmUrl":12,"githubRepo":13,"githubUrl":14,"publishedAt":15,"tags":16},"i-lucide-languages","polyglot-keeper","https://www.npmjs.com/package/polyglot-keeper","davidaganov/polyglot-keeper","https://github.com/davidaganov/polyglot-keeper","2025-12-15",[17,18,19,20],"CLI","i18n","AI","Node.js","/about/projects/polyglot-keeper",{"title":23,"description":24,"meta":25,"path":36},"Stack","CLI to generate projects from my templates — pick what you need, get a clean result without cruft.",{"icon":26,"npmPackage":27,"npmUrl":28,"githubRepo":29,"githubUrl":30,"publishedAt":31,"tags":32},"i-lucide-layers","@davidaganov/stack","https://www.npmjs.com/package/@davidaganov/stack","davidaganov/stack","https://github.com/davidaganov/stack","2026-05-09",[17,33,34,35],"Tools","Frontend","DX","/about/projects/stack",[],1,{"about":40,"guides":45,"tools":46,"changelog":47},[41],{"title":42,"meta":43,"path":44},"About Me",{},"/about/getting-started",[],[],[],[49,52],{"title":7,"description":8,"to":50,"githubRepo":13,"stars":51},"/docs/about/projects/polyglot-keeper",2,{"title":23,"description":24,"to":53,"githubRepo":29,"stars":54},"/docs/about/projects/stack",0,{"locale":56,"builtAt":57,"nodes":58,"links":115},"en","2026-05-20T23:06:55.308Z",[59,63,65,66,70,73,76,79,84,87,90,93,98,101,106,109,112],{"id":60,"title":42,"collectionKey":61,"kind":62,"hueIndex":54},"/docs/about/getting-started","about/__other","member",{"id":50,"title":7,"collectionKey":64,"kind":62,"hueIndex":38},"about/projects",{"id":53,"title":23,"collectionKey":64,"kind":62,"hueIndex":38},{"id":67,"title":68,"collectionKey":69,"kind":62,"hueIndex":51},"/docs/guides/articles/architecture","Project architecture","guides/articles",{"id":71,"title":72,"collectionKey":69,"kind":62,"hueIndex":51},"/docs/guides/articles/nuxt-layers","Working with Layers in Nuxt 3",{"id":74,"title":75,"collectionKey":69,"kind":62,"hueIndex":51},"/docs/guides/articles/services","Clean API Client",{"id":77,"title":78,"collectionKey":69,"kind":62,"hueIndex":51},"/docs/guides/articles/vibecoding","Mindful Vibe Coding",{"id":80,"title":81,"collectionKey":82,"kind":62,"hueIndex":83},"/docs/guides/starters/astro-clean-template","Astro Clean Template","guides/starters",3,{"id":85,"title":86,"collectionKey":82,"kind":62,"hueIndex":83},"/docs/guides/starters/vue-lynx-template","Vue Lynx Template",{"id":88,"title":89,"collectionKey":82,"kind":62,"hueIndex":83},"/docs/guides/starters/vue-modern-template","Vue Modern Template",{"id":91,"title":92,"collectionKey":82,"kind":62,"hueIndex":83},"/docs/guides/starters/vue-pwa-template","Vue PWA Template",{"id":94,"title":95,"collectionKey":96,"kind":62,"hueIndex":97},"/docs/tools/calculators/date-calculator","Date Calculator","tools/calculators",4,{"id":99,"title":100,"collectionKey":96,"kind":62,"hueIndex":97},"/docs/tools/calculators/time-calculator","Time Calculator",{"id":102,"title":103,"titleKey":104,"collectionKey":64,"kind":105,"hueIndex":38},"/docs/about/projects","","layout.navigation.menu.projects","index",{"id":107,"title":103,"titleKey":108,"collectionKey":69,"kind":105,"hueIndex":51},"/docs/guides/articles","layout.navigation.menu.articles",{"id":110,"title":103,"titleKey":111,"collectionKey":82,"kind":105,"hueIndex":83},"/docs/guides/starters","layout.navigation.menu.starters",{"id":113,"title":103,"titleKey":114,"collectionKey":96,"kind":105,"hueIndex":97},"/docs/tools/calculators","pages.tools.nav.calculators",[116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139],{"source":60,"target":102},{"source":60,"target":107},{"source":53,"target":110},{"source":67,"target":74},{"source":67,"target":71},{"source":80,"target":53},{"source":85,"target":53},{"source":85,"target":50},{"source":88,"target":53},{"source":88,"target":50},{"source":91,"target":53},{"source":91,"target":50},{"source":50,"target":102},{"source":53,"target":102},{"source":67,"target":107},{"source":71,"target":107},{"source":74,"target":107},{"source":77,"target":107},{"source":80,"target":110},{"source":85,"target":110},{"source":88,"target":110},{"source":91,"target":110},{"source":94,"target":113},{"source":99,"target":113},1779318430205]