[{"data":1,"prerenderedAt":466},["ShallowReactive",2],{"content-page:docs:uCP1V-4EoXQFoGuyGRYmIclKhBq5Go4AjCbT1F9Lwxc":3,"docs-navigation:en":252,"content-page-surround:docs:uCP1V-4EoXQFoGuyGRYmIclKhBq5Go4AjCbT1F9Lwxc":457,"i-lucide:terminal":460,"i-lucide:clipboard":464},{"title":4,"description":5,"icon":6,"body":7,"type":230,"id":231,"canonicalKey":232,"draft":233,"partial":233,"locale":234,"collection":235,"navigationFile":233,"file":236,"resolvedRefs":241,"route":246,"resolution":249},"Lupinum OSS handbook","Use one tested path to create, operate, and release Lupinum open-source projects.","lucide:book-open",{"type":8,"children":9,"toc":221},"root",[10,18,23,30,66,86,92,97,165,170,176,210,216],{"type":11,"tag":12,"props":13,"children":14},"element","p",{},[15],{"type":16,"value":17},"text","Lupinum OSS is the operating handbook for Lupinum open-source work. It records\nthe rules that must remain consistent across repositories. Tested starters put\nthose rules into new projects. A thin Codex skill helps an agent apply and\ncheck them.",{"type":11,"tag":12,"props":19,"children":20},{},[21],{"type":16,"value":22},"The system has one purpose: a maintainer must be able to make a change and\nrelease it safely without reconstructing the process from memory.",{"type":11,"tag":24,"props":25,"children":27},"h2",{"id":26},"what-the-system-contains",[28],{"type":16,"value":29},"What the system contains",{"type":11,"tag":31,"props":32,"children":33},"ul",{},[34,46,56],{"type":11,"tag":35,"props":36,"children":37},"li",{},[38,44],{"type":11,"tag":39,"props":40,"children":41},"strong",{},[42],{"type":16,"value":43},"This handbook",{"type":16,"value":45}," explains shared policy and external service setup.",{"type":11,"tag":35,"props":47,"children":48},{},[49,54],{"type":11,"tag":39,"props":50,"children":51},{},[52],{"type":16,"value":53},"Repository starters",{"type":16,"value":55}," contain complete starting points for a library, a\npackage monorepo, and a deployed app.",{"type":11,"tag":35,"props":57,"children":58},{},[59,64],{"type":11,"tag":39,"props":60,"children":61},{},[62],{"type":16,"value":63},"The Codex skill",{"type":16,"value":65}," creates and audits repositories by reading this handbook\nand the target repository's local instructions.",{"type":11,"tag":12,"props":67,"children":68},{},[69,71,77,79,84],{"type":16,"value":70},"Every generated repository remains self-contained. ",{"type":11,"tag":72,"props":73,"children":74},"code",{},[75],{"type":16,"value":76},"AGENTS.md",{"type":16,"value":78}," records its\narchitecture and invariants. ",{"type":11,"tag":72,"props":80,"children":81},{},[82],{"type":16,"value":83},"MAINTAINING.md",{"type":16,"value":85}," records its daily procedures.\nThe repository does not depend on the skill at runtime.",{"type":11,"tag":24,"props":87,"children":89},{"id":88},"use-the-same-maintainer-interface",[90],{"type":16,"value":91},"Use the same maintainer interface",{"type":11,"tag":12,"props":93,"children":94},{},[95],{"type":16,"value":96},"Every applicable repository exposes these commands:",{"type":11,"tag":98,"props":99,"children":102},"pre",{"language":100,"class":101},"bash","shiki shiki-themes light-plus dark-plus dark:dark-plus",[103],{"type":11,"tag":72,"props":104,"children":106},{"class":105},"language-bash",[107,125,127,139,140,152,153],{"type":11,"tag":108,"props":109,"children":112},"span",{"class":110,"style":111},"line","display: inline",[113,119],{"type":11,"tag":108,"props":114,"children":116},{"style":115},"color:#795E26;--shiki-dark:#DCDCAA",[117],{"type":16,"value":118},"pnpm",{"type":11,"tag":108,"props":120,"children":122},{"style":121},"color:#A31515;--shiki-dark:#CE9178",[123],{"type":16,"value":124}," verify",{"type":16,"value":126},"\n",{"type":11,"tag":108,"props":128,"children":129},{"class":110,"style":111},[130,134],{"type":11,"tag":108,"props":131,"children":132},{"style":115},[133],{"type":16,"value":118},{"type":11,"tag":108,"props":135,"children":136},{"style":121},[137],{"type":16,"value":138}," docs:build",{"type":16,"value":126},{"type":11,"tag":108,"props":141,"children":142},{"class":110,"style":111},[143,147],{"type":11,"tag":108,"props":144,"children":145},{"style":115},[146],{"type":16,"value":118},{"type":11,"tag":108,"props":148,"children":149},{"style":121},[150],{"type":16,"value":151}," audit:all",{"type":16,"value":126},{"type":11,"tag":108,"props":154,"children":155},{"class":110,"style":111},[156,160],{"type":11,"tag":108,"props":157,"children":158},{"style":115},[159],{"type":16,"value":118},{"type":11,"tag":108,"props":161,"children":162},{"style":121},[163],{"type":16,"value":164}," release:verify",{"type":11,"tag":12,"props":166,"children":167},{},[168],{"type":16,"value":169},"The internal commands can differ. Their purpose must not differ.",{"type":11,"tag":24,"props":171,"children":173},{"id":172},"read-by-task",[174],{"type":16,"value":175},"Read by task",{"type":11,"tag":177,"props":178,"children":180},"cards",{"cols":179},"2",[181,189,196,203],{"type":11,"tag":182,"props":183,"children":188},"card",{"title":184,"description":185,"icon":186,"to":187},"Start a repository","Choose a profile and complete the launch checklist.","lucide:folder-plus","$docs\u002Fget-started\u002Fchoose-a-profile",[],{"type":11,"tag":182,"props":190,"children":195},{"title":191,"description":192,"icon":193,"to":194},"Release a package","Use the first-release or normal-release procedure.","lucide:package-check","$docs\u002Fprocedures\u002Ffirst-npm-release",[],{"type":11,"tag":182,"props":197,"children":202},{"title":198,"description":199,"icon":200,"to":201},"Fix a failure","Diagnose npm, GitHub Actions, Vercel, or analytics.","lucide:wrench","$docs\u002Ftroubleshooting",[],{"type":11,"tag":182,"props":204,"children":209},{"title":205,"description":206,"icon":207,"to":208},"Audit a repository","Check the stored files and external controls.","lucide:clipboard-check","$docs\u002Fchecklists\u002Fquarterly-audit",[],{"type":11,"tag":24,"props":211,"children":213},{"id":212},"governing-principle",[214],{"type":16,"value":215},"Governing principle",{"type":11,"tag":12,"props":217,"children":218},{},[219],{"type":16,"value":220},"Prefer deletion, then simplification, then replacement, and only then addition.\nThe standard protects important boundaries. It does not require identical\nsource folders when the products have different technical needs.",{"title":222,"searchDepth":223,"depth":223,"links":224},"",4,[225,227,228,229],{"id":26,"depth":226,"text":29},2,{"id":88,"depth":226,"text":91},{"id":172,"depth":226,"text":175},{"id":212,"depth":226,"text":215},"markdown","content:docs:1.get-started:1.index.md","1",false,"en","docs",{"source":237,"path":238,"stem":239,"dir":235,"extension":240},"content","docs\u002F1.get-started\u002F1.index.md","docs\u002F1.get-started\u002F1.index","md",{"$docs\u002Fget-started\u002Fchoose-a-profile":242,"$docs\u002Fprocedures\u002Ffirst-npm-release":243,"$docs\u002Ftroubleshooting":244,"$docs\u002Fchecklists\u002Fquarterly-audit":245},"\u002Fdocs\u002Fget-started\u002Fchoose-a-profile","\u002Fdocs\u002Fprocedures\u002Ffirst-npm-release","\u002Fdocs\u002Ftroubleshooting","\u002Fdocs\u002Fchecklists\u002Fquarterly-audit",{"requestedPath":247,"resolvedPath":247,"alternates":248},"\u002Fdocs\u002Fget-started",[],{"requested":250,"resolved":251,"usedFallback":233},{},{"locale":234},[253,266,323,378,404],{"title":4,"id":231,"canonicalKey":232,"locale":234,"draft":233,"icon":6,"path":247,"children":254},[255,260],{"title":256,"id":257,"canonicalKey":258,"locale":234,"draft":233,"icon":259,"path":242},"Choose a repository profile","content:docs:1.get-started:2.choose-a-profile.md","1\u002F2","lucide:git-branch",{"title":261,"id":262,"canonicalKey":263,"locale":234,"draft":233,"icon":264,"path":265},"New project path","content:docs:1.get-started:3.new-project-path.md","1\u002F3","lucide:route","\u002Fdocs\u002Fget-started\u002Fnew-project-path",{"title":267,"page":233,"canonicalKey":179,"locale":234,"children":268},"Standards",[269,275,281,287,293,299,305,311,317],{"title":270,"id":271,"canonicalKey":272,"locale":234,"draft":233,"icon":273,"path":274},"Repository structure","content:docs:2.standards:1.repository-structure.md","2\u002F1","lucide:folders","\u002Fdocs\u002Fstandards\u002Frepository-structure",{"title":276,"id":277,"canonicalKey":278,"locale":234,"draft":233,"icon":279,"path":280},"Documentation ownership","content:docs:2.standards:2.documentation-ownership.md","2\u002F2","lucide:files","\u002Fdocs\u002Fstandards\u002Fdocumentation-ownership",{"title":282,"id":283,"canonicalKey":284,"locale":234,"draft":233,"icon":285,"path":286},"GitHub and contributions","content:docs:2.standards:3.github-and-contributions.md","2\u002F3","lucide:github","\u002Fdocs\u002Fstandards\u002Fgithub-and-contributions",{"title":288,"id":289,"canonicalKey":290,"locale":234,"draft":233,"icon":291,"path":292},"Dependency policy","content:docs:2.standards:4.dependencies.md","2\u002F4","lucide:package-search","\u002Fdocs\u002Fstandards\u002Fdependencies",{"title":294,"id":295,"canonicalKey":296,"locale":234,"draft":233,"icon":297,"path":298},"Release security","content:docs:2.standards:5.release-security.md","2\u002F5","lucide:shield-check","\u002Fdocs\u002Fstandards\u002Frelease-security",{"title":300,"id":301,"canonicalKey":302,"locale":234,"draft":233,"icon":303,"path":304},"Package previews","content:docs:2.standards:6.package-previews.md","2\u002F6","lucide:package-open","\u002Fdocs\u002Fstandards\u002Fpackage-previews",{"title":306,"id":307,"canonicalKey":308,"locale":234,"draft":233,"icon":309,"path":310},"Documentation sites","content:docs:2.standards:7.documentation-sites.md","2\u002F7","lucide:panel-top","\u002Fdocs\u002Fstandards\u002Fdocumentation-sites",{"title":312,"id":313,"canonicalKey":314,"locale":234,"draft":233,"icon":315,"path":316},"Analytics and feedback","content:docs:2.standards:8.analytics-and-feedback.md","2\u002F8","lucide:chart-no-axes-combined","\u002Fdocs\u002Fstandards\u002Fanalytics-and-feedback",{"title":318,"id":319,"canonicalKey":320,"locale":234,"draft":233,"icon":321,"path":322},"Security and agents","content:docs:2.standards:9.security-and-agents.md","2\u002F9","lucide:bot-message-square","\u002Fdocs\u002Fstandards\u002Fsecurity-and-agents",{"title":324,"page":233,"canonicalKey":325,"locale":234,"children":326},"Procedures","3",[327,332,337,342,348,354,360,366,372],{"title":328,"id":329,"canonicalKey":330,"locale":234,"draft":233,"icon":186,"path":331},"Create a repository","content:docs:3.procedures:1.create-a-repository.md","3\u002F1","\u002Fdocs\u002Fprocedures\u002Fcreate-a-repository",{"title":333,"id":334,"canonicalKey":335,"locale":234,"draft":233,"icon":336,"path":243},"First npm release","content:docs:3.procedures:2.first-npm-release.md","3\u002F2","lucide:package-plus",{"title":338,"id":339,"canonicalKey":340,"locale":234,"draft":233,"icon":193,"path":341},"Normal release","content:docs:3.procedures:3.normal-release.md","3\u002F3","\u002Fdocs\u002Fprocedures\u002Fnormal-release",{"title":343,"id":344,"canonicalKey":345,"locale":234,"draft":233,"icon":346,"path":347},"Prerelease","content:docs:3.procedures:4.prerelease.md","3\u002F4","lucide:flask-conical","\u002Fdocs\u002Fprocedures\u002Fprerelease",{"title":349,"id":350,"canonicalKey":351,"locale":234,"draft":233,"icon":352,"path":353},"Hotfix","content:docs:3.procedures:5.hotfix.md","3\u002F5","lucide:ambulance","\u002Fdocs\u002Fprocedures\u002Fhotfix",{"title":355,"id":356,"canonicalKey":357,"locale":234,"draft":233,"icon":358,"path":359},"Rollback","content:docs:3.procedures:6.rollback.md","3\u002F6","lucide:undo-2","\u002Fdocs\u002Fprocedures\u002Frollback",{"title":361,"id":362,"canonicalKey":363,"locale":234,"draft":233,"icon":364,"path":365},"Dependency update","content:docs:3.procedures:7.dependency-update.md","3\u002F7","lucide:refresh-cw","\u002Fdocs\u002Fprocedures\u002Fdependency-update",{"title":367,"id":368,"canonicalKey":369,"locale":234,"draft":233,"icon":370,"path":371},"Documentation change","content:docs:3.procedures:8.documentation-change.md","3\u002F8","lucide:file-pen-line","\u002Fdocs\u002Fprocedures\u002Fdocumentation-change",{"title":373,"id":374,"canonicalKey":375,"locale":234,"draft":233,"icon":376,"path":377},"Credential incident","content:docs:3.procedures:9.credential-incident.md","3\u002F9","lucide:key-round","\u002Fdocs\u002Fprocedures\u002Fcredential-incident",{"title":379,"page":233,"canonicalKey":380,"locale":234,"children":381},"Checklists","4",[382,388,393,399],{"title":383,"id":384,"canonicalKey":385,"locale":234,"draft":233,"icon":386,"path":387},"Repository launch checklist","content:docs:4.checklists:1.repository-launch.md","4\u002F1","lucide:list-checks","\u002Fdocs\u002Fchecklists\u002Frepository-launch",{"title":389,"id":390,"canonicalKey":391,"locale":234,"draft":233,"icon":336,"path":392},"First release checklist","content:docs:4.checklists:2.first-release.md","4\u002F2","\u002Fdocs\u002Fchecklists\u002Ffirst-release",{"title":394,"id":395,"canonicalKey":396,"locale":234,"draft":233,"icon":397,"path":398},"Production acceptance checklist","content:docs:4.checklists:3.production-acceptance.md","4\u002F3","lucide:monitor-check","\u002Fdocs\u002Fchecklists\u002Fproduction-acceptance",{"title":400,"id":401,"canonicalKey":402,"locale":234,"draft":233,"icon":403,"path":245},"Quarterly audit checklist","content:docs:4.checklists:4.quarterly-audit.md","4\u002F4","lucide:calendar-check",{"title":405,"id":406,"canonicalKey":407,"locale":234,"draft":233,"icon":200,"path":244,"children":408},"Troubleshooting","content:docs:5.troubleshooting:1.index.md","5",[409,415,421,427,433,439,445,451],{"title":410,"id":411,"canonicalKey":412,"locale":234,"draft":233,"icon":413,"path":414},"npm trusted publishing","content:docs:5.troubleshooting:2.npm-trusted-publishing.md","5\u002F2","lucide:shield-alert","\u002Fdocs\u002Ftroubleshooting\u002Fnpm-trusted-publishing",{"title":416,"id":417,"canonicalKey":418,"locale":234,"draft":233,"icon":419,"path":420},"GitHub Actions","content:docs:5.troubleshooting:3.github-actions.md","5\u002F3","lucide:workflow","\u002Fdocs\u002Ftroubleshooting\u002Fgithub-actions",{"title":422,"id":423,"canonicalKey":424,"locale":234,"draft":233,"icon":425,"path":426},"GitHub Action SHA errors","content:docs:5.troubleshooting:4.action-sha-errors.md","5\u002F4","lucide:git-commit-horizontal","\u002Fdocs\u002Ftroubleshooting\u002Faction-sha-errors",{"title":428,"id":429,"canonicalKey":430,"locale":234,"draft":233,"icon":431,"path":432},"Dependency quarantine","content:docs:5.troubleshooting:5.dependency-quarantine.md","5\u002F5","lucide:timer","\u002Fdocs\u002Ftroubleshooting\u002Fdependency-quarantine",{"title":434,"id":435,"canonicalKey":436,"locale":234,"draft":233,"icon":437,"path":438},"Vercel deployment","content:docs:5.troubleshooting:6.vercel.md","5\u002F6","lucide:triangle","\u002Fdocs\u002Ftroubleshooting\u002Fvercel",{"title":440,"id":441,"canonicalKey":442,"locale":234,"draft":233,"icon":443,"path":444},"Plausible analytics","content:docs:5.troubleshooting:7.plausible.md","5\u002F7","lucide:chart-no-axes-column-increasing","\u002Fdocs\u002Ftroubleshooting\u002Fplausible",{"title":446,"id":447,"canonicalKey":448,"locale":234,"draft":233,"icon":449,"path":450},"Package preview failures","content:docs:5.troubleshooting:8.package-previews.md","5\u002F8","lucide:package-x","\u002Fdocs\u002Ftroubleshooting\u002Fpackage-previews",{"title":452,"id":453,"canonicalKey":454,"locale":234,"draft":233,"icon":455,"path":456},"GitHub CLI authentication","content:docs:5.troubleshooting:9.github-cli-authentication.md","5\u002F9","lucide:terminal","\u002Fdocs\u002Ftroubleshooting\u002Fgithub-cli-authentication",{"previous":458,"next":459},null,{"title":256,"id":257,"canonicalKey":258,"locale":234,"draft":233,"path":242},{"left":461,"top":461,"width":462,"height":462,"rotate":461,"vFlip":233,"hFlip":233,"body":463},0,24,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 19h8M4 17l6-6l-6-6\"\u002F>",{"left":461,"top":461,"width":462,"height":462,"rotate":461,"vFlip":233,"hFlip":233,"body":465},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"8\" height=\"4\" x=\"8\" y=\"2\" rx=\"1\" ry=\"1\"\u002F>\u003Cpath d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"\u002F>\u003C\u002Fg>",1786663360742]