trybeacon 0.1.90 → 0.1.92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.next/BUILD_ID +1 -1
  3. package/.next/app-path-routes-manifest.json +19 -19
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +3 -3
  6. package/.next/server/app/@modal/(.)settings/page.js +1 -1
  7. package/.next/server/app/@modal/(.)settings/page.js.nft.json +1 -1
  8. package/.next/server/app/@modal/(.)settings/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/_global-error.html +1 -1
  11. package/.next/server/app/_global-error.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  17. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  18. package/.next/server/app/_not-found/page.js +1 -1
  19. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  20. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  21. package/.next/server/app/_not-found.html +1 -1
  22. package/.next/server/app/_not-found.rsc +3 -3
  23. package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  24. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  26. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  27. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  28. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  29. package/.next/server/app/api/context/route.js +1 -1
  30. package/.next/server/app/api/ingest/route.js +1 -1
  31. package/.next/server/app/api/linear/route.js +1 -17
  32. package/.next/server/app/api/linear/route.js.nft.json +1 -1
  33. package/.next/server/app/api/linear/scopes/route.js +1 -17
  34. package/.next/server/app/api/linear/scopes/route.js.nft.json +1 -1
  35. package/.next/server/app/api/linear/sync/route.js +1 -17
  36. package/.next/server/app/api/linear/sync/route.js.nft.json +1 -1
  37. package/.next/server/app/api/plan/approve/route.js +1 -1
  38. package/.next/server/app/api/share/create/route.js +1 -1
  39. package/.next/server/app/docs/page.js +1 -1
  40. package/.next/server/app/docs/page.js.nft.json +1 -1
  41. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  42. package/.next/server/app/docs.html +1 -1
  43. package/.next/server/app/docs.rsc +4 -4
  44. package/.next/server/app/docs.segments/@modal/__DEFAULT__.segment.rsc +1 -1
  45. package/.next/server/app/docs.segments/_full.segment.rsc +4 -4
  46. package/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  47. package/.next/server/app/docs.segments/_index.segment.rsc +3 -3
  48. package/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  49. package/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +2 -2
  50. package/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  51. package/.next/server/app/help/page.js +2 -2
  52. package/.next/server/app/help/page.js.nft.json +1 -1
  53. package/.next/server/app/help/page_client-reference-manifest.js +1 -1
  54. package/.next/server/app/help.html +1 -1
  55. package/.next/server/app/help.rsc +4 -4
  56. package/.next/server/app/help.segments/@modal/__DEFAULT__.segment.rsc +1 -1
  57. package/.next/server/app/help.segments/_full.segment.rsc +4 -4
  58. package/.next/server/app/help.segments/_head.segment.rsc +1 -1
  59. package/.next/server/app/help.segments/_index.segment.rsc +3 -3
  60. package/.next/server/app/help.segments/_tree.segment.rsc +2 -2
  61. package/.next/server/app/help.segments/help/__PAGE__.segment.rsc +2 -2
  62. package/.next/server/app/help.segments/help.segment.rsc +1 -1
  63. package/.next/server/app/index.html +1 -1
  64. package/.next/server/app/index.rsc +3 -3
  65. package/.next/server/app/index.segments/@modal/__DEFAULT__.segment.rsc +1 -1
  66. package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  67. package/.next/server/app/index.segments/_full.segment.rsc +3 -3
  68. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  69. package/.next/server/app/index.segments/_index.segment.rsc +3 -3
  70. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  71. package/.next/server/app/learn/page.js +3 -3
  72. package/.next/server/app/learn/page.js.nft.json +1 -1
  73. package/.next/server/app/learn/page_client-reference-manifest.js +1 -1
  74. package/.next/server/app/map/page.js +2 -2
  75. package/.next/server/app/map/page.js.nft.json +1 -1
  76. package/.next/server/app/map/page_client-reference-manifest.js +1 -1
  77. package/.next/server/app/page.js +1 -1
  78. package/.next/server/app/page.js.nft.json +1 -1
  79. package/.next/server/app/page_client-reference-manifest.js +1 -1
  80. package/.next/server/app/parked/page.js +1 -1
  81. package/.next/server/app/parked/page.js.nft.json +1 -1
  82. package/.next/server/app/parked/page_client-reference-manifest.js +1 -1
  83. package/.next/server/app/plan/page.js +3 -3
  84. package/.next/server/app/plan/page.js.nft.json +1 -1
  85. package/.next/server/app/plan/page_client-reference-manifest.js +1 -1
  86. package/.next/server/app/s/[token]/page.js +2 -2
  87. package/.next/server/app/s/[token]/page.js.nft.json +1 -1
  88. package/.next/server/app/s/[token]/page_client-reference-manifest.js +1 -1
  89. package/.next/server/app/settings/page.js +1 -1
  90. package/.next/server/app/settings/page.js.nft.json +1 -1
  91. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  92. package/.next/server/app-paths-manifest.json +19 -19
  93. package/.next/server/chunks/1130.js +1 -1
  94. package/.next/server/chunks/1495.js +18 -0
  95. package/.next/server/chunks/{7436.js → 1898.js} +3 -3
  96. package/.next/server/chunks/2031.js +1 -1
  97. package/.next/server/chunks/2644.js +1 -0
  98. package/.next/server/chunks/3825.js +1 -1
  99. package/.next/server/chunks/4378.js +1 -1
  100. package/.next/server/chunks/{5332.js → 473.js} +3 -3
  101. package/.next/server/chunks/5623.js +1 -1
  102. package/.next/server/chunks/8227.js +1 -1
  103. package/.next/server/chunks/8709.js +8 -7
  104. package/.next/server/chunks/9683.js +1 -1
  105. package/.next/server/middleware-build-manifest.js +1 -1
  106. package/.next/server/pages/404.html +1 -1
  107. package/.next/server/pages/500.html +1 -1
  108. package/.next/server/server-reference-manifest.js +1 -1
  109. package/.next/server/server-reference-manifest.json +1 -1
  110. package/.next/static/chunks/2149-6eac4575d8a8281c.js +1 -0
  111. package/.next/static/chunks/{6283-20a6abe3453496ae.js → 3729-99f9edd66d1473ac.js} +3 -3
  112. package/.next/static/chunks/569-c70eb3d6c88282dc.js +1 -0
  113. package/.next/static/chunks/6818-051146427620d0f9.js +1 -0
  114. package/.next/static/chunks/8653-27d42df759159788.js +1 -0
  115. package/.next/static/chunks/app/@modal/(.)settings/page-77639f97e58859de.js +1 -0
  116. package/.next/static/chunks/app/docs/page-574e48b1b9519c80.js +1 -0
  117. package/.next/static/chunks/app/layout-6f04d1687adcd16e.js +1 -0
  118. package/.next/static/chunks/app/learn/{page-49bdcae5bf2a7a49.js → page-53c201dbfd759610.js} +1 -1
  119. package/.next/static/chunks/app/map/{page-6e32f55c7b69bfa0.js → page-147befd24a412e04.js} +1 -1
  120. package/.next/static/chunks/app/plan/{page-b8b89d7171a582ce.js → page-a35f98b97c750679.js} +2 -2
  121. package/.next/static/chunks/app/s/[token]/{page-7ebe66049fae02ce.js → page-db7be755d871820e.js} +1 -1
  122. package/.next/static/chunks/app/settings/page-c15764e1c2f54c5a.js +1 -0
  123. package/.next/static/css/b6c71ada5fa39830.css +1 -0
  124. package/.next/trace +47 -47
  125. package/.next/trace-build +1 -1
  126. package/dist/bin/ask.js +2 -2
  127. package/dist/bin/doctor.js +32 -30
  128. package/dist/bin/hook.js +31 -29
  129. package/dist/bin/mcp.js +41 -39
  130. package/dist/bin/plan.js +32 -30
  131. package/dist/bin/prompt.js +2 -2
  132. package/dist/bin/remove.js +3 -3
  133. package/dist/bin/stop-hook.js +4 -4
  134. package/dist/bin/uninstall.js +31 -29
  135. package/dist/lib/assets.js +20 -20
  136. package/dist/lib/codex-install.js +30 -28
  137. package/dist/lib/daemon-boot.js +11 -11
  138. package/dist/lib/global-install.js +31 -29
  139. package/drizzle/0013_quick_brother_voodoo.sql +1 -0
  140. package/drizzle/meta/0013_snapshot.json +1953 -0
  141. package/drizzle/meta/_journal.json +7 -0
  142. package/package.json +1 -1
  143. package/.next/server/chunks/2806.js +0 -1
  144. package/.next/static/chunks/2114-74736df56930b46c.js +0 -1
  145. package/.next/static/chunks/569-bfdcec83011428d3.js +0 -1
  146. package/.next/static/chunks/6818-85b9a09bb74062ef.js +0 -1
  147. package/.next/static/chunks/6930-1231a4681af2ad3f.js +0 -1
  148. package/.next/static/chunks/app/@modal/(.)settings/page-58f068e66bf2fdf6.js +0 -1
  149. package/.next/static/chunks/app/docs/page-126c0e42c71731b2.js +0 -1
  150. package/.next/static/chunks/app/layout-a8bb07fb86893add.js +0 -1
  151. package/.next/static/chunks/app/settings/page-435bfb2ac6f01744.js +0 -1
  152. package/.next/static/css/56890131dbc6daff.css +0 -1
  153. /package/.next/static/{l2BAGl1tReuc34hH3NvPZ → Ced4ZzirE-x-xhZEP02do}/_buildManifest.js +0 -0
  154. /package/.next/static/{l2BAGl1tReuc34hH3NvPZ → Ced4ZzirE-x-xhZEP02do}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en" data-theme="dark" data-surface="glass" class="dark __variable_246ccd __variable_c29908 h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/22a5144ee8d83bca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/7d4881bb7e1bf84d-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/e02ab5db9ff2dca2.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/56890131dbc6daff.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/53e84df868515cf7.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-62aea110c2700d74.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-cef5038dc7aa126a.js" async=""></script><script src="/_next/static/chunks/main-app-1a32dc335629e4e4.js" async=""></script><script src="/_next/static/chunks/70e0d97a-bbb0ec05083da54f.js" async=""></script><script src="/_next/static/chunks/54a60aa6-0378818fce5a4dc5.js" async=""></script><script src="/_next/static/chunks/8500-f62a38ff68ab7f42.js" async=""></script><script src="/_next/static/chunks/4888-911c0da3c2d785d2.js" async=""></script><script src="/_next/static/chunks/2114-74736df56930b46c.js" async=""></script><script src="/_next/static/chunks/5547-2c07851028a9033a.js" async=""></script><script src="/_next/static/chunks/app/layout-a8bb07fb86893add.js" async=""></script><script src="/_next/static/chunks/app/docs/page-126c0e42c71731b2.js" async=""></script><meta name="next-size-adjust" content=""/><title>Docs — Beacon</title><meta name="description" content="How Beacon works: install, the planning loop, the canvases, the CLI, and the Claude Code integration (skills, MCP tools, hooks)."/><link rel="icon" href="/icon.svg?bb93a1375ed3c298" type="image/svg+xml" sizes="any"/><link rel="apple-touch-icon" href="/apple-icon.png?f9d64651576bd776" type="image/png" sizes="180x180"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-full flex flex-col bg-background text-foreground"><div hidden=""><!--$--><!--/$--></div><script>(function(){try{var d=document.documentElement,t=localStorage.getItem("beacon-theme")||"dark",s=localStorage.getItem("beacon-surface")||"glass",m=t==='dark'||(t==='auto'&&window.matchMedia('(prefers-color-scheme:dark)').matches);d.dataset.theme=m?'dark':'light';d.classList.toggle('dark',m);d.dataset.surface=s;}catch(e){}})();</script><header data-app-nav="true" class="pointer-events-none fixed left-3 top-3 z-30"><div class="glass pointer-events-auto flex h-10 items-center gap-1 rounded-full pl-3 pr-1.5"><div class="flex items-center gap-1"><a class="mr-1 flex items-center gap-2 text-sm font-semibold tracking-tight" href="/"><svg width="18" height="18" viewBox="20 22 56 56" fill="none" class="text-foreground" aria-hidden="true"><path d="M48 33 L72.5 73 L23.5 73 Z" fill="none" stroke="var(--accent-2, #ff7a45)" stroke-width="7" stroke-linejoin="round" stroke-linecap="round"></path><circle cx="48" cy="29.5" r="7" fill="var(--accent-2, #ff7a45)"></circle></svg><span class="hidden lg:inline">Beacon</span></a><span aria-hidden="true" class="mx-1 h-5 w-px bg-border"></span><span class="font-mono text-xs text-muted-foreground">· <!-- -->beacon</span><span aria-hidden="true" class="mx-1 h-5 w-px bg-border"></span><nav class="flex items-center gap-0.5 text-sm"><a class="rounded-full px-3 py-1 text-[13px] tracking-tight transition-colors text-muted-foreground hover:bg-[var(--ink-hover)] hover:text-foreground" href="/plan">Plans</a><a class="rounded-full px-3 py-1 text-[13px] tracking-tight transition-colors text-muted-foreground hover:bg-[var(--ink-hover)] hover:text-foreground" href="/map">Map</a><a class="rounded-full px-3 py-1 text-[13px] tracking-tight transition-colors text-muted-foreground hover:bg-[var(--ink-hover)] hover:text-foreground" href="/learn">Learn</a><a class="rounded-full px-3 py-1 text-[13px] tracking-tight transition-colors text-muted-foreground hover:bg-[var(--ink-hover)] hover:text-foreground" href="/settings">Settings</a></nav><span aria-hidden="true" class="mx-1 h-5 w-px bg-border"></span><button type="button" aria-pressed="false" aria-label="Notes" title="Notes" class="flex items-center justify-center rounded-full p-1.5 transition-colors text-muted-foreground hover:bg-[var(--ink-hover)] hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sticky-note size-4" aria-hidden="true"><path d="M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z"></path><path d="M15 3v5a1 1 0 0 0 1 1h5"></path></svg></button></div></div></header><main class="flex flex-1 flex-col"><div class="welcome"><div class="welcome-bg" aria-hidden="true"></div><header class="fixed inset-x-0 top-0 z-50"><div class="mx-auto max-w-6xl px-6"><div class="w-load mt-4 glass flex items-center justify-between rounded-full py-2.5 pl-5 pr-3" style="animation-delay:.05s"><a class="flex items-center gap-2.5" href="/"><svg width="20" height="20" viewBox="20 22 56 56" fill="none" class="text-foreground" aria-hidden="true"><path d="M48 33 L72.5 73 L23.5 73 Z" fill="none" stroke="var(--accent-2, #ff7a45)" stroke-width="7" stroke-linejoin="round" stroke-linecap="round"></path><circle cx="48" cy="29.5" r="7" fill="var(--accent-2, #ff7a45)"></circle></svg><span class="font-semibold tracking-tight">Beacon</span><span class="w-mono w-eyebrow w-muted ml-1 hidden sm:inline">docs</span></a><nav class="flex items-center gap-6 text-sm w-muted"><a class="transition-colors hover:text-foreground" href="/">Home</a><a href="#install" class="transition-colors hover:text-foreground">Install</a></nav></div></div></header><div class="mx-auto max-w-6xl px-6 pb-24 pt-20"><div class="lg:grid lg:grid-cols-[15rem_1fr] lg:gap-14"><aside class="hidden lg:block"><nav class="sticky top-28"><p class="w-mono w-eyebrow w-muted mb-4">On this page</p><ul class="space-y-1.5 text-sm"><li><a href="#overview" class="block border-l-2 py-1 pl-3 transition-colors w-signal border-[#ff7a45]">What is Beacon</a></li><li><a href="#install" class="block border-l-2 py-1 pl-3 transition-colors w-muted border-transparent hover:text-foreground">Install</a></li><li><a href="#quickstart" class="block border-l-2 py-1 pl-3 transition-colors w-muted border-transparent hover:text-foreground">Quickstart</a></li><li><a href="#loop" class="block border-l-2 py-1 pl-3 transition-colors w-muted border-transparent hover:text-foreground">The planning loop</a></li><li><a href="#canvases" class="block border-l-2 py-1 pl-3 transition-colors w-muted border-transparent hover:text-foreground">The canvases</a></li><li><a href="#cli" class="block border-l-2 py-1 pl-3 transition-colors w-muted border-transparent hover:text-foreground">CLI reference</a></li><li><a href="#integration" class="block border-l-2 py-1 pl-3 transition-colors w-muted border-transparent hover:text-foreground">Claude Code integration</a></li><li><a href="#config" class="block border-l-2 py-1 pl-3 transition-colors w-muted border-transparent hover:text-foreground">Configuration</a></li><li><a href="#telemetry" class="block border-l-2 py-1 pl-3 transition-colors w-muted border-transparent hover:text-foreground">Telemetry</a></li><li><a href="#troubleshooting" class="block border-l-2 py-1 pl-3 transition-colors w-muted border-transparent hover:text-foreground">Troubleshooting</a></li></ul></nav></aside><main class="min-w-0 max-w-2xl"><section class="w-load"><div class="mb-5 scroll-mt-28" id="overview"><p class="w-mono w-eyebrow w-signal mb-2">Overview</p><h2 class="text-[1.6rem] font-semibold tracking-tight">What is Beacon</h2></div><p class="w-muted leading-relaxed">Beacon is the <span class="text-foreground">visual planning surface for the coding agent in your terminal</span>. That session is the brain; Beacon is its eyes and hands. The agent proposes a feature plan — roadmap features, database schema, and endpoints — you review it on a canvas instead of a wall of text, give scoped feedback, and approve or discard with a click. The verdict flows straight back to your session.</p><p class="w-muted mt-4 leading-relaxed">It runs entirely on your machine — <span class="text-foreground">local-first, your code never leaves it</span>. One shared server quietly serves every repo you open; each keeps its own data under <span class="w-mono text-foreground">~/.beacon</span>.</p></section><section class="mt-16"><div class="mb-5 scroll-mt-28" id="install"><p class="w-mono w-eyebrow w-signal mb-2">Get started</p><h2 class="text-[1.6rem] font-semibold tracking-tight">Install</h2></div><p class="w-muted mb-4 leading-relaxed">One command. It installs <span class="text-foreground">Bun</span> if you don&#x27;t have it, then puts the<!-- --> <span class="w-mono text-foreground">beacon</span> CLI on your PATH. Re-run it any time to update.</p><div class="glass-soft flex items-center gap-3 rounded-lg px-4 py-2.5"><span class="w-signal select-none">$</span><code class="w-mono w-scrollbar-none flex-1 overflow-x-auto whitespace-nowrap text-[0.85rem] text-foreground">curl -fsSL https://www.trybeacon.sh/install.sh | sh</code><button class="glass-soft w-hover grid h-8 w-8 shrink-0 place-items-center rounded-md" aria-label="Copy"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></button></div><p class="w-muted mt-4 leading-relaxed">Then, inside any repository:</p><div class="mt-3"><div class="glass-soft flex items-center gap-3 rounded-lg px-4 py-2.5"><span class="w-signal select-none">$</span><code class="w-mono w-scrollbar-none flex-1 overflow-x-auto whitespace-nowrap text-[0.85rem] text-foreground">beacon</code><button class="glass-soft w-hover grid h-8 w-8 shrink-0 place-items-center rounded-md" aria-label="Copy"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></button></div></div></section><section class="mt-16"><div class="mb-5 scroll-mt-28" id="quickstart"><p class="w-mono w-eyebrow w-signal mb-2">Get started</p><h2 class="text-[1.6rem] font-semibold tracking-tight">Quickstart</h2></div><ol class="space-y-5"><li class="relative pl-11"><span class="w-mono glass absolute left-0 top-0 grid h-7 w-7 place-items-center rounded-md text-[0.72rem] font-semibold text-foreground">1</span><p class="w-muted leading-relaxed">Install with the command above, then run <span class="w-mono text-foreground">beacon</span> inside a repo. It registers the repo, starts the shared server, and opens the panel in your browser.</p></li><li class="relative pl-11"><span class="w-mono glass absolute left-0 top-0 grid h-7 w-7 place-items-center rounded-md text-[0.72rem] font-semibold text-foreground">2</span><p class="w-muted leading-relaxed">In your Claude Code session, run <span class="w-mono text-foreground">/beacon-init</span>. The agent reads the repo and draws its architecture, schema, and roadmap onto the canvas.</p></li><li class="relative pl-11"><span class="w-mono glass absolute left-0 top-0 grid h-7 w-7 place-items-center rounded-md text-[0.72rem] font-semibold text-foreground">3</span><p class="w-muted leading-relaxed">Ask the agent to plan a feature. It calls <span class="w-mono text-foreground">beacon_propose_plan</span> and the plan renders live on <span class="text-foreground">/plan</span>.</p></li><li class="relative pl-11"><span class="w-mono glass absolute left-0 top-0 grid h-7 w-7 place-items-center rounded-md text-[0.72rem] font-semibold text-foreground">4</span><p class="w-muted leading-relaxed">Review it — annotate inline, edit the boards — then <span class="text-foreground">Approve</span>, <span class="text-foreground">Submit feedback</span>, or <span class="text-foreground">Discard</span>. Your verdict returns to the session.</p></li></ol></section><section class="mt-16"><div class="mb-5 scroll-mt-28" id="loop"><p class="w-mono w-eyebrow w-signal mb-2">Concepts</p><h2 class="text-[1.6rem] font-semibold tracking-tight">The planning loop</h2></div><p class="w-muted leading-relaxed">The loop is the whole point. It closes in five steps:</p><ol class="mt-4 space-y-3"><li class="glass w-hover rounded-lg p-4"><p class="w-muted text-[0.95rem] leading-relaxed"><span class="text-foreground">Propose.</span> The agent calls <span class="w-mono text-foreground">beacon_propose_plan</span> (or you present a plan in plan mode). The tool <span class="text-foreground">blocks</span> — the session waits for your verdict.</p></li><li class="glass w-hover rounded-lg p-4"><p class="w-muted text-[0.95rem] leading-relaxed"><span class="text-foreground">Review.</span> The plan renders on <span class="text-foreground">/plan</span>: a native annotation panel on the left, the roadmap and database boards on the right. Select text to comment; edit the boards directly.</p></li><li class="glass w-hover rounded-lg p-4"><p class="w-muted text-[0.95rem] leading-relaxed"><span class="text-foreground">Decide.</span> Approve, Discard, or Submit feedback. Feedback bundles your inline notes plus any board edits.</p></li><li class="glass w-hover rounded-lg p-4"><p class="w-muted text-[0.95rem] leading-relaxed"><span class="text-foreground">Return.</span> The verdict flows back to the terminal. On feedback, the agent revises and re-proposes — the loop continues.</p></li><li class="glass w-hover rounded-lg p-4"><p class="w-muted text-[0.95rem] leading-relaxed"><span class="text-foreground">Record.</span> On approval the schema and roadmap drafts persist, and when the work is done the agent calls <span class="w-mono text-foreground">beacon_feature</span> (action: done) so the next session has accurate context.</p></li></ol></section><section class="mt-16"><div class="mb-5 scroll-mt-28" id="canvases"><p class="w-mono w-eyebrow w-signal mb-2">Concepts</p><h2 class="text-[1.6rem] font-semibold tracking-tight">The canvases</h2></div><div class="space-y-4"><div class="glass w-hover rounded-lg p-5"><p class="w-mono text-foreground mb-1">/map</p><p class="w-muted text-[0.95rem] leading-relaxed">The roadmap: feature cards, their sub-tasks, and dependency links — plus a separate architecture view of the real components. Files the agent edits attach themselves here.</p></div><div class="glass w-hover rounded-lg p-5"><p class="w-mono text-foreground mb-1">/db</p><p class="w-muted text-[0.95rem] leading-relaxed">The database design board: tables and columns, endpoints, and the endpoint→table links. Proposed schema lands as a distinct draft layer you can approve or discard.</p></div><div class="glass w-hover rounded-lg p-5"><p class="w-mono text-foreground mb-1">/plan</p><p class="w-muted text-[0.95rem] leading-relaxed">The split-screen review page: annotations on the left, the roadmap + database boards tabbed on the right, plus a history of every plan and its verdict.</p></div></div></section><section class="mt-16"><div class="mb-5 scroll-mt-28" id="cli"><p class="w-mono w-eyebrow w-signal mb-2">Reference</p><h2 class="text-[1.6rem] font-semibold tracking-tight">CLI reference</h2></div><div class="space-y-3"><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]"><span class="w-signal select-none">$ </span>beacon</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Register the current repo, ensure the shared server is running, and open the panel on this repo. The everyday command.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]"><span class="w-signal select-none">$ </span>beacon doctor</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Audit what&#x27;s wired — the global Claude Code hooks + skills, this repo&#x27;s .mcp.json, and the running daemon.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]"><span class="w-signal select-none">$ </span>beacon stop</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Stop the shared background server. It restarts the next time you run beacon.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]"><span class="w-signal select-none">$ </span>beacon setup</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">(Re)install Beacon&#x27;s per-repo helpers — the skills and .mcp.json — in the current repo without opening the panel.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]"><span class="w-signal select-none">$ </span>beacon uninstall</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Reverse every Beacon artifact: the global ~/.claude wiring and the per-repo files.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]"><span class="w-signal select-none">$ </span>beacon mcp</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">The stdio MCP server Claude Code spawns automatically. You never run this by hand.</p></div></div></section><section class="mt-16"><div class="mb-5 scroll-mt-28" id="integration"><p class="w-mono w-eyebrow w-signal mb-2">Reference</p><h2 class="text-[1.6rem] font-semibold tracking-tight">Claude Code integration</h2></div><h3 class="mb-1 mt-2 font-semibold text-foreground">Skills — you type these</h3><p class="w-muted mb-4 text-[0.92rem]">Slash commands that tell the agent to do something Beacon-shaped.</p><div class="space-y-3"><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">/beacon-init</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed"><span class="text-foreground">When:</span> <!-- -->First time you point Beacon at a repo.<!-- --> <!-- -->The agent reads the codebase and fills Beacon&#x27;s map — the main components, the rough roadmap themes, the database schema, and the endpoints. Run it once per repo to bootstrap the picture.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">/beacon-refresh</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed"><span class="text-foreground">When:</span> <!-- -->Every few weeks, or after a big set of changes.<!-- --> <!-- -->The agent re-surveys the repo and updates what /beacon-init produced — adds new components, drops removed ones, picks up new tables and routes. Anything you added by hand on the canvas survives.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">/beacon-plan</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed"><span class="text-foreground">When:</span> <!-- -->Whenever you want to review an approach on the canvas.<!-- --> <!-- -->Present the current plan or approach on Beacon&#x27;s /plan page for annotation instead of asking for approval as a wall of text.</p></div></div><h3 class="mb-1 mt-8 font-semibold text-foreground">MCP tools — the agent calls these</h3><p class="w-muted mb-4 text-[0.92rem]">You don&#x27;t run these; the agent reaches for them when they fit. Knowing they exist makes its moves legible.</p><div class="space-y-3"><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">beacon_context_for_feature</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Before touching code, the agent pulls the files attached to a feature plus their imports, the endpoints in that domain, the tables those endpoints touch, and the surrounding components — one round-trip instead of a blind Glob/Grep scan.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">beacon_blast_radius</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Mid-feature, the agent runs this on a file it&#x27;s about to edit to see what imports it and what it imports — so it can judge whether a change is safe.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">beacon_propose_plan</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">When the agent has a feature plan (tables + relations + endpoints), this opens it on /plan and BLOCKS the session until you Approve, Discard, or Submit feedback.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">beacon_feature</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">One tool for a feature&#x27;s whole lifecycle: add a card (defaults to backlog), start one, break it into sub-tasks, or mark it done with a markdown summary + the files it touched — keeping the next session&#x27;s context accurate.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">beacon_map</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">A quick list of features already on the roadmap, with each card&#x27;s category/priority/layer/status. The agent calls it near the start of work to reuse a category and avoid duplicating what&#x27;s planned.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">beacon_entities</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">A raw readout of everything mapped — features, architecture, tables, endpoints — when the agent just needs the planning data.</p></div></div><h3 class="mb-1 mt-8 font-semibold text-foreground">Hooks — these run on their own</h3><p class="w-muted mb-4 text-[0.92rem]">Wired into Claude Code globally; they react to what the session is already doing.</p><div class="space-y-3"><div class="glass rounded-lg p-4"><p class="font-medium text-foreground text-[0.92rem]">Plan mode (ExitPlanMode)</p><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">When the agent shows you a plan, Beacon intercepts it and renders the markdown on /plan with a native annotation panel. Select text and type → it becomes a comment. Approve / Discard / Submit feedback flows back to the session as the next instruction.</p></div><div class="glass rounded-lg p-4"><p class="font-medium text-foreground text-[0.92rem]">File edits (PostToolUse)</p><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Every Edit/Write the agent runs is reported to Beacon and the file is attached to whichever feature the session is working on. The /map view fills in with the real files behind each feature, without you tagging anything.</p></div><div class="glass rounded-lg p-4"><p class="font-medium text-foreground text-[0.92rem]">Code-graph watcher</p><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">While the panel is open, a background watcher rebuilds the Files view as you save code — the maps stay current with the repo on their own.</p></div></div></section><section class="mt-16"><div class="mb-5 scroll-mt-28" id="config"><p class="w-mono w-eyebrow w-signal mb-2">Reference</p><h2 class="text-[1.6rem] font-semibold tracking-tight">Configuration</h2></div><div class="space-y-3"><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">BEACON_HOME</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Where per-workspace data lives — the SQLite databases and the server record. Defaults to ~/.beacon.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">PORT</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Port for the shared local server. Defaults to 4319.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">Settings → intel</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">In the panel, the Settings page drives the code-intelligence model/provider and your editor, and triggers a code-map sync.</p></div></div></section><section class="mt-16"><div class="mb-5 scroll-mt-28" id="telemetry"><p class="w-mono w-eyebrow w-signal mb-2">Reference</p><h2 class="text-[1.6rem] font-semibold tracking-tight">Telemetry</h2></div><p class="w-muted mb-4 leading-relaxed">Beacon sends an anonymous heartbeat at most every 12 hours while the local server runs, so we can count active installs (npm download numbers are dominated by mirrors and CI). The payload is exactly five fields — verify it yourself anytime with<!-- --> <span class="w-mono text-foreground">beacon telemetry status</span>, which prints the exact payload that gets sent.</p><div class="space-y-3"><div class="glass rounded-lg p-4"><p class="font-medium text-foreground text-[0.92rem]">What is sent</p><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">A random machine id (a UUID generated locally — tied to nothing), the Beacon version, the operating system (<span class="w-mono">darwin</span>/<span class="w-mono">linux</span>/<span class="w-mono">win32</span>), the CPU architecture, and whether the machine is a CI runner.</p></div><div class="glass rounded-lg p-4"><p class="font-medium text-foreground text-[0.92rem]">What is never sent</p><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Repo names, file paths, code, plans, board content, environment variables, or anything derived from them. IP addresses are not stored.</p></div><div class="glass rounded-lg p-4"><p class="font-medium text-foreground text-[0.92rem]">Opting out</p><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Any of: <span class="w-mono text-foreground">beacon telemetry off</span>, the env var<!-- --> <span class="w-mono text-foreground">BEACON_TELEMETRY_DISABLED=1</span>, or the cross-tool <span class="w-mono text-foreground">DO_NOT_TRACK=1</span> convention. Re-enable with <span class="w-mono text-foreground">beacon telemetry on</span>.</p></div></div></section><section class="mt-16"><div class="mb-5 scroll-mt-28" id="troubleshooting"><p class="w-mono w-eyebrow w-signal mb-2">Help</p><h2 class="text-[1.6rem] font-semibold tracking-tight">Troubleshooting</h2></div><p class="w-muted mb-4 leading-relaxed">When something looks off, start here:</p><div class="mb-4"><div class="glass-soft flex items-center gap-3 rounded-lg px-4 py-2.5"><span class="w-signal select-none">$</span><code class="w-mono w-scrollbar-none flex-1 overflow-x-auto whitespace-nowrap text-[0.85rem] text-foreground">beacon doctor</code><button class="glass-soft w-hover grid h-8 w-8 shrink-0 place-items-center rounded-md" aria-label="Copy"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></button></div></div><div class="space-y-3"><div class="glass rounded-lg p-4"><p class="font-medium text-foreground text-[0.92rem]">The panel won&#x27;t open</p><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Make sure the server is up — run <span class="w-mono text-foreground">beacon</span> again, or <span class="w-mono text-foreground">beacon stop</span> then <span class="w-mono text-foreground">beacon</span> to restart it.</p></div><div class="glass rounded-lg p-4"><p class="font-medium text-foreground text-[0.92rem]">The @beacon tools or skills are missing in Claude Code</p><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Run <span class="w-mono text-foreground">beacon setup</span> in the repo, then restart your Claude Code session so it re-reads the MCP registration.</p></div><div class="glass rounded-lg p-4"><p class="font-medium text-foreground text-[0.92rem]">How do I update?</p><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Re-run the install command — it fetches the latest and relinks. Nothing else to do.</p></div></div></section></main></div></div><footer class="px-6 pb-12 pt-8"><div class="mx-auto max-w-6xl"><div class="w-accent-line mb-8 h-px w-full opacity-60"></div><div class="flex flex-col items-center justify-between gap-5 md:flex-row"><div class="flex items-center gap-2.5"><svg width="26" height="26" viewBox="20 22 56 56" fill="none" class="text-foreground" aria-hidden="true"><path d="M48 33 L72.5 73 L23.5 73 Z" fill="none" stroke="var(--accent-2, #ff7a45)" stroke-width="7" stroke-linejoin="round" stroke-linecap="round"></path><circle cx="48" cy="29.5" r="7" fill="var(--accent-2, #ff7a45)"></circle></svg><div><p class="font-semibold leading-tight">Beacon</p><p class="w-mono w-muted text-[0.72rem]">the visual planning surface for your terminal</p></div></div><nav class="flex items-center gap-6 text-sm w-muted"><a class="transition-colors hover:text-foreground" href="/">Home</a><a href="#overview" class="transition-colors hover:text-foreground">Docs</a></nav><p class="w-mono w-muted text-[0.72rem]">Created by<!-- --> <a href="https://www.instagram.com/wenzorithelly/" target="_blank" rel="noreferrer" class="w-signal inline-flex items-center gap-1 underline decoration-dotted underline-offset-2 transition-opacity hover:opacity-80"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="2" y="2" width="20" height="20" rx="5" ry="5"></rect><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"></path><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"></line></svg>Wenzo</a><span class="mx-2 opacity-40">·</span>© 2026 Beacon</p></div></div></footer></div><!--$--><!--/$--></main><div aria-hidden="true" class="fixed inset-y-0 right-0 z-40 flex transition-transform duration-300 ease-out pointer-events-none translate-x-full"><div class="glass relative isolate overflow-hidden flex h-full w-[420px] flex-col rounded-l-2xl border-l border-border"><span aria-hidden="true" class="pointer-events-none absolute inset-0 -z-10 rounded-[inherit]" style="background:radial-gradient(90% 60% at 0% 0%, oklch(1 0 0 / 0.04), transparent 42%)"></span><span aria-hidden="true" class="pointer-events-none absolute inset-0 -z-10 rounded-[inherit] opacity-[0.035] mix-blend-overlay" style="background-image:url(&quot;data:image/svg+xml,%3Csvg xmlns=&#x27;http://www.w3.org/2000/svg&#x27; width=&#x27;120&#x27; height=&#x27;120&#x27;%3E%3Cfilter id=&#x27;n&#x27;%3E%3CfeTurbulence type=&#x27;fractalNoise&#x27; baseFrequency=&#x27;0.85&#x27; numOctaves=&#x27;2&#x27; stitchTiles=&#x27;stitch&#x27;/%3E%3C/filter%3E%3Crect width=&#x27;100%25&#x27; height=&#x27;100%25&#x27; filter=&#x27;url(%23n)&#x27;/%3E%3C/svg%3E&quot;);background-size:120px 120px"></span><div class="flex items-center gap-2 border-b border-border px-3 py-2.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sticky-note size-4 text-[var(--accent-2,#ff7a45)]" aria-hidden="true"><path d="M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z"></path><path d="M15 3v5a1 1 0 0 0 1 1h5"></path></svg><span class="text-sm font-semibold tracking-tight">Notes</span><span class="ml-auto"></span><button type="button" aria-label="New note" title="New note" class="rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-[var(--ink-hover)] hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus size-4" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg></button><button type="button" aria-label="Close notes" title="Close" class="rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-[var(--ink-hover)] hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x size-4" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></button></div><div class="max-h-44 shrink-0 overflow-y-auto border-b border-border p-1.5"><p class="px-2 py-3 text-[13px] text-muted-foreground">No notes yet. Hit <span class="text-foreground">+</span> to start one.</p></div><div class="flex flex-1 items-center justify-center p-6 text-center text-[13px] text-muted-foreground">Select a note, or create one. Then <span class="px-1 text-foreground">@</span>-mention it in your terminal to turn it into features.</div></div></div><script src="/_next/static/chunks/webpack-62aea110c2700d74.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:I[64777,[],\"HTTPAccessFallbackBoundary\"]\n2:I[99589,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-a8bb07fb86893add.js\"],\"AppShell\"]\n3:I[57121,[],\"\"]\n4:I[74581,[],\"\"]\n5:\"$Sreact.fragment\"\n6:I[73954,[\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"9040\",\"static/chunks/app/docs/page-126c0e42c71731b2.js\"],\"Docs\"]\n7:I[90484,[],\"OutletBoundary\"]\n8:\"$Sreact.suspense\"\nb:I[90484,[],\"ViewportBoundary\"]\nd:I[90484,[],\"MetadataBoundary\"]\nf:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/22a5144ee8d83bca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/7d4881bb7e1bf84d-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/e02ab5db9ff2dca2.css\",\"style\"]\n:HL[\"/_next/static/css/56890131dbc6daff.css\",\"style\"]\n:HL[\"/_next/static/css/53e84df868515cf7.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"docs\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"docs\",{\"children\":[\"__PAGE__\",{}]}],\"modal\":[\"__DEFAULT__\",{}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$L1\",\"c\",{\"notFound\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/e02ab5db9ff2dca2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/56890131dbc6daff.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"data-theme\":\"dark\",\"data-surface\":\"glass\",\"className\":\"dark __variable_246ccd __variable_c29908 h-full antialiased\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full flex flex-col bg-background text-foreground\",\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var d=document.documentElement,t=localStorage.getItem(\\\"beacon-theme\\\")||\\\"dark\\\",s=localStorage.getItem(\\\"beacon-surface\\\")||\\\"glass\\\",m=t==='dark'||(t==='auto'\u0026\u0026window.matchMedia('(prefers-color-scheme:dark)').matches);d.dataset.theme=m?'dark':'light';d.classList.toggle('dark',m);d.dataset.surface=s;}catch(e){}})();\"}}],[\"$\",\"$L2\",null,{\"modal\":\"$undefined\",\"repo\":\"beacon\",\"appVersion\":\"0.1.90\",\"children\":[[],[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"$0:f:0:1:0:props:notFound:1:props:children:props:children:1:props:children:0\"]]}]]}]}]],\"children\":[\"$0:f:0:1:0:props:notFound:0\",[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"data-theme\":\"dark\",\"data-surface\":\"glass\",\"className\":\"dark __variable_246ccd __variable_c29908 h-full antialiased\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full flex flex-col bg-background text-foreground\",\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var d=document.documentElement,t=localStorage.getItem(\\\"beacon-theme\\\")||\\\"dark\\\",s=localStorage.getItem(\\\"beacon-surface\\\")||\\\"glass\\\",m=t==='dark'||(t==='auto'\u0026\u0026window.matchMedia('(prefers-color-scheme:dark)').matches);d.dataset.theme=m?'dark':'light';d.classList.toggle('dark',m);d.dataset.surface=s;}catch(e){}})();\"}}],[\"$\",\"$L2\",null,{\"modal\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"modal\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],\"repo\":\"beacon\",\"appVersion\":\"0.1.90\",\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$0:f:0:1:0:props:notFound:1:props:children:props:children:1:props:children:1\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]}]]}],{\"children\":[[\"$\",\"$5\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$5\",\"c\",{\"children\":[[\"$\",\"$L6\",null,{}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/53e84df868515cf7.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],{},null,false,null]},null,false,\"$@a\"],\"modal\":[[\"$\",\"$5\",\"c\",{\"children\":[null,null,null]}],{},null,false,null]},null,false,null],[\"$\",\"$5\",\"h\",{\"children\":[null,[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Le\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"l2BAGl1tReuc34hH3NvPZ\"}\n"])</script><script>self.__next_f.push([1,"10:[]\na:\"$W10\"\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"11:I[86869,[],\"IconMark\"]\n9:null\ne:[[\"$\",\"title\",\"0\",{\"children\":\"Docs — Beacon\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"How Beacon works: install, the planning loop, the canvases, the CLI, and the Claude Code integration (skills, MCP tools, hooks).\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/icon.svg?bb93a1375ed3c298\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"link\",\"3\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?f9d64651576bd776\",\"type\":\"image/png\",\"sizes\":\"180x180\"}],[\"$\",\"$L11\",\"4\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en" data-theme="dark" data-surface="glass" class="dark __variable_246ccd __variable_c29908 h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/22a5144ee8d83bca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/7d4881bb7e1bf84d-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/e02ab5db9ff2dca2.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/b6c71ada5fa39830.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/53e84df868515cf7.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-62aea110c2700d74.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-cef5038dc7aa126a.js" async=""></script><script src="/_next/static/chunks/main-app-1a32dc335629e4e4.js" async=""></script><script src="/_next/static/chunks/70e0d97a-bbb0ec05083da54f.js" async=""></script><script src="/_next/static/chunks/54a60aa6-0378818fce5a4dc5.js" async=""></script><script src="/_next/static/chunks/8500-f62a38ff68ab7f42.js" async=""></script><script src="/_next/static/chunks/4888-911c0da3c2d785d2.js" async=""></script><script src="/_next/static/chunks/2149-6eac4575d8a8281c.js" async=""></script><script src="/_next/static/chunks/5547-2c07851028a9033a.js" async=""></script><script src="/_next/static/chunks/app/layout-6f04d1687adcd16e.js" async=""></script><script src="/_next/static/chunks/app/docs/page-574e48b1b9519c80.js" async=""></script><meta name="next-size-adjust" content=""/><title>Docs — Beacon</title><meta name="description" content="How Beacon works: install, the planning loop, the canvases, the CLI, and the Claude Code integration (skills, MCP tools, hooks)."/><link rel="icon" href="/icon.svg?bb93a1375ed3c298" type="image/svg+xml" sizes="any"/><link rel="apple-touch-icon" href="/apple-icon.png?f9d64651576bd776" type="image/png" sizes="180x180"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-full flex flex-col bg-background text-foreground"><div hidden=""><!--$--><!--/$--></div><script>(function(){try{var d=document.documentElement,t=localStorage.getItem("beacon-theme")||"dark",s=localStorage.getItem("beacon-surface")||"glass",m=t==='dark'||(t==='auto'&&window.matchMedia('(prefers-color-scheme:dark)').matches);d.dataset.theme=m?'dark':'light';d.classList.toggle('dark',m);d.dataset.surface=s;}catch(e){}})();</script><header data-app-nav="true" class="pointer-events-none fixed left-3 top-3 z-30"><div class="glass pointer-events-auto flex h-10 items-center gap-1 rounded-full pl-3 pr-1.5"><div class="flex items-center gap-1"><a class="mr-1 flex items-center gap-2 text-sm font-semibold tracking-tight" href="/"><svg width="18" height="18" viewBox="20 22 56 56" fill="none" class="text-foreground" aria-hidden="true"><path d="M48 33 L72.5 73 L23.5 73 Z" fill="none" stroke="var(--accent-2, #ff7a45)" stroke-width="7" stroke-linejoin="round" stroke-linecap="round"></path><circle cx="48" cy="29.5" r="7" fill="var(--accent-2, #ff7a45)"></circle></svg><span class="hidden lg:inline">Beacon</span></a><span aria-hidden="true" class="mx-1 h-5 w-px bg-border"></span><span class="font-mono text-xs text-muted-foreground">· <!-- -->beacon</span><span aria-hidden="true" class="mx-1 h-5 w-px bg-border"></span><nav class="flex items-center gap-0.5 text-sm"><a class="rounded-full px-3 py-1 text-[13px] tracking-tight transition-colors text-muted-foreground hover:bg-[var(--ink-hover)] hover:text-foreground" href="/plan">Plans</a><a class="rounded-full px-3 py-1 text-[13px] tracking-tight transition-colors text-muted-foreground hover:bg-[var(--ink-hover)] hover:text-foreground" href="/map">Map</a><a class="rounded-full px-3 py-1 text-[13px] tracking-tight transition-colors text-muted-foreground hover:bg-[var(--ink-hover)] hover:text-foreground" href="/learn">Learn</a><a class="rounded-full px-3 py-1 text-[13px] tracking-tight transition-colors text-muted-foreground hover:bg-[var(--ink-hover)] hover:text-foreground" href="/settings">Settings</a></nav><span aria-hidden="true" class="mx-1 h-5 w-px bg-border"></span><button type="button" aria-pressed="false" aria-label="Notes" title="Notes" class="flex items-center justify-center rounded-full p-1.5 transition-colors text-muted-foreground hover:bg-[var(--ink-hover)] hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sticky-note size-4" aria-hidden="true"><path d="M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z"></path><path d="M15 3v5a1 1 0 0 0 1 1h5"></path></svg></button></div></div></header><main class="flex flex-1 flex-col"><div class="welcome"><div class="welcome-bg" aria-hidden="true"></div><header class="fixed inset-x-0 top-0 z-50"><div class="mx-auto max-w-6xl px-6"><div class="w-load mt-4 glass flex items-center justify-between rounded-full py-2.5 pl-5 pr-3" style="animation-delay:.05s"><a class="flex items-center gap-2.5" href="/"><svg width="20" height="20" viewBox="20 22 56 56" fill="none" class="text-foreground" aria-hidden="true"><path d="M48 33 L72.5 73 L23.5 73 Z" fill="none" stroke="var(--accent-2, #ff7a45)" stroke-width="7" stroke-linejoin="round" stroke-linecap="round"></path><circle cx="48" cy="29.5" r="7" fill="var(--accent-2, #ff7a45)"></circle></svg><span class="font-semibold tracking-tight">Beacon</span><span class="w-mono w-eyebrow w-muted ml-1 hidden sm:inline">docs</span></a><nav class="flex items-center gap-6 text-sm w-muted"><a class="transition-colors hover:text-foreground" href="/">Home</a><a href="#install" class="transition-colors hover:text-foreground">Install</a></nav></div></div></header><div class="mx-auto max-w-6xl px-6 pb-24 pt-20"><div class="lg:grid lg:grid-cols-[15rem_1fr] lg:gap-14"><aside class="hidden lg:block"><nav class="sticky top-28"><p class="w-mono w-eyebrow w-muted mb-4">On this page</p><ul class="space-y-1.5 text-sm"><li><a href="#overview" class="block border-l-2 py-1 pl-3 transition-colors w-signal border-[#ff7a45]">What is Beacon</a></li><li><a href="#install" class="block border-l-2 py-1 pl-3 transition-colors w-muted border-transparent hover:text-foreground">Install</a></li><li><a href="#quickstart" class="block border-l-2 py-1 pl-3 transition-colors w-muted border-transparent hover:text-foreground">Quickstart</a></li><li><a href="#loop" class="block border-l-2 py-1 pl-3 transition-colors w-muted border-transparent hover:text-foreground">The planning loop</a></li><li><a href="#canvases" class="block border-l-2 py-1 pl-3 transition-colors w-muted border-transparent hover:text-foreground">The canvases</a></li><li><a href="#cli" class="block border-l-2 py-1 pl-3 transition-colors w-muted border-transparent hover:text-foreground">CLI reference</a></li><li><a href="#integration" class="block border-l-2 py-1 pl-3 transition-colors w-muted border-transparent hover:text-foreground">Agent integration</a></li><li><a href="#config" class="block border-l-2 py-1 pl-3 transition-colors w-muted border-transparent hover:text-foreground">Configuration</a></li><li><a href="#telemetry" class="block border-l-2 py-1 pl-3 transition-colors w-muted border-transparent hover:text-foreground">Telemetry</a></li><li><a href="#troubleshooting" class="block border-l-2 py-1 pl-3 transition-colors w-muted border-transparent hover:text-foreground">Troubleshooting</a></li></ul></nav></aside><main class="min-w-0 max-w-2xl"><section class="w-load"><div class="mb-5 scroll-mt-28" id="overview"><p class="w-mono w-eyebrow w-signal mb-2">Overview</p><h2 class="text-[1.6rem] font-semibold tracking-tight">What is Beacon</h2></div><p class="w-muted leading-relaxed">Beacon is the <span class="text-foreground">visual planning surface for the coding agent in your terminal</span>. That session is the brain; Beacon is its eyes and hands. The agent proposes a feature plan — roadmap features, database schema, and endpoints — you review it on a canvas instead of a wall of text, give scoped feedback, and approve or discard with a click. The verdict flows straight back to your session.</p><p class="w-muted mt-4 leading-relaxed">It runs entirely on your machine — <span class="text-foreground">local-first, your code never leaves it</span>. One shared server quietly serves every repo you open; each keeps its own data under <span class="w-mono text-foreground">~/.beacon</span>.</p></section><section class="mt-16"><div class="mb-5 scroll-mt-28" id="install"><p class="w-mono w-eyebrow w-signal mb-2">Get started</p><h2 class="text-[1.6rem] font-semibold tracking-tight">Install</h2></div><p class="w-muted mb-4 leading-relaxed">One command. It installs <span class="text-foreground">Bun</span> if you don&#x27;t have it, then puts the<!-- --> <span class="w-mono text-foreground">beacon</span> CLI on your PATH. Re-run it any time to update.</p><div class="glass-soft flex items-center gap-3 rounded-lg px-4 py-2.5"><span class="w-signal select-none">$</span><code class="w-mono w-scrollbar-none flex-1 overflow-x-auto whitespace-nowrap text-[0.85rem] text-foreground">curl -fsSL https://www.trybeacon.sh/install.sh | sh</code><button class="glass-soft w-hover grid h-8 w-8 shrink-0 place-items-center rounded-md" aria-label="Copy"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></button></div><p class="w-muted mt-4 leading-relaxed">Then, inside any repository:</p><div class="mt-3"><div class="glass-soft flex items-center gap-3 rounded-lg px-4 py-2.5"><span class="w-signal select-none">$</span><code class="w-mono w-scrollbar-none flex-1 overflow-x-auto whitespace-nowrap text-[0.85rem] text-foreground">beacon</code><button class="glass-soft w-hover grid h-8 w-8 shrink-0 place-items-center rounded-md" aria-label="Copy"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></button></div></div></section><section class="mt-16"><div class="mb-5 scroll-mt-28" id="quickstart"><p class="w-mono w-eyebrow w-signal mb-2">Get started</p><h2 class="text-[1.6rem] font-semibold tracking-tight">Quickstart</h2></div><ol class="space-y-5"><li class="relative pl-11"><span class="w-mono glass absolute left-0 top-0 grid h-7 w-7 place-items-center rounded-md text-[0.72rem] font-semibold text-foreground">1</span><p class="w-muted leading-relaxed">Install with the command above, then run <span class="w-mono text-foreground">beacon</span> inside a repo. It registers the repo, starts the shared server, and opens the panel in your browser.</p></li><li class="relative pl-11"><span class="w-mono glass absolute left-0 top-0 grid h-7 w-7 place-items-center rounded-md text-[0.72rem] font-semibold text-foreground">2</span><p class="w-muted leading-relaxed">In your terminal session, run <span class="w-mono text-foreground">/beacon-init</span>. The agent reads the repo and draws its architecture, schema, and roadmap onto the canvas.</p></li><li class="relative pl-11"><span class="w-mono glass absolute left-0 top-0 grid h-7 w-7 place-items-center rounded-md text-[0.72rem] font-semibold text-foreground">3</span><p class="w-muted leading-relaxed">Ask the agent to plan a feature. It calls <span class="w-mono text-foreground">beacon_propose_plan</span> and the plan renders live on <span class="text-foreground">/plan</span>.</p></li><li class="relative pl-11"><span class="w-mono glass absolute left-0 top-0 grid h-7 w-7 place-items-center rounded-md text-[0.72rem] font-semibold text-foreground">4</span><p class="w-muted leading-relaxed">Review it — annotate inline, edit the boards — then <span class="text-foreground">Approve</span>, <span class="text-foreground">Submit feedback</span>, or <span class="text-foreground">Discard</span>. Your verdict returns to the session.</p></li></ol></section><section class="mt-16"><div class="mb-5 scroll-mt-28" id="loop"><p class="w-mono w-eyebrow w-signal mb-2">Concepts</p><h2 class="text-[1.6rem] font-semibold tracking-tight">The planning loop</h2></div><p class="w-muted leading-relaxed">The loop is the whole point. It closes in five steps:</p><ol class="mt-4 space-y-3"><li class="glass w-hover rounded-lg p-4"><p class="w-muted text-[0.95rem] leading-relaxed"><span class="text-foreground">Propose.</span> The agent calls <span class="w-mono text-foreground">beacon_propose_plan</span> (or you present a plan in plan mode). The tool <span class="text-foreground">blocks</span> — the session waits for your verdict.</p></li><li class="glass w-hover rounded-lg p-4"><p class="w-muted text-[0.95rem] leading-relaxed"><span class="text-foreground">Review.</span> The plan renders on <span class="text-foreground">/plan</span>: a native annotation panel on the left, the roadmap and database boards on the right. Select text to comment; edit the boards directly.</p></li><li class="glass w-hover rounded-lg p-4"><p class="w-muted text-[0.95rem] leading-relaxed"><span class="text-foreground">Decide.</span> Approve, Discard, or Submit feedback. Feedback bundles your inline notes plus any board edits.</p></li><li class="glass w-hover rounded-lg p-4"><p class="w-muted text-[0.95rem] leading-relaxed"><span class="text-foreground">Return.</span> The verdict flows back to the terminal. On feedback, the agent revises and re-proposes — the loop continues.</p></li><li class="glass w-hover rounded-lg p-4"><p class="w-muted text-[0.95rem] leading-relaxed"><span class="text-foreground">Record.</span> On approval the schema and roadmap drafts persist, and when the work is done the agent calls <span class="w-mono text-foreground">beacon_feature</span> (action: done) so the next session has accurate context.</p></li></ol></section><section class="mt-16"><div class="mb-5 scroll-mt-28" id="canvases"><p class="w-mono w-eyebrow w-signal mb-2">Concepts</p><h2 class="text-[1.6rem] font-semibold tracking-tight">The canvases</h2></div><div class="space-y-4"><div class="glass w-hover rounded-lg p-5"><p class="w-mono text-foreground mb-1">/map</p><p class="w-muted text-[0.95rem] leading-relaxed">The roadmap: feature cards, their sub-tasks, and dependency links — plus a separate architecture view of the real components. Files the agent edits attach themselves here.</p></div><div class="glass w-hover rounded-lg p-5"><p class="w-mono text-foreground mb-1">/db</p><p class="w-muted text-[0.95rem] leading-relaxed">The database design board: tables and columns, endpoints, and the endpoint→table links. Proposed schema lands as a distinct draft layer you can approve or discard.</p></div><div class="glass w-hover rounded-lg p-5"><p class="w-mono text-foreground mb-1">/plan</p><p class="w-muted text-[0.95rem] leading-relaxed">The split-screen review page: annotations on the left, the roadmap + database boards tabbed on the right, plus a history of every plan and its verdict.</p></div></div></section><section class="mt-16"><div class="mb-5 scroll-mt-28" id="cli"><p class="w-mono w-eyebrow w-signal mb-2">Reference</p><h2 class="text-[1.6rem] font-semibold tracking-tight">CLI reference</h2></div><div class="space-y-3"><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]"><span class="w-signal select-none">$ </span>beacon</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Register the current repo, ensure the shared server is running, and open the panel on this repo. The everyday command.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]"><span class="w-signal select-none">$ </span>beacon doctor</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Audit what&#x27;s wired — global agent hooks + skills, this repo&#x27;s .mcp.json, and the running daemon.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]"><span class="w-signal select-none">$ </span>beacon stop</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Stop the shared background server. It restarts the next time you run beacon.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]"><span class="w-signal select-none">$ </span>beacon setup</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">(Re)install Beacon&#x27;s per-repo helpers — the skills and .mcp.json — in the current repo without opening the panel.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]"><span class="w-signal select-none">$ </span>beacon uninstall</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Reverse every Beacon artifact: global agent wiring and per-repo files.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]"><span class="w-signal select-none">$ </span>beacon mcp</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">The stdio MCP server an agent session starts automatically. You never run this by hand.</p></div></div></section><section class="mt-16"><div class="mb-5 scroll-mt-28" id="integration"><p class="w-mono w-eyebrow w-signal mb-2">Reference</p><h2 class="text-[1.6rem] font-semibold tracking-tight">Agent integration</h2></div><h3 class="mb-1 mt-2 font-semibold text-foreground">Skills — you type these</h3><p class="w-muted mb-4 text-[0.92rem]">Slash commands that tell the agent to do something Beacon-shaped.</p><div class="space-y-3"><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">/beacon-init</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed"><span class="text-foreground">When:</span> <!-- -->First time you point Beacon at a repo.<!-- --> <!-- -->The agent reads the codebase and fills Beacon&#x27;s map — the main components, the rough roadmap themes, the database schema, and the endpoints. Run it once per repo to bootstrap the picture.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">/beacon-refresh</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed"><span class="text-foreground">When:</span> <!-- -->Every few weeks, or after a big set of changes.<!-- --> <!-- -->The agent re-surveys the repo and updates what /beacon-init produced — adds new components, drops removed ones, picks up new tables and routes. Anything you added by hand on the canvas survives.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">/beacon-plan</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed"><span class="text-foreground">When:</span> <!-- -->Whenever you want to review an approach on the canvas.<!-- --> <!-- -->Present the current plan or approach on Beacon&#x27;s /plan page for annotation instead of asking for approval as a wall of text.</p></div></div><h3 class="mb-1 mt-8 font-semibold text-foreground">MCP tools — the agent calls these</h3><p class="w-muted mb-4 text-[0.92rem]">You don&#x27;t run these; the agent reaches for them when they fit. Knowing they exist makes its moves legible.</p><div class="space-y-3"><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">beacon_context_for_feature</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Before touching code, the agent pulls the files attached to a feature plus their imports, the endpoints in that domain, the tables those endpoints touch, and the surrounding components — one round-trip instead of a blind Glob/Grep scan.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">beacon_blast_radius</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Mid-feature, the agent runs this on a file it&#x27;s about to edit to see what imports it and what it imports — so it can judge whether a change is safe.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">beacon_propose_plan</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">When the agent has a feature plan (tables + relations + endpoints), this opens it on /plan and BLOCKS the session until you Approve, Discard, or Submit feedback.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">beacon_feature</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">One tool for a feature&#x27;s whole lifecycle: add a card (defaults to backlog), start one, break it into sub-tasks, or mark it done with a markdown summary + the files it touched — keeping the next session&#x27;s context accurate.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">beacon_map</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">A quick list of features already on the roadmap, with each card&#x27;s category/priority/layer/status. The agent calls it near the start of work to reuse a category and avoid duplicating what&#x27;s planned.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">beacon_entities</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">A raw readout of everything mapped — features, architecture, tables, endpoints — when the agent just needs the planning data.</p></div></div><h3 class="mb-1 mt-8 font-semibold text-foreground">Hooks — these run on their own</h3><p class="w-muted mb-4 text-[0.92rem]">Wired into supported terminal sessions globally; they react to what the session is already doing.</p><div class="space-y-3"><div class="glass rounded-lg p-4"><p class="font-medium text-foreground text-[0.92rem]">Plan review</p><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">The agent sends plans to Beacon&#x27;s /plan canvas for annotation and review. Codex uses beacon_present_plan or beacon_propose_plan; the result returns after you Approve, Discard, or Submit feedback.</p></div><div class="glass rounded-lg p-4"><p class="font-medium text-foreground text-[0.92rem]">File edits (PostToolUse)</p><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Every Edit/Write the agent runs is reported to Beacon and the file is attached to whichever feature the session is working on. The /map view fills in with the real files behind each feature, without you tagging anything.</p></div><div class="glass rounded-lg p-4"><p class="font-medium text-foreground text-[0.92rem]">Code-graph watcher</p><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">While the panel is open, a background watcher rebuilds the Files view as you save code — the maps stay current with the repo on their own.</p></div></div></section><section class="mt-16"><div class="mb-5 scroll-mt-28" id="config"><p class="w-mono w-eyebrow w-signal mb-2">Reference</p><h2 class="text-[1.6rem] font-semibold tracking-tight">Configuration</h2></div><div class="space-y-3"><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">BEACON_HOME</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Where per-workspace data lives — the SQLite databases and the server record. Defaults to ~/.beacon.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">PORT</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Port for the shared local server. Defaults to 4319.</p></div><div class="glass rounded-lg p-4"><code class="w-mono text-foreground text-[0.9rem]">Settings → intel</code><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">In the panel, the Settings page drives the code-intelligence model/provider and your editor, and triggers a code-map sync.</p></div></div></section><section class="mt-16"><div class="mb-5 scroll-mt-28" id="telemetry"><p class="w-mono w-eyebrow w-signal mb-2">Reference</p><h2 class="text-[1.6rem] font-semibold tracking-tight">Telemetry</h2></div><p class="w-muted mb-4 leading-relaxed">Beacon sends an anonymous heartbeat at most every 12 hours while the local server runs, so we can count active installs (npm download numbers are dominated by mirrors and CI). The payload is exactly five fields — verify it yourself anytime with<!-- --> <span class="w-mono text-foreground">beacon telemetry status</span>, which prints the exact payload that gets sent.</p><div class="space-y-3"><div class="glass rounded-lg p-4"><p class="font-medium text-foreground text-[0.92rem]">What is sent</p><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">A random machine id (a UUID generated locally — tied to nothing), the Beacon version, the operating system (<span class="w-mono">darwin</span>/<span class="w-mono">linux</span>/<span class="w-mono">win32</span>), the CPU architecture, and whether the machine is a CI runner.</p></div><div class="glass rounded-lg p-4"><p class="font-medium text-foreground text-[0.92rem]">What is never sent</p><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Repo names, file paths, code, plans, board content, environment variables, or anything derived from them. IP addresses are not stored.</p></div><div class="glass rounded-lg p-4"><p class="font-medium text-foreground text-[0.92rem]">Opting out</p><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Any of: <span class="w-mono text-foreground">beacon telemetry off</span>, the env var<!-- --> <span class="w-mono text-foreground">BEACON_TELEMETRY_DISABLED=1</span>, or the cross-tool <span class="w-mono text-foreground">DO_NOT_TRACK=1</span> convention. Re-enable with <span class="w-mono text-foreground">beacon telemetry on</span>.</p></div></div></section><section class="mt-16"><div class="mb-5 scroll-mt-28" id="troubleshooting"><p class="w-mono w-eyebrow w-signal mb-2">Help</p><h2 class="text-[1.6rem] font-semibold tracking-tight">Troubleshooting</h2></div><p class="w-muted mb-4 leading-relaxed">When something looks off, start here:</p><div class="mb-4"><div class="glass-soft flex items-center gap-3 rounded-lg px-4 py-2.5"><span class="w-signal select-none">$</span><code class="w-mono w-scrollbar-none flex-1 overflow-x-auto whitespace-nowrap text-[0.85rem] text-foreground">beacon doctor</code><button class="glass-soft w-hover grid h-8 w-8 shrink-0 place-items-center rounded-md" aria-label="Copy"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></button></div></div><div class="space-y-3"><div class="glass rounded-lg p-4"><p class="font-medium text-foreground text-[0.92rem]">The panel won&#x27;t open</p><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Make sure the server is up — run <span class="w-mono text-foreground">beacon</span> again, or <span class="w-mono text-foreground">beacon stop</span> then <span class="w-mono text-foreground">beacon</span> to restart it.</p></div><div class="glass rounded-lg p-4"><p class="font-medium text-foreground text-[0.92rem]">The @beacon tools or skills are missing</p><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Run <span class="w-mono text-foreground">beacon setup</span> in the repo, then restart your terminal session so it re-reads the MCP registration.</p></div><div class="glass rounded-lg p-4"><p class="font-medium text-foreground text-[0.92rem]">How do I update?</p><p class="w-muted mt-1.5 text-[0.92rem] leading-relaxed">Re-run the install command — it fetches the latest and relinks. Nothing else to do.</p></div></div></section></main></div></div><footer class="px-6 pb-12 pt-8"><div class="mx-auto max-w-6xl"><div class="w-accent-line mb-8 h-px w-full opacity-60"></div><div class="flex flex-col items-center justify-between gap-5 md:flex-row"><div class="flex items-center gap-2.5"><svg width="26" height="26" viewBox="20 22 56 56" fill="none" class="text-foreground" aria-hidden="true"><path d="M48 33 L72.5 73 L23.5 73 Z" fill="none" stroke="var(--accent-2, #ff7a45)" stroke-width="7" stroke-linejoin="round" stroke-linecap="round"></path><circle cx="48" cy="29.5" r="7" fill="var(--accent-2, #ff7a45)"></circle></svg><div><p class="font-semibold leading-tight">Beacon</p><p class="w-mono w-muted text-[0.72rem]">the visual planning surface for your terminal</p></div></div><nav class="flex items-center gap-6 text-sm w-muted"><a class="transition-colors hover:text-foreground" href="/">Home</a><a href="#overview" class="transition-colors hover:text-foreground">Docs</a></nav><p class="w-mono w-muted text-[0.72rem]">Created by<!-- --> <a href="https://www.instagram.com/wenzorithelly/" target="_blank" rel="noreferrer" class="w-signal inline-flex items-center gap-1 underline decoration-dotted underline-offset-2 transition-opacity hover:opacity-80"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="2" y="2" width="20" height="20" rx="5" ry="5"></rect><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"></path><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"></line></svg>Wenzo</a><span class="mx-2 opacity-40">·</span>© 2026 Beacon</p></div></div></footer></div><!--$--><!--/$--></main><div aria-hidden="true" class="fixed inset-y-0 right-0 z-40 flex transition-transform duration-300 ease-out pointer-events-none translate-x-full"><div class="glass relative isolate overflow-hidden flex h-full w-[420px] flex-col rounded-l-2xl border-l border-border"><span aria-hidden="true" class="pointer-events-none absolute inset-0 -z-10 rounded-[inherit]" style="background:radial-gradient(90% 60% at 0% 0%, oklch(1 0 0 / 0.04), transparent 42%)"></span><span aria-hidden="true" class="pointer-events-none absolute inset-0 -z-10 rounded-[inherit] opacity-[0.035] mix-blend-overlay" style="background-image:url(&quot;data:image/svg+xml,%3Csvg xmlns=&#x27;http://www.w3.org/2000/svg&#x27; width=&#x27;120&#x27; height=&#x27;120&#x27;%3E%3Cfilter id=&#x27;n&#x27;%3E%3CfeTurbulence type=&#x27;fractalNoise&#x27; baseFrequency=&#x27;0.85&#x27; numOctaves=&#x27;2&#x27; stitchTiles=&#x27;stitch&#x27;/%3E%3C/filter%3E%3Crect width=&#x27;100%25&#x27; height=&#x27;100%25&#x27; filter=&#x27;url(%23n)&#x27;/%3E%3C/svg%3E&quot;);background-size:120px 120px"></span><div class="flex items-center gap-2 border-b border-border px-3 py-2.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sticky-note size-4 text-[var(--accent-2,#ff7a45)]" aria-hidden="true"><path d="M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z"></path><path d="M15 3v5a1 1 0 0 0 1 1h5"></path></svg><span class="text-sm font-semibold tracking-tight">Notes</span><span class="ml-auto"></span><button type="button" aria-label="New note" title="New note" class="rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-[var(--ink-hover)] hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus size-4" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg></button><button type="button" aria-label="Close notes" title="Close" class="rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-[var(--ink-hover)] hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x size-4" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></button></div><div class="max-h-44 shrink-0 overflow-y-auto border-b border-border p-1.5"><p class="px-2 py-3 text-[13px] text-muted-foreground">No notes yet. Hit <span class="text-foreground">+</span> to start one.</p></div><div class="flex flex-1 items-center justify-center p-6 text-center text-[13px] text-muted-foreground">Select a note, or create one. Then <span class="px-1 text-foreground">@</span>-mention it in your terminal to turn it into features.</div></div></div><script src="/_next/static/chunks/webpack-62aea110c2700d74.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:I[64777,[],\"HTTPAccessFallbackBoundary\"]\n2:I[99589,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2149\",\"static/chunks/2149-6eac4575d8a8281c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-6f04d1687adcd16e.js\"],\"AppShell\"]\n3:I[57121,[],\"\"]\n4:I[74581,[],\"\"]\n5:\"$Sreact.fragment\"\n6:I[73954,[\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"9040\",\"static/chunks/app/docs/page-574e48b1b9519c80.js\"],\"Docs\"]\n7:I[90484,[],\"OutletBoundary\"]\n8:\"$Sreact.suspense\"\nb:I[90484,[],\"ViewportBoundary\"]\nd:I[90484,[],\"MetadataBoundary\"]\nf:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/22a5144ee8d83bca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/7d4881bb7e1bf84d-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/e02ab5db9ff2dca2.css\",\"style\"]\n:HL[\"/_next/static/css/b6c71ada5fa39830.css\",\"style\"]\n:HL[\"/_next/static/css/53e84df868515cf7.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"docs\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"docs\",{\"children\":[\"__PAGE__\",{}]}],\"modal\":[\"__DEFAULT__\",{}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$L1\",\"c\",{\"notFound\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/e02ab5db9ff2dca2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b6c71ada5fa39830.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"data-theme\":\"dark\",\"data-surface\":\"glass\",\"className\":\"dark __variable_246ccd __variable_c29908 h-full antialiased\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full flex flex-col bg-background text-foreground\",\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var d=document.documentElement,t=localStorage.getItem(\\\"beacon-theme\\\")||\\\"dark\\\",s=localStorage.getItem(\\\"beacon-surface\\\")||\\\"glass\\\",m=t==='dark'||(t==='auto'\u0026\u0026window.matchMedia('(prefers-color-scheme:dark)').matches);d.dataset.theme=m?'dark':'light';d.classList.toggle('dark',m);d.dataset.surface=s;}catch(e){}})();\"}}],[\"$\",\"$L2\",null,{\"modal\":\"$undefined\",\"repo\":\"beacon\",\"appVersion\":\"0.1.92\",\"children\":[[],[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"$0:f:0:1:0:props:notFound:1:props:children:props:children:1:props:children:0\"]]}]]}]}]],\"children\":[\"$0:f:0:1:0:props:notFound:0\",[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"data-theme\":\"dark\",\"data-surface\":\"glass\",\"className\":\"dark __variable_246ccd __variable_c29908 h-full antialiased\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full flex flex-col bg-background text-foreground\",\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var d=document.documentElement,t=localStorage.getItem(\\\"beacon-theme\\\")||\\\"dark\\\",s=localStorage.getItem(\\\"beacon-surface\\\")||\\\"glass\\\",m=t==='dark'||(t==='auto'\u0026\u0026window.matchMedia('(prefers-color-scheme:dark)').matches);d.dataset.theme=m?'dark':'light';d.classList.toggle('dark',m);d.dataset.surface=s;}catch(e){}})();\"}}],[\"$\",\"$L2\",null,{\"modal\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"modal\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],\"repo\":\"beacon\",\"appVersion\":\"0.1.92\",\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$0:f:0:1:0:props:notFound:1:props:children:props:children:1:props:children:1\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]}]]}],{\"children\":[[\"$\",\"$5\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$5\",\"c\",{\"children\":[[\"$\",\"$L6\",null,{}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/53e84df868515cf7.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],{},null,false,null]},null,false,\"$@a\"],\"modal\":[[\"$\",\"$5\",\"c\",{\"children\":[null,null,null]}],{},null,false,null]},null,false,null],[\"$\",\"$5\",\"h\",{\"children\":[null,[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Le\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"Ced4ZzirE-x-xhZEP02do\"}\n"])</script><script>self.__next_f.push([1,"10:[]\na:\"$W10\"\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"11:I[86869,[],\"IconMark\"]\n9:null\ne:[[\"$\",\"title\",\"0\",{\"children\":\"Docs — Beacon\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"How Beacon works: install, the planning loop, the canvases, the CLI, and the Claude Code integration (skills, MCP tools, hooks).\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/icon.svg?bb93a1375ed3c298\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"link\",\"3\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?f9d64651576bd776\",\"type\":\"image/png\",\"sizes\":\"180x180\"}],[\"$\",\"$L11\",\"4\",{}]]\n"])</script></body></html>
@@ -1,9 +1,9 @@
1
1
  1:I[64777,[],"HTTPAccessFallbackBoundary"]
2
- 2:I[99589,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2114","static/chunks/2114-74736df56930b46c.js","5547","static/chunks/5547-2c07851028a9033a.js","7177","static/chunks/app/layout-a8bb07fb86893add.js"],"AppShell"]
2
+ 2:I[99589,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2149","static/chunks/2149-6eac4575d8a8281c.js","5547","static/chunks/5547-2c07851028a9033a.js","7177","static/chunks/app/layout-6f04d1687adcd16e.js"],"AppShell"]
3
3
  3:I[57121,[],""]
4
4
  4:I[74581,[],""]
5
5
  5:"$Sreact.fragment"
6
- 6:I[73954,["8500","static/chunks/8500-f62a38ff68ab7f42.js","9040","static/chunks/app/docs/page-126c0e42c71731b2.js"],"Docs"]
6
+ 6:I[73954,["8500","static/chunks/8500-f62a38ff68ab7f42.js","9040","static/chunks/app/docs/page-574e48b1b9519c80.js"],"Docs"]
7
7
  7:I[90484,[],"OutletBoundary"]
8
8
  8:"$Sreact.suspense"
9
9
  b:I[90484,[],"ViewportBoundary"]
@@ -12,9 +12,9 @@ f:I[27123,[],"default",1]
12
12
  :HL["/_next/static/media/22a5144ee8d83bca-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
13
13
  :HL["/_next/static/media/7d4881bb7e1bf84d-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
14
14
  :HL["/_next/static/css/e02ab5db9ff2dca2.css","style"]
15
- :HL["/_next/static/css/56890131dbc6daff.css","style"]
15
+ :HL["/_next/static/css/b6c71ada5fa39830.css","style"]
16
16
  :HL["/_next/static/css/53e84df868515cf7.css","style"]
17
- 0:{"P":null,"c":["","docs"],"q":"","i":false,"f":[[["",{"children":["docs",{"children":["__PAGE__",{}]}],"modal":["__DEFAULT__",{}]},"$undefined","$undefined",16],[["$","$L1","c",{"notFound":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e02ab5db9ff2dca2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/56890131dbc6daff.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"data-theme":"dark","data-surface":"glass","className":"dark __variable_246ccd __variable_c29908 h-full antialiased","children":["$","body",null,{"className":"min-h-full flex flex-col bg-background text-foreground","children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var d=document.documentElement,t=localStorage.getItem(\"beacon-theme\")||\"dark\",s=localStorage.getItem(\"beacon-surface\")||\"glass\",m=t==='dark'||(t==='auto'&&window.matchMedia('(prefers-color-scheme:dark)').matches);d.dataset.theme=m?'dark':'light';d.classList.toggle('dark',m);d.dataset.surface=s;}catch(e){}})();"}}],["$","$L2",null,{"modal":"$undefined","repo":"beacon","appVersion":"0.1.90","children":[[],[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"$0:f:0:1:0:props:notFound:1:props:children:props:children:1:props:children:0"]]}]]}]}]],"children":["$0:f:0:1:0:props:notFound:0",["$","html",null,{"lang":"en","suppressHydrationWarning":true,"data-theme":"dark","data-surface":"glass","className":"dark __variable_246ccd __variable_c29908 h-full antialiased","children":["$","body",null,{"className":"min-h-full flex flex-col bg-background text-foreground","children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var d=document.documentElement,t=localStorage.getItem(\"beacon-theme\")||\"dark\",s=localStorage.getItem(\"beacon-surface\")||\"glass\",m=t==='dark'||(t==='auto'&&window.matchMedia('(prefers-color-scheme:dark)').matches);d.dataset.theme=m?'dark':'light';d.classList.toggle('dark',m);d.dataset.surface=s;}catch(e){}})();"}}],["$","$L2",null,{"modal":["$","$L3",null,{"parallelRouterKey":"modal","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}],"repo":"beacon","appVersion":"0.1.90","children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$0:f:0:1:0:props:notFound:1:props:children:props:children:1:props:children:1","forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]]}],{"children":[["$","$5","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$5","c",{"children":[["$","$L6",null,{}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/53e84df868515cf7.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L7",null,{"children":["$","$8",null,{"name":"Next.MetadataOutlet","children":"$@9"}]}]]}],{},null,false,null]},null,false,"$@a"],"modal":[["$","$5","c",{"children":[null,null,null]}],{},null,false,null]},null,false,null],["$","$5","h",{"children":[null,["$","$Lb",null,{"children":"$Lc"}],["$","div",null,{"hidden":true,"children":["$","$Ld",null,{"children":["$","$8",null,{"name":"Next.Metadata","children":"$Le"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$f",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"l2BAGl1tReuc34hH3NvPZ"}
17
+ 0:{"P":null,"c":["","docs"],"q":"","i":false,"f":[[["",{"children":["docs",{"children":["__PAGE__",{}]}],"modal":["__DEFAULT__",{}]},"$undefined","$undefined",16],[["$","$L1","c",{"notFound":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e02ab5db9ff2dca2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b6c71ada5fa39830.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"data-theme":"dark","data-surface":"glass","className":"dark __variable_246ccd __variable_c29908 h-full antialiased","children":["$","body",null,{"className":"min-h-full flex flex-col bg-background text-foreground","children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var d=document.documentElement,t=localStorage.getItem(\"beacon-theme\")||\"dark\",s=localStorage.getItem(\"beacon-surface\")||\"glass\",m=t==='dark'||(t==='auto'&&window.matchMedia('(prefers-color-scheme:dark)').matches);d.dataset.theme=m?'dark':'light';d.classList.toggle('dark',m);d.dataset.surface=s;}catch(e){}})();"}}],["$","$L2",null,{"modal":"$undefined","repo":"beacon","appVersion":"0.1.92","children":[[],[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"$0:f:0:1:0:props:notFound:1:props:children:props:children:1:props:children:0"]]}]]}]}]],"children":["$0:f:0:1:0:props:notFound:0",["$","html",null,{"lang":"en","suppressHydrationWarning":true,"data-theme":"dark","data-surface":"glass","className":"dark __variable_246ccd __variable_c29908 h-full antialiased","children":["$","body",null,{"className":"min-h-full flex flex-col bg-background text-foreground","children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var d=document.documentElement,t=localStorage.getItem(\"beacon-theme\")||\"dark\",s=localStorage.getItem(\"beacon-surface\")||\"glass\",m=t==='dark'||(t==='auto'&&window.matchMedia('(prefers-color-scheme:dark)').matches);d.dataset.theme=m?'dark':'light';d.classList.toggle('dark',m);d.dataset.surface=s;}catch(e){}})();"}}],["$","$L2",null,{"modal":["$","$L3",null,{"parallelRouterKey":"modal","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}],"repo":"beacon","appVersion":"0.1.92","children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$0:f:0:1:0:props:notFound:1:props:children:props:children:1:props:children:1","forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]]}],{"children":[["$","$5","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$5","c",{"children":[["$","$L6",null,{}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/53e84df868515cf7.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L7",null,{"children":["$","$8",null,{"name":"Next.MetadataOutlet","children":"$@9"}]}]]}],{},null,false,null]},null,false,"$@a"],"modal":[["$","$5","c",{"children":[null,null,null]}],{},null,false,null]},null,false,null],["$","$5","h",{"children":[null,["$","$Lb",null,{"children":"$Lc"}],["$","div",null,{"hidden":true,"children":["$","$Ld",null,{"children":["$","$8",null,{"name":"Next.Metadata","children":"$Le"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$f",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"Ced4ZzirE-x-xhZEP02do"}
18
18
  10:[]
19
19
  a:"$W10"
20
20
  c:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
@@ -1,2 +1,2 @@
1
1
  1:"$Sreact.fragment"
2
- 0:{"rsc":["$","$1","c",{"children":[null,null,null]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"l2BAGl1tReuc34hH3NvPZ"}
2
+ 0:{"rsc":["$","$1","c",{"children":[null,null,null]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"Ced4ZzirE-x-xhZEP02do"}
@@ -1,9 +1,9 @@
1
1
  1:I[64777,[],"HTTPAccessFallbackBoundary"]
2
- 2:I[99589,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2114","static/chunks/2114-74736df56930b46c.js","5547","static/chunks/5547-2c07851028a9033a.js","7177","static/chunks/app/layout-a8bb07fb86893add.js"],"AppShell"]
2
+ 2:I[99589,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2149","static/chunks/2149-6eac4575d8a8281c.js","5547","static/chunks/5547-2c07851028a9033a.js","7177","static/chunks/app/layout-6f04d1687adcd16e.js"],"AppShell"]
3
3
  3:I[57121,[],""]
4
4
  4:I[74581,[],""]
5
5
  5:"$Sreact.fragment"
6
- 6:I[73954,["8500","static/chunks/8500-f62a38ff68ab7f42.js","9040","static/chunks/app/docs/page-126c0e42c71731b2.js"],"Docs"]
6
+ 6:I[73954,["8500","static/chunks/8500-f62a38ff68ab7f42.js","9040","static/chunks/app/docs/page-574e48b1b9519c80.js"],"Docs"]
7
7
  7:I[90484,[],"OutletBoundary"]
8
8
  8:"$Sreact.suspense"
9
9
  b:I[90484,[],"ViewportBoundary"]
@@ -12,9 +12,9 @@ f:I[27123,[],"default",1]
12
12
  :HL["/_next/static/media/22a5144ee8d83bca-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
13
13
  :HL["/_next/static/media/7d4881bb7e1bf84d-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
14
14
  :HL["/_next/static/css/e02ab5db9ff2dca2.css","style"]
15
- :HL["/_next/static/css/56890131dbc6daff.css","style"]
15
+ :HL["/_next/static/css/b6c71ada5fa39830.css","style"]
16
16
  :HL["/_next/static/css/53e84df868515cf7.css","style"]
17
- 0:{"P":null,"c":["","docs"],"q":"","i":false,"f":[[["",{"children":["docs",{"children":["__PAGE__",{}]}],"modal":["__DEFAULT__",{}]},"$undefined","$undefined",16],[["$","$L1","c",{"notFound":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e02ab5db9ff2dca2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/56890131dbc6daff.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"data-theme":"dark","data-surface":"glass","className":"dark __variable_246ccd __variable_c29908 h-full antialiased","children":["$","body",null,{"className":"min-h-full flex flex-col bg-background text-foreground","children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var d=document.documentElement,t=localStorage.getItem(\"beacon-theme\")||\"dark\",s=localStorage.getItem(\"beacon-surface\")||\"glass\",m=t==='dark'||(t==='auto'&&window.matchMedia('(prefers-color-scheme:dark)').matches);d.dataset.theme=m?'dark':'light';d.classList.toggle('dark',m);d.dataset.surface=s;}catch(e){}})();"}}],["$","$L2",null,{"modal":"$undefined","repo":"beacon","appVersion":"0.1.90","children":[[],[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"$0:f:0:1:0:props:notFound:1:props:children:props:children:1:props:children:0"]]}]]}]}]],"children":["$0:f:0:1:0:props:notFound:0",["$","html",null,{"lang":"en","suppressHydrationWarning":true,"data-theme":"dark","data-surface":"glass","className":"dark __variable_246ccd __variable_c29908 h-full antialiased","children":["$","body",null,{"className":"min-h-full flex flex-col bg-background text-foreground","children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var d=document.documentElement,t=localStorage.getItem(\"beacon-theme\")||\"dark\",s=localStorage.getItem(\"beacon-surface\")||\"glass\",m=t==='dark'||(t==='auto'&&window.matchMedia('(prefers-color-scheme:dark)').matches);d.dataset.theme=m?'dark':'light';d.classList.toggle('dark',m);d.dataset.surface=s;}catch(e){}})();"}}],["$","$L2",null,{"modal":["$","$L3",null,{"parallelRouterKey":"modal","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}],"repo":"beacon","appVersion":"0.1.90","children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$0:f:0:1:0:props:notFound:1:props:children:props:children:1:props:children:1","forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]]}],{"children":[["$","$5","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$5","c",{"children":[["$","$L6",null,{}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/53e84df868515cf7.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L7",null,{"children":["$","$8",null,{"name":"Next.MetadataOutlet","children":"$@9"}]}]]}],{},null,false,null]},null,false,"$@a"],"modal":[["$","$5","c",{"children":[null,null,null]}],{},null,false,null]},null,false,null],["$","$5","h",{"children":[null,["$","$Lb",null,{"children":"$Lc"}],["$","div",null,{"hidden":true,"children":["$","$Ld",null,{"children":["$","$8",null,{"name":"Next.Metadata","children":"$Le"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$f",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"l2BAGl1tReuc34hH3NvPZ"}
17
+ 0:{"P":null,"c":["","docs"],"q":"","i":false,"f":[[["",{"children":["docs",{"children":["__PAGE__",{}]}],"modal":["__DEFAULT__",{}]},"$undefined","$undefined",16],[["$","$L1","c",{"notFound":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e02ab5db9ff2dca2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b6c71ada5fa39830.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"data-theme":"dark","data-surface":"glass","className":"dark __variable_246ccd __variable_c29908 h-full antialiased","children":["$","body",null,{"className":"min-h-full flex flex-col bg-background text-foreground","children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var d=document.documentElement,t=localStorage.getItem(\"beacon-theme\")||\"dark\",s=localStorage.getItem(\"beacon-surface\")||\"glass\",m=t==='dark'||(t==='auto'&&window.matchMedia('(prefers-color-scheme:dark)').matches);d.dataset.theme=m?'dark':'light';d.classList.toggle('dark',m);d.dataset.surface=s;}catch(e){}})();"}}],["$","$L2",null,{"modal":"$undefined","repo":"beacon","appVersion":"0.1.92","children":[[],[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"$0:f:0:1:0:props:notFound:1:props:children:props:children:1:props:children:0"]]}]]}]}]],"children":["$0:f:0:1:0:props:notFound:0",["$","html",null,{"lang":"en","suppressHydrationWarning":true,"data-theme":"dark","data-surface":"glass","className":"dark __variable_246ccd __variable_c29908 h-full antialiased","children":["$","body",null,{"className":"min-h-full flex flex-col bg-background text-foreground","children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var d=document.documentElement,t=localStorage.getItem(\"beacon-theme\")||\"dark\",s=localStorage.getItem(\"beacon-surface\")||\"glass\",m=t==='dark'||(t==='auto'&&window.matchMedia('(prefers-color-scheme:dark)').matches);d.dataset.theme=m?'dark':'light';d.classList.toggle('dark',m);d.dataset.surface=s;}catch(e){}})();"}}],["$","$L2",null,{"modal":["$","$L3",null,{"parallelRouterKey":"modal","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}],"repo":"beacon","appVersion":"0.1.92","children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$0:f:0:1:0:props:notFound:1:props:children:props:children:1:props:children:1","forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]}]]}],{"children":[["$","$5","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$5","c",{"children":[["$","$L6",null,{}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/53e84df868515cf7.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L7",null,{"children":["$","$8",null,{"name":"Next.MetadataOutlet","children":"$@9"}]}]]}],{},null,false,null]},null,false,"$@a"],"modal":[["$","$5","c",{"children":[null,null,null]}],{},null,false,null]},null,false,null],["$","$5","h",{"children":[null,["$","$Lb",null,{"children":"$Lc"}],["$","div",null,{"hidden":true,"children":["$","$Ld",null,{"children":["$","$8",null,{"name":"Next.Metadata","children":"$Le"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$f",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"Ced4ZzirE-x-xhZEP02do"}
18
18
  10:[]
19
19
  a:"$W10"
20
20
  c:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
@@ -3,4 +3,4 @@
3
3
  3:I[90484,[],"MetadataBoundary"]
4
4
  4:"$Sreact.suspense"
5
5
  5:I[86869,[],"IconMark"]
6
- 0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Docs — Beacon"}],["$","meta","1",{"name":"description","content":"How Beacon works: install, the planning loop, the canvases, the CLI, and the Claude Code integration (skills, MCP tools, hooks)."}],["$","link","2",{"rel":"icon","href":"/icon.svg?bb93a1375ed3c298","type":"image/svg+xml","sizes":"any"}],["$","link","3",{"rel":"apple-touch-icon","href":"/apple-icon.png?f9d64651576bd776","type":"image/png","sizes":"180x180"}],["$","$L5","4",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"l2BAGl1tReuc34hH3NvPZ"}
6
+ 0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Docs — Beacon"}],["$","meta","1",{"name":"description","content":"How Beacon works: install, the planning loop, the canvases, the CLI, and the Claude Code integration (skills, MCP tools, hooks)."}],["$","link","2",{"rel":"icon","href":"/icon.svg?bb93a1375ed3c298","type":"image/svg+xml","sizes":"any"}],["$","link","3",{"rel":"apple-touch-icon","href":"/apple-icon.png?f9d64651576bd776","type":"image/png","sizes":"180x180"}],["$","$L5","4",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"Ced4ZzirE-x-xhZEP02do"}
@@ -1,7 +1,7 @@
1
1
  1:I[64777,[],"HTTPAccessFallbackBoundary"]
2
- 2:I[99589,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2114","static/chunks/2114-74736df56930b46c.js","5547","static/chunks/5547-2c07851028a9033a.js","7177","static/chunks/app/layout-a8bb07fb86893add.js"],"AppShell"]
2
+ 2:I[99589,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","2149","static/chunks/2149-6eac4575d8a8281c.js","5547","static/chunks/5547-2c07851028a9033a.js","7177","static/chunks/app/layout-6f04d1687adcd16e.js"],"AppShell"]
3
3
  3:I[57121,[],""]
4
4
  4:I[74581,[],""]
5
5
  :HL["/_next/static/css/e02ab5db9ff2dca2.css","style"]
6
- :HL["/_next/static/css/56890131dbc6daff.css","style"]
7
- 0:{"rsc":["$","$L1","c",{"notFound":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e02ab5db9ff2dca2.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/56890131dbc6daff.css","precedence":"next"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"data-theme":"dark","data-surface":"glass","className":"dark __variable_246ccd __variable_c29908 h-full antialiased","children":["$","body",null,{"className":"min-h-full flex flex-col bg-background text-foreground","children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var d=document.documentElement,t=localStorage.getItem(\"beacon-theme\")||\"dark\",s=localStorage.getItem(\"beacon-surface\")||\"glass\",m=t==='dark'||(t==='auto'&&window.matchMedia('(prefers-color-scheme:dark)').matches);d.dataset.theme=m?'dark':'light';d.classList.toggle('dark',m);d.dataset.surface=s;}catch(e){}})();"}}],["$","$L2",null,{"repo":"beacon","appVersion":"0.1.90","children":[[],[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"$0:rsc:props:notFound:1:props:children:props:children:1:props:children:0"]]}]]}]}]],"children":["$0:rsc:props:notFound:0",["$","html",null,{"lang":"en","suppressHydrationWarning":true,"data-theme":"dark","data-surface":"glass","className":"dark __variable_246ccd __variable_c29908 h-full antialiased","children":["$","body",null,{"className":"min-h-full flex flex-col bg-background text-foreground","children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var d=document.documentElement,t=localStorage.getItem(\"beacon-theme\")||\"dark\",s=localStorage.getItem(\"beacon-surface\")||\"glass\",m=t==='dark'||(t==='auto'&&window.matchMedia('(prefers-color-scheme:dark)').matches);d.dataset.theme=m?'dark':'light';d.classList.toggle('dark',m);d.dataset.surface=s;}catch(e){}})();"}}],["$","$L2",null,{"modal":["$","$L3",null,{"parallelRouterKey":"modal","template":["$","$L4",null,{}]}],"repo":"beacon","appVersion":"0.1.90","children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":"$0:rsc:props:notFound:1:props:children:props:children:1:props:children:1"}]}]]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"l2BAGl1tReuc34hH3NvPZ"}
6
+ :HL["/_next/static/css/b6c71ada5fa39830.css","style"]
7
+ 0:{"rsc":["$","$L1","c",{"notFound":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/e02ab5db9ff2dca2.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b6c71ada5fa39830.css","precedence":"next"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"data-theme":"dark","data-surface":"glass","className":"dark __variable_246ccd __variable_c29908 h-full antialiased","children":["$","body",null,{"className":"min-h-full flex flex-col bg-background text-foreground","children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var d=document.documentElement,t=localStorage.getItem(\"beacon-theme\")||\"dark\",s=localStorage.getItem(\"beacon-surface\")||\"glass\",m=t==='dark'||(t==='auto'&&window.matchMedia('(prefers-color-scheme:dark)').matches);d.dataset.theme=m?'dark':'light';d.classList.toggle('dark',m);d.dataset.surface=s;}catch(e){}})();"}}],["$","$L2",null,{"repo":"beacon","appVersion":"0.1.92","children":[[],[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"$0:rsc:props:notFound:1:props:children:props:children:1:props:children:0"]]}]]}]}]],"children":["$0:rsc:props:notFound:0",["$","html",null,{"lang":"en","suppressHydrationWarning":true,"data-theme":"dark","data-surface":"glass","className":"dark __variable_246ccd __variable_c29908 h-full antialiased","children":["$","body",null,{"className":"min-h-full flex flex-col bg-background text-foreground","children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var d=document.documentElement,t=localStorage.getItem(\"beacon-theme\")||\"dark\",s=localStorage.getItem(\"beacon-surface\")||\"glass\",m=t==='dark'||(t==='auto'&&window.matchMedia('(prefers-color-scheme:dark)').matches);d.dataset.theme=m?'dark':'light';d.classList.toggle('dark',m);d.dataset.surface=s;}catch(e){}})();"}}],["$","$L2",null,{"modal":["$","$L3",null,{"parallelRouterKey":"modal","template":["$","$L4",null,{}]}],"repo":"beacon","appVersion":"0.1.92","children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":"$0:rsc:props:notFound:1:props:children:props:children:1:props:children:1"}]}]]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"Ced4ZzirE-x-xhZEP02do"}
@@ -1,6 +1,6 @@
1
1
  :HL["/_next/static/media/22a5144ee8d83bca-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
2
2
  :HL["/_next/static/media/7d4881bb7e1bf84d-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
3
3
  :HL["/_next/static/css/e02ab5db9ff2dca2.css","style"]
4
- :HL["/_next/static/css/56890131dbc6daff.css","style"]
4
+ :HL["/_next/static/css/b6c71ada5fa39830.css","style"]
5
5
  :HL["/_next/static/css/53e84df868515cf7.css","style"]
6
- 0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"docs","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"modal":{"name":"__DEFAULT__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"l2BAGl1tReuc34hH3NvPZ"}
6
+ 0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"docs","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"modal":{"name":"__DEFAULT__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"Ced4ZzirE-x-xhZEP02do"}
@@ -1,7 +1,7 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[73954,["8500","static/chunks/8500-f62a38ff68ab7f42.js","9040","static/chunks/app/docs/page-126c0e42c71731b2.js"],"Docs"]
2
+ 2:I[73954,["8500","static/chunks/8500-f62a38ff68ab7f42.js","9040","static/chunks/app/docs/page-574e48b1b9519c80.js"],"Docs"]
3
3
  3:I[90484,[],"OutletBoundary"]
4
4
  4:"$Sreact.suspense"
5
5
  :HL["/_next/static/css/53e84df868515cf7.css","style"]
6
- 0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/53e84df868515cf7.css","precedence":"next"}]],["$","$L3",null,{"children":["$","$4",null,{"name":"Next.MetadataOutlet","children":"$@5"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"l2BAGl1tReuc34hH3NvPZ"}
6
+ 0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/53e84df868515cf7.css","precedence":"next"}]],["$","$L3",null,{"children":["$","$4",null,{"name":"Next.MetadataOutlet","children":"$@5"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"Ced4ZzirE-x-xhZEP02do"}
7
7
  5:null
@@ -2,4 +2,4 @@
2
2
  2:I[57121,[],""]
3
3
  3:I[74581,[],""]
4
4
  4:[]
5
- 0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"l2BAGl1tReuc34hH3NvPZ"}
5
+ 0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"Ced4ZzirE-x-xhZEP02do"}