[{"data":1,"prerenderedAt":498},["ShallowReactive",2],{"navigation_docs":3,"-platform-contributing":196,"-platform-contributing-surround":493},[4,127,166],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":36},"Kinotic Apps","i-lucide-rocket","\u002Fapps","1.apps",[10,14,18,37,58,91,106,122],{"title":11,"path":12,"stem":13},"Introduction","\u002Fapps\u002Fintroduction","1.apps\u002F1.introduction",{"title":15,"path":16,"stem":17},"Quick Start","\u002Fapps\u002Fquick-start","1.apps\u002F2.quick-start",{"title":19,"icon":20,"path":21,"stem":22,"children":23,"page":36},"Application Structure","i-lucide-folder-tree","\u002Fapps\u002Fapplication-structure","1.apps\u002F3.application-structure",[24,28,32],{"title":25,"path":26,"stem":27},"Overview","\u002Fapps\u002Fapplication-structure\u002Foverview","1.apps\u002F3.application-structure\u002F1.overview",{"title":29,"path":30,"stem":31},"Applications and Projects","\u002Fapps\u002Fapplication-structure\u002Fapplications-and-projects","1.apps\u002F3.application-structure\u002F2.applications-and-projects",{"title":33,"path":34,"stem":35},"Artifact Types","\u002Fapps\u002Fapplication-structure\u002Fartifact-types","1.apps\u002F3.application-structure\u002F3.artifact-types",false,{"title":38,"icon":39,"path":40,"stem":41,"children":42,"page":36},"Services","i-lucide-network","\u002Fapps\u002Fservices","1.apps\u002F4.services",[43,46,50,54],{"title":25,"path":44,"stem":45},"\u002Fapps\u002Fservices\u002Foverview","1.apps\u002F4.services\u002F1.overview",{"title":47,"path":48,"stem":49},"Publishing Services","\u002Fapps\u002Fservices\u002Fpublishing-services","1.apps\u002F4.services\u002F2.publishing-services",{"title":51,"path":52,"stem":53},"Service Proxies","\u002Fapps\u002Fservices\u002Fservice-proxies","1.apps\u002F4.services\u002F3.service-proxies",{"title":55,"path":56,"stem":57},"Streaming","\u002Fapps\u002Fservices\u002Fstreaming","1.apps\u002F4.services\u002F4.streaming",{"title":59,"icon":60,"path":61,"stem":62,"children":63,"page":36},"Persistence","i-lucide-database","\u002Fapps\u002Fpersistence","1.apps\u002F5.persistence",[64,67,71,75,79,83,87],{"title":25,"path":65,"stem":66},"\u002Fapps\u002Fpersistence\u002Foverview","1.apps\u002F5.persistence\u002F1.overview",{"title":68,"path":69,"stem":70},"Defining Entities","\u002Fapps\u002Fpersistence\u002Fdefining-entities","1.apps\u002F5.persistence\u002F2.defining-entities",{"title":72,"path":73,"stem":74},"Entity Decorators","\u002Fapps\u002Fpersistence\u002Fentity-decorators","1.apps\u002F5.persistence\u002F3.entity-decorators",{"title":76,"path":77,"stem":78},"CRUD Operations","\u002Fapps\u002Fpersistence\u002Fcrud-operations","1.apps\u002F5.persistence\u002F4.crud-operations",{"title":80,"path":81,"stem":82},"Named Queries","\u002Fapps\u002Fpersistence\u002Fnamed-queries","1.apps\u002F5.persistence\u002F5.named-queries",{"title":84,"path":85,"stem":86},"Multi-Tenancy","\u002Fapps\u002Fpersistence\u002Fmulti-tenancy","1.apps\u002F5.persistence\u002F6.multi-tenancy",{"title":88,"path":89,"stem":90},"Migrations","\u002Fapps\u002Fpersistence\u002Fmigrations","1.apps\u002F5.persistence\u002F7.migrations",{"title":92,"icon":93,"path":94,"stem":95,"children":96,"page":36},"Security","i-lucide-shield-check","\u002Fapps\u002Fsecurity","1.apps\u002F6.security",[97,101],{"title":98,"path":99,"stem":100,"icon":93},"Access Control","\u002Fapps\u002Fsecurity\u002Faccess-control","1.apps\u002F6.security\u002F1.access-control",{"title":102,"path":103,"stem":104,"icon":105},"Authentication","\u002Fapps\u002Fsecurity\u002Fauthentication","1.apps\u002F6.security\u002F2.authentication","i-lucide-key-round",{"title":107,"icon":108,"path":109,"stem":110,"children":111,"page":36},"Deployment","i-lucide-cloud-upload","\u002Fapps\u002Fdeployment","1.apps\u002F7.deployment",[112,117],{"title":113,"path":114,"stem":115,"icon":116},"Deployment Workflow","\u002Fapps\u002Fdeployment\u002Fworkflow","1.apps\u002F7.deployment\u002F1.workflow","i-lucide-git-branch",{"title":118,"path":119,"stem":120,"icon":121},"Environments","\u002Fapps\u002Fdeployment\u002Fenvironments","1.apps\u002F7.deployment\u002F2.environments","i-lucide-server",{"title":123,"path":124,"stem":125,"icon":126},"CLI Reference","\u002Fapps\u002Fcli-reference","1.apps\u002F8.cli-reference","i-lucide-terminal",{"title":128,"icon":121,"path":129,"stem":130,"children":131,"page":36},"Kinotic OS","\u002Fplatform","2.platform",[132,137,141,146,151,156,161],{"title":133,"path":134,"stem":135,"icon":136},"System Architecture","\u002Fplatform\u002Farchitecture","2.platform\u002F1.architecture","i-lucide-boxes",{"title":138,"path":139,"stem":140,"icon":6},"Deployment Guide","\u002Fplatform\u002Fdeployment-guide","2.platform\u002F2.deployment-guide",{"title":142,"path":143,"stem":144,"icon":145},"Configuration","\u002Fplatform\u002Fconfiguration","2.platform\u002F3.configuration","i-lucide-settings",{"title":147,"path":148,"stem":149,"icon":150},"Organization Management","\u002Fplatform\u002Forganization-management","2.platform\u002F4.organization-management","i-lucide-building-2",{"title":152,"path":153,"stem":154,"icon":155},"System Security","\u002Fplatform\u002Fsystem-security","2.platform\u002F5.system-security","i-lucide-shield",{"title":157,"path":158,"stem":159,"icon":160},"Observability","\u002Fplatform\u002Fobservability","2.platform\u002F6.observability","i-lucide-activity",{"title":162,"path":163,"stem":164,"icon":165},"Contributing","\u002Fplatform\u002Fcontributing","2.platform\u002F7.contributing","i-lucide-git-pull-request",{"title":167,"icon":168,"path":169,"stem":170,"children":171,"page":36},"Reference","i-lucide-book-open","\u002Freference","3.reference",[172,177,181,186,191],{"title":173,"path":174,"stem":175,"icon":176},"Decorators Reference","\u002Freference\u002Fdecorators","3.reference\u002F1.decorators","i-lucide-at-sign",{"title":178,"path":179,"stem":180,"icon":60},"Migration SQL Grammar","\u002Freference\u002Fmigration-sql-grammar","3.reference\u002F2.migration-sql-grammar",{"title":182,"path":183,"stem":184,"icon":185},"ABAC Expression Language","\u002Freference\u002Fabac-expression-language","3.reference\u002F3.abac-expression-language","i-lucide-file-code",{"title":187,"path":188,"stem":189,"icon":190},"CRI Format","\u002Freference\u002Fcri-format","3.reference\u002F4.cri-format","i-lucide-link",{"title":192,"path":193,"stem":194,"icon":195},"SDK Packages","\u002Freference\u002Fsdk-packages","3.reference\u002F5.sdk-packages","i-lucide-package",{"id":197,"title":162,"body":198,"description":486,"extension":487,"links":488,"meta":489,"navigation":490,"path":163,"seo":491,"stem":164,"__hash__":492},"docs\u002F2.platform\u002F7.contributing.md",{"type":199,"value":200,"toc":472},"minimark",[201,205,209,213,302,306,311,333,337,370,374,401,405,409,421,425,442,446,468],[202,203,25],"h2",{"id":204},"overview",[206,207,208],"p",{},"We welcome contributions to Kinotic OS. This guide covers the repository structure, build process, and contribution workflow.",[202,210,212],{"id":211},"repository-structure","Repository Structure",[214,215,216,229],"table",{},[217,218,219],"thead",{},[220,221,222,226],"tr",{},[223,224,225],"th",{},"Directory",[223,227,228],{},"Description",[230,231,232,244,254,272,282,292],"tbody",{},[220,233,234,241],{},[235,236,237],"td",{},[238,239,240],"code",{},"kinotic-core\u002F",[235,242,243],{},"Java\u002FKotlin backend (Spring Boot) — RPC gateway, service registry, authentication, Cedar policy engine",[220,245,246,251],{},[235,247,248],{},[238,249,250],{},"kinotic-domain\u002F",[235,252,253],{},"Domain model and OS API services — application, project, and cluster management",[220,255,256,261],{},[235,257,258],{},[238,259,260],{},"kinotic-js\u002F",[235,262,263,264,267,268,271],{},"TypeScript SDK workspace (Bun) — ",[238,265,266],{},"@kinotic-ai\u002Fcore",", ",[238,269,270],{},"@kinotic-ai\u002Fpersistence",", and related packages",[220,273,274,279],{},[235,275,276],{},[238,277,278],{},"kinotic-frontend\u002F",[235,280,281],{},"Vue.js admin UI — the Kinotic OS dashboard",[220,283,284,289],{},[235,285,286],{},[238,287,288],{},"website\u002F",[235,290,291],{},"Documentation site (Docus\u002FNuxt)",[220,293,294,299],{},[235,295,296],{},[238,297,298],{},"deployment\u002F",[235,300,301],{},"Helm charts, Docker Compose, Terraform configurations",[202,303,305],{"id":304},"building","Building",[307,308,310],"h3",{"id":309},"javakotlin-backend","Java\u002FKotlin Backend",[312,313,318],"pre",{"className":314,"code":315,"language":316,"meta":317,"style":317},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight",".\u002Fgradlew build\n","bash","",[238,319,320],{"__ignoreMap":317},[321,322,325,329],"span",{"class":323,"line":324},"line",1,[321,326,328],{"class":327},"sBMFI",".\u002Fgradlew",[321,330,332],{"class":331},"sfazB"," build\n",[307,334,336],{"id":335},"typescript-sdk","TypeScript SDK",[312,338,340],{"className":314,"code":339,"language":316,"meta":317,"style":317},"cd kinotic-js\nbun install\nbun run build\n",[238,341,342,351,360],{"__ignoreMap":317},[321,343,344,348],{"class":323,"line":324},[321,345,347],{"class":346},"s2Zo4","cd",[321,349,350],{"class":331}," kinotic-js\n",[321,352,354,357],{"class":323,"line":353},2,[321,355,356],{"class":327},"bun",[321,358,359],{"class":331}," install\n",[321,361,363,365,368],{"class":323,"line":362},3,[321,364,356],{"class":327},[321,366,367],{"class":331}," run",[321,369,332],{"class":331},[307,371,373],{"id":372},"website","Website",[312,375,377],{"className":314,"code":376,"language":316,"meta":317,"style":317},"cd website\nbun install\nbun run dev\n",[238,378,379,386,392],{"__ignoreMap":317},[321,380,381,383],{"class":323,"line":324},[321,382,347],{"class":346},[321,384,385],{"class":331}," website\n",[321,387,388,390],{"class":323,"line":353},[321,389,356],{"class":327},[321,391,359],{"class":331},[321,393,394,396,398],{"class":323,"line":362},[321,395,356],{"class":327},[321,397,367],{"class":331},[321,399,400],{"class":331}," dev\n",[202,402,404],{"id":403},"testing","Testing",[307,406,408],{"id":407},"javakotlin","Java\u002FKotlin",[312,410,412],{"className":314,"code":411,"language":316,"meta":317,"style":317},".\u002Fgradlew test\n",[238,413,414],{"__ignoreMap":317},[321,415,416,418],{"class":323,"line":324},[321,417,328],{"class":327},[321,419,420],{"class":331}," test\n",[307,422,424],{"id":423},"typescript-vitest","TypeScript (Vitest)",[312,426,428],{"className":314,"code":427,"language":316,"meta":317,"style":317},"cd kinotic-js\nbun test\n",[238,429,430,436],{"__ignoreMap":317},[321,431,432,434],{"class":323,"line":324},[321,433,347],{"class":346},[321,435,350],{"class":331},[321,437,438,440],{"class":323,"line":353},[321,439,356],{"class":327},[321,441,420],{"class":331},[202,443,445],{"id":444},"submitting-changes","Submitting Changes",[447,448,449,456,459,462],"ol",{},[450,451,452,453],"li",{},"Fork the repository and create a feature branch from ",[238,454,455],{},"develop",[450,457,458],{},"Make your changes with clear, descriptive commit messages",[450,460,461],{},"Ensure all tests pass before submitting",[450,463,464,465,467],{},"Submit a pull request against the ",[238,466,455],{}," branch",[469,470,471],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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);}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}",{"title":317,"searchDepth":353,"depth":353,"links":473},[474,475,476,481,485],{"id":204,"depth":353,"text":25},{"id":211,"depth":353,"text":212},{"id":304,"depth":353,"text":305,"children":477},[478,479,480],{"id":309,"depth":362,"text":310},{"id":335,"depth":362,"text":336},{"id":372,"depth":362,"text":373},{"id":403,"depth":353,"text":404,"children":482},[483,484],{"id":407,"depth":362,"text":408},{"id":423,"depth":362,"text":424},{"id":444,"depth":353,"text":445},"How to contribute to the Kinotic OS project.","md",null,{},{"icon":165},{"title":162,"description":486},"1g4UQQb4C-p3iysV9YGHD4jBrY-F35SpytGq6sqMSQo",[494,496],{"title":157,"path":158,"stem":159,"description":495,"icon":160,"children":-1},"Monitoring, tracing, and logging across your Kinotic applications.",{"title":173,"path":174,"stem":175,"description":497,"icon":176,"children":-1},"Complete reference for all Kinotic decorators.",1775187762911]