@locusai/cli 0.1.5 → 0.1.6

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.
package/bin/locus.js CHANGED
@@ -4,14 +4,14 @@
4
4
  // packages/cli/index.ts
5
5
  import { existsSync as existsSync2 } from "fs";
6
6
  import { homedir } from "os";
7
- import { isAbsolute, join as join6, resolve } from "path";
7
+ import { isAbsolute, join as join6, resolve as resolve2 } from "path";
8
8
  import { parseArgs } from "util";
9
9
 
10
10
  // packages/cli/src/generators/locus.ts
11
11
  import { Database } from "bun:sqlite";
12
12
  import { existsSync } from "fs";
13
13
  import { writeFile as writeFile2 } from "fs/promises";
14
- import { join } from "path";
14
+ import { join, resolve } from "path";
15
15
 
16
16
  // packages/cli/src/utils.ts
17
17
  import { mkdir, writeFile } from "fs/promises";
@@ -99,11 +99,18 @@ Managed by Locus.
99
99
  }
100
100
  async function logMcpConfig(config) {
101
101
  const { projectPath, projectName } = config;
102
+ const scriptDir = import.meta.dir;
103
+ const isBundled = scriptDir.endsWith("/bin") || scriptDir.endsWith("\\bin");
104
+ const locusRoot = isBundled ? resolve(scriptDir, "../") : resolve(scriptDir, "../../../../");
105
+ const mcpSourcePath = join(locusRoot, "apps/mcp/src/index.ts");
106
+ const mcpBundledPath = isBundled ? join(scriptDir, "mcp.js") : join(locusRoot, "packages/cli/bin/mcp.js");
107
+ const mcpExecPath = existsSync(mcpSourcePath) ? mcpSourcePath : mcpBundledPath;
102
108
  const mcpConfig = {
103
109
  mcpServers: {
104
- locus: {
105
- command: "npx",
106
- args: ["@locusai/cli", "mcp", "--project", projectPath]
110
+ [projectName]: {
111
+ command: "bun",
112
+ args: ["run", mcpExecPath, "--project", join(projectPath, ".locus")],
113
+ env: {}
107
114
  }
108
115
  }
109
116
  };
@@ -113,7 +120,7 @@ Project created successfully!`);
113
120
  Next steps:`);
114
121
  console.log(` cd ${projectName}`);
115
122
  console.log(" bun install");
116
- console.log(" npx @locusai/cli dev");
123
+ console.log(" bun run dev");
117
124
  console.log(`
118
125
  MCP Configuration (add to your IDE or Claude Desktop config):`);
119
126
  console.log(JSON.stringify(mcpConfig, null, 2));
@@ -1003,7 +1010,7 @@ async function init(args) {
1003
1010
  let basePath = process.cwd();
1004
1011
  if (userPathInput) {
1005
1012
  const userPath = userPathInput.startsWith("~") ? join6(homedir(), userPathInput.slice(1)) : userPathInput;
1006
- basePath = isAbsolute(userPath) ? userPath : resolve(process.cwd(), userPath);
1013
+ basePath = isAbsolute(userPath) ? userPath : resolve2(process.cwd(), userPath);
1007
1014
  }
1008
1015
  projectPath = join6(basePath, projectName);
1009
1016
  } else {
@@ -1043,7 +1050,7 @@ async function dev(args) {
1043
1050
  strict: false
1044
1051
  });
1045
1052
  const projectPath = values.project || process.cwd();
1046
- const locusDir = isAbsolute(projectPath) ? join6(projectPath, ".locus") : resolve(process.cwd(), projectPath, ".locus");
1053
+ const locusDir = isAbsolute(projectPath) ? join6(projectPath, ".locus") : resolve2(process.cwd(), projectPath, ".locus");
1047
1054
  if (!existsSync2(locusDir)) {
1048
1055
  console.error(`Error: .locus directory not found at ${locusDir}`);
1049
1056
  console.log("Are you in a Locus project?");
@@ -1051,7 +1058,7 @@ async function dev(args) {
1051
1058
  }
1052
1059
  const cliDir = import.meta.dir;
1053
1060
  const isBundled = cliDir.endsWith("/bin") || cliDir.endsWith("\\bin");
1054
- const locusRoot = isBundled ? resolve(cliDir, "../") : resolve(cliDir, "../../");
1061
+ const locusRoot = isBundled ? resolve2(cliDir, "../") : resolve2(cliDir, "../../");
1055
1062
  const serverSourcePath = join6(locusRoot, "apps/server/src/index.ts");
1056
1063
  const serverBundledPath = isBundled ? join6(cliDir, "server.js") : join6(locusRoot, "packages/cli/bin/server.js");
1057
1064
  const serverExecPath = existsSync2(serverSourcePath) ? serverSourcePath : serverBundledPath;
@@ -1104,7 +1111,7 @@ async function mcp(args) {
1104
1111
  strict: false
1105
1112
  });
1106
1113
  const projectPath = values.project || process.cwd();
1107
- const locusDir = isAbsolute(projectPath) ? projectPath.endsWith(".locus") ? projectPath : join6(projectPath, ".locus") : resolve(process.cwd(), projectPath, ".locus");
1114
+ const locusDir = isAbsolute(projectPath) ? projectPath.endsWith(".locus") ? projectPath : join6(projectPath, ".locus") : resolve2(process.cwd(), projectPath, ".locus");
1108
1115
  if (!existsSync2(locusDir)) {
1109
1116
  console.error(`Error: .locus directory not found at ${locusDir}`);
1110
1117
  process.exit(1);
@@ -1112,7 +1119,7 @@ async function mcp(args) {
1112
1119
  process.env.LOCUS_PROJECT_PATH = locusDir;
1113
1120
  const cliDir = import.meta.dir;
1114
1121
  const isBundled = cliDir.endsWith("/bin") || cliDir.endsWith("\\bin");
1115
- const locusRoot = isBundled ? resolve(cliDir, "../") : resolve(cliDir, "../../");
1122
+ const locusRoot = isBundled ? resolve2(cliDir, "../") : resolve2(cliDir, "../../");
1116
1123
  const mcpSourcePath = join6(locusRoot, "apps/mcp/src/index.ts");
1117
1124
  const mcpBundledPath = isBundled ? join6(cliDir, "mcp.js") : join6(locusRoot, "packages/cli/bin/mcp.js");
1118
1125
  const mcpExecPath = existsSync2(mcpSourcePath) ? mcpSourcePath : mcpBundledPath;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@locusai/cli",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "Local-first AI development platform & engineering workspace",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1 +1 @@
1
- <!DOCTYPE html><!--1BInkZcWpYFq8PBSpvumK--><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/47cbc4e2adbc5db9-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/8aea088cdc4338f0.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/13e8617b72f9d3aa.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-ab85b3045756e687.js"/><script src="/_next/static/chunks/87c73c54-1f4741035a95c140.js" async=""></script><script src="/_next/static/chunks/902-d6926825a9fe8784.js" async=""></script><script src="/_next/static/chunks/main-app-123e879c5a937a00.js" async=""></script><script src="/_next/static/chunks/337-d3bb75304d130513.js" async=""></script><script src="/_next/static/chunks/146-34259952c594a3b0.js" async=""></script><script src="/_next/static/chunks/app/layout-05f504c042b9f7ee.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Locus Dashboard</title><meta name="description" content="Local-first task management and documentation for agentic engineering."/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="200x209"/><link rel="icon" href="/favicon.ico"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__className_6a21cc antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen overflow-hidden bg-background"><aside class="w-[260px] flex flex-col border-r border-border/50 bg-card/50 backdrop-blur-sm h-full"><div class="flex items-center gap-3 p-5 border-b border-border/50"><img alt="Locus" loading="lazy" width="97.81" height="32" decoding="async" data-nimg="1" class="rounded-xl shadow-lg" style="color:transparent" src="/logo.png"/></div><div class="flex-1 p-4"><div class="text-[10px] uppercase font-bold tracking-widest text-muted-foreground/70 mb-3 px-3">Navigation</div><nav class="space-y-1"><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard group-hover:scale-110 transition-transform"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><div class="flex-1"><span class="block">Board</span></div></a><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/backlog"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-list group-hover:scale-110 transition-transform"><path d="M3 12h.01"></path><path d="M3 18h.01"></path><path d="M3 6h.01"></path><path d="M8 12h13"></path><path d="M8 18h13"></path><path d="M8 6h13"></path></svg><div class="flex-1"><span class="block">Backlog</span></div></a><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/docs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text group-hover:scale-110 transition-transform"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg><div class="flex-1"><span class="block">Library</span></div></a></nav></div><div class="p-4 border-t border-border/50"><a class="flex items-center gap-3 w-full px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary/60 hover:text-foreground" href="/settings"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span>Settings</span></a></div></aside><main class="flex-1 overflow-auto bg-background p-8"><div class="max-w-[1440px] mx-auto"><header class="flex items-center mb-6 py-3"><div class="relative flex-1 max-w-md group"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search absolute left-3.5 top-1/2 -translate-y-1/2 text-muted-foreground group-focus-within:text-primary transition-colors"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><input type="text" placeholder="Search tasks, docs... (⌘K)" class="w-full bg-secondary/40 border border-border/50 rounded-lg pl-10 pr-4 py-2.5 text-sm text-foreground placeholder:text-muted-foreground/70 outline-none transition-all focus:border-primary/50 focus:ring-2 focus:ring-primary/20 focus:bg-background hover:bg-secondary/60"/></div></header><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>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)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--></div></main></div><script src="/_next/static/chunks/webpack-ab85b3045756e687.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[6096,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Providers\"]\n3:I[9798,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Sidebar\"]\n4:I[493,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Header\"]\n5:I[7132,[],\"\"]\n6:I[5082,[],\"\"]\n7:I[700,[],\"OutletBoundary\"]\n9:I[7748,[],\"AsyncMetadataOutlet\"]\nb:I[700,[],\"ViewportBoundary\"]\nd:I[700,[],\"MetadataBoundary\"]\ne:\"$Sreact.suspense\"\n10:I[1256,[],\"\"]\n:HL[\"/_next/static/media/47cbc4e2adbc5db9-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/8aea088cdc4338f0.css\",\"style\"]\n:HL[\"/_next/static/css/13e8617b72f9d3aa.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"1BInkZcWpYFq8PBSpvumK\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8aea088cdc4338f0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/13e8617b72f9d3aa.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"children\":[\"$\",\"body\",null,{\"className\":\"__className_6a21cc antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-screen overflow-hidden bg-background\",\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-auto bg-background p-8\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-[1440px] mx-auto\",\"children\":[[\"$\",\"$L4\",null,{}],[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]]}]}]}]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"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.\"}]}]]}]}]],null,[\"$\",\"$L7\",null,{\"children\":[\"$L8\",[\"$\",\"$L9\",null,{\"promise\":\"$@a\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$e\",null,{\"fallback\":null,\"children\":\"$Lf\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"s\":false,\"S\":true}\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\"}]]\n8:null\n"])</script><script>self.__next_f.push([1,"11:I[4780,[],\"IconMark\"]\na:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Locus Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local-first task management and documentation for agentic engineering.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"200x209\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"$L11\",\"4\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"f:\"$a:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--HYYg7_ymj7X1roSoSIcfi--><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/47cbc4e2adbc5db9-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/8aea088cdc4338f0.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/13e8617b72f9d3aa.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-99a10a055b5bb9c4.js"/><script src="/_next/static/chunks/87c73c54-1f4741035a95c140.js" async=""></script><script src="/_next/static/chunks/902-d6926825a9fe8784.js" async=""></script><script src="/_next/static/chunks/main-app-123e879c5a937a00.js" async=""></script><script src="/_next/static/chunks/337-d3bb75304d130513.js" async=""></script><script src="/_next/static/chunks/146-34259952c594a3b0.js" async=""></script><script src="/_next/static/chunks/app/layout-05f504c042b9f7ee.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Locus Dashboard</title><meta name="description" content="Local-first task management and documentation for agentic engineering."/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="200x209"/><link rel="icon" href="/favicon.ico"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__className_6a21cc antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen overflow-hidden bg-background"><aside class="w-[260px] flex flex-col border-r border-border/50 bg-card/50 backdrop-blur-sm h-full"><div class="flex items-center gap-3 p-5 border-b border-border/50"><img alt="Locus" loading="lazy" width="97.81" height="32" decoding="async" data-nimg="1" class="rounded-xl shadow-lg" style="color:transparent" src="/logo.png"/></div><div class="flex-1 p-4"><div class="text-[10px] uppercase font-bold tracking-widest text-muted-foreground/70 mb-3 px-3">Navigation</div><nav class="space-y-1"><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard group-hover:scale-110 transition-transform"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><div class="flex-1"><span class="block">Board</span></div></a><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/backlog"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-list group-hover:scale-110 transition-transform"><path d="M3 12h.01"></path><path d="M3 18h.01"></path><path d="M3 6h.01"></path><path d="M8 12h13"></path><path d="M8 18h13"></path><path d="M8 6h13"></path></svg><div class="flex-1"><span class="block">Backlog</span></div></a><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/docs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text group-hover:scale-110 transition-transform"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg><div class="flex-1"><span class="block">Library</span></div></a></nav></div><div class="p-4 border-t border-border/50"><a class="flex items-center gap-3 w-full px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary/60 hover:text-foreground" href="/settings"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span>Settings</span></a></div></aside><main class="flex-1 overflow-auto bg-background p-8"><div class="max-w-[1440px] mx-auto"><header class="flex items-center mb-6 py-3"><div class="relative flex-1 max-w-md group"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search absolute left-3.5 top-1/2 -translate-y-1/2 text-muted-foreground group-focus-within:text-primary transition-colors"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><input type="text" placeholder="Search tasks, docs... (⌘K)" class="w-full bg-secondary/40 border border-border/50 rounded-lg pl-10 pr-4 py-2.5 text-sm text-foreground placeholder:text-muted-foreground/70 outline-none transition-all focus:border-primary/50 focus:ring-2 focus:ring-primary/20 focus:bg-background hover:bg-secondary/60"/></div></header><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>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)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--></div></main></div><script src="/_next/static/chunks/webpack-99a10a055b5bb9c4.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[6096,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Providers\"]\n3:I[9798,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Sidebar\"]\n4:I[493,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Header\"]\n5:I[7132,[],\"\"]\n6:I[5082,[],\"\"]\n7:I[700,[],\"OutletBoundary\"]\n9:I[7748,[],\"AsyncMetadataOutlet\"]\nb:I[700,[],\"ViewportBoundary\"]\nd:I[700,[],\"MetadataBoundary\"]\ne:\"$Sreact.suspense\"\n10:I[1256,[],\"\"]\n:HL[\"/_next/static/media/47cbc4e2adbc5db9-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/8aea088cdc4338f0.css\",\"style\"]\n:HL[\"/_next/static/css/13e8617b72f9d3aa.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"HYYg7-ymj7X1roSoSIcfi\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8aea088cdc4338f0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/13e8617b72f9d3aa.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"children\":[\"$\",\"body\",null,{\"className\":\"__className_6a21cc antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-screen overflow-hidden bg-background\",\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-auto bg-background p-8\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-[1440px] mx-auto\",\"children\":[[\"$\",\"$L4\",null,{}],[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]]}]}]}]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"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.\"}]}]]}]}]],null,[\"$\",\"$L7\",null,{\"children\":[\"$L8\",[\"$\",\"$L9\",null,{\"promise\":\"$@a\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$e\",null,{\"fallback\":null,\"children\":\"$Lf\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"s\":false,\"S\":true}\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\"}]]\n8:null\n"])</script><script>self.__next_f.push([1,"11:I[4780,[],\"IconMark\"]\na:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Locus Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local-first task management and documentation for agentic engineering.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"200x209\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"$L11\",\"4\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"f:\"$a:metadata\"\n"])</script></body></html>
@@ -1 +1 @@
1
- (()=>{"use strict";var e={},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var a=t[o]={exports:{}},i=!0;try{e[o].call(a.exports,a,a.exports,r),i=!1}finally{i&&delete t[o]}return a.exports}r.m=e,(()=>{var e=[];r.O=(t,o,n,a)=>{if(o){a=a||0;for(var i=e.length;i>0&&e[i-1][2]>a;i--)e[i]=e[i-1];e[i]=[o,n,a];return}for(var u=1/0,i=0;i<e.length;i++){for(var[o,n,a]=e[i],c=!0,s=0;s<o.length;s++)(!1&a||u>=a)&&Object.keys(r.O).every(e=>r.O[e](o[s]))?o.splice(s--,1):(c=!1,a<u&&(u=a));if(c){e.splice(i--,1);var l=n();void 0!==l&&(t=l)}}return t}})(),r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;r.t=function(o,n){if(1&n&&(o=this(o)),8&n||"object"==typeof o&&o&&(4&n&&o.__esModule||16&n&&"function"==typeof o.then))return o;var a=Object.create(null);r.r(a);var i={};e=e||[null,t({}),t([]),t(t)];for(var u=2&n&&o;"object"==typeof u&&!~e.indexOf(u);u=t(u))Object.getOwnPropertyNames(u).forEach(e=>i[e]=()=>o[e]);return i.default=()=>o,r.d(a,i),a}})(),r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,o)=>(r.f[o](e,t),t),[])),r.u=e=>337===e?"static/chunks/337-d3bb75304d130513.js":487===e?"static/chunks/487-1808785ba665f784.js":146===e?"static/chunks/146-34259952c594a3b0.js":"static/chunks/"+e+"."+({138:"b98511c56423f8bb",477:"1a6ecfe53375bd9c",544:"a9569941cc886e9d",996:"e0a334e6ae90900e"})[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={},t="_N_E:";r.l=(o,n,a,i)=>{if(e[o])return void e[o].push(n);if(void 0!==a)for(var u,c,s=document.getElementsByTagName("script"),l=0;l<s.length;l++){var f=s[l];if(f.getAttribute("src")==o||f.getAttribute("data-webpack")==t+a){u=f;break}}u||(c=!0,(u=document.createElement("script")).charset="utf-8",u.timeout=120,r.nc&&u.setAttribute("nonce",r.nc),u.setAttribute("data-webpack",t+a),u.src=r.tu(o)),e[o]=[n];var d=(t,r)=>{u.onerror=u.onload=null,clearTimeout(p);var n=e[o];if(delete e[o],u.parentNode&&u.parentNode.removeChild(u),n&&n.forEach(e=>e(r)),t)return t(r)},p=setTimeout(d.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=d.bind(null,u.onerror),u.onload=d.bind(null,u.onload),c&&document.head.appendChild(u)}})(),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:e=>e},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("nextjs#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="/_next/",(()=>{var e={68:0,844:0,678:0,851:0};r.f.j=(t,o)=>{var n=r.o(e,t)?e[t]:void 0;if(0!==n)if(n)o.push(n[2]);else if(/^(678|68|844|851)$/.test(t))e[t]=0;else{var a=new Promise((r,o)=>n=e[t]=[r,o]);o.push(n[2]=a);var i=r.p+r.u(t),u=Error();r.l(i,o=>{if(r.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=o&&("load"===o.type?"missing":o.type),i=o&&o.target&&o.target.src;u.message="Loading chunk "+t+" failed.\n("+a+": "+i+")",u.name="ChunkLoadError",u.type=a,u.request=i,n[1](u)}},"chunk-"+t,t)}},r.O.j=t=>0===e[t];var t=(t,o)=>{var n,a,[i,u,c]=o,s=0;if(i.some(t=>0!==e[t])){for(n in u)r.o(u,n)&&(r.m[n]=u[n]);if(c)var l=c(r)}for(t&&t(o);s<i.length;s++)a=i[s],r.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return r.O(l)},o=self.webpackChunk_N_E=self.webpackChunk_N_E||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))})()})();
1
+ (()=>{"use strict";var e={},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var a=t[o]={exports:{}},i=!0;try{e[o].call(a.exports,a,a.exports,r),i=!1}finally{i&&delete t[o]}return a.exports}r.m=e,(()=>{var e=[];r.O=(t,o,n,a)=>{if(o){a=a||0;for(var i=e.length;i>0&&e[i-1][2]>a;i--)e[i]=e[i-1];e[i]=[o,n,a];return}for(var u=1/0,i=0;i<e.length;i++){for(var[o,n,a]=e[i],c=!0,s=0;s<o.length;s++)(!1&a||u>=a)&&Object.keys(r.O).every(e=>r.O[e](o[s]))?o.splice(s--,1):(c=!1,a<u&&(u=a));if(c){e.splice(i--,1);var l=n();void 0!==l&&(t=l)}}return t}})(),r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;r.t=function(o,n){if(1&n&&(o=this(o)),8&n||"object"==typeof o&&o&&(4&n&&o.__esModule||16&n&&"function"==typeof o.then))return o;var a=Object.create(null);r.r(a);var i={};e=e||[null,t({}),t([]),t(t)];for(var u=2&n&&o;"object"==typeof u&&!~e.indexOf(u);u=t(u))Object.getOwnPropertyNames(u).forEach(e=>i[e]=()=>o[e]);return i.default=()=>o,r.d(a,i),a}})(),r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,o)=>(r.f[o](e,t),t),[])),r.u=e=>337===e?"static/chunks/337-d3bb75304d130513.js":487===e?"static/chunks/487-1808785ba665f784.js":146===e?"static/chunks/146-34259952c594a3b0.js":"static/chunks/"+e+"."+({138:"b98511c56423f8bb",477:"1a6ecfe53375bd9c",544:"a9569941cc886e9d",996:"e0a334e6ae90900e"})[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={},t="_N_E:";r.l=(o,n,a,i)=>{if(e[o])return void e[o].push(n);if(void 0!==a)for(var u,c,s=document.getElementsByTagName("script"),l=0;l<s.length;l++){var d=s[l];if(d.getAttribute("src")==o||d.getAttribute("data-webpack")==t+a){u=d;break}}u||(c=!0,(u=document.createElement("script")).charset="utf-8",u.timeout=120,r.nc&&u.setAttribute("nonce",r.nc),u.setAttribute("data-webpack",t+a),u.src=r.tu(o)),e[o]=[n];var f=(t,r)=>{u.onerror=u.onload=null,clearTimeout(p);var n=e[o];if(delete e[o],u.parentNode&&u.parentNode.removeChild(u),n&&n.forEach(e=>e(r)),t)return t(r)},p=setTimeout(f.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=f.bind(null,u.onerror),u.onload=f.bind(null,u.onload),c&&document.head.appendChild(u)}})(),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:e=>e},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("nextjs#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="/_next/",(()=>{var e={68:0,844:0,678:0,851:0};r.f.j=(t,o)=>{var n=r.o(e,t)?e[t]:void 0;if(0!==n)if(n)o.push(n[2]);else if(/^(678|68|844|851)$/.test(t))e[t]=0;else{var a=new Promise((r,o)=>n=e[t]=[r,o]);o.push(n[2]=a);var i=r.p+r.u(t),u=Error();r.l(i,o=>{if(r.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=o&&("load"===o.type?"missing":o.type),i=o&&o.target&&o.target.src;u.message="Loading chunk "+t+" failed.\n("+a+": "+i+")",u.name="ChunkLoadError",u.type=a,u.request=i,n[1](u)}},"chunk-"+t,t)}},r.O.j=t=>0===e[t];var t=(t,o)=>{var n,a,[i,u,c]=o,s=0;if(i.some(t=>0!==e[t])){for(n in u)r.o(u,n)&&(r.m[n]=u[n]);if(c)var l=c(r)}for(t&&t(o);s<i.length;s++)a=i[s],r.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return r.O(l)},o=self.webpackChunk_N_E=self.webpackChunk_N_E||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))})()})();
@@ -1 +1 @@
1
- <!DOCTYPE html><!--1BInkZcWpYFq8PBSpvumK--><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/47cbc4e2adbc5db9-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/8aea088cdc4338f0.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/13e8617b72f9d3aa.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-ab85b3045756e687.js"/><script src="/_next/static/chunks/87c73c54-1f4741035a95c140.js" async=""></script><script src="/_next/static/chunks/902-d6926825a9fe8784.js" async=""></script><script src="/_next/static/chunks/main-app-123e879c5a937a00.js" async=""></script><script src="/_next/static/chunks/337-d3bb75304d130513.js" async=""></script><script src="/_next/static/chunks/146-34259952c594a3b0.js" async=""></script><script src="/_next/static/chunks/app/layout-05f504c042b9f7ee.js" async=""></script><script src="/_next/static/chunks/app/backlog/page-dce1450769bfae8f.js" async=""></script><meta name="next-size-adjust" content=""/><title>Locus Dashboard</title><meta name="description" content="Local-first task management and documentation for agentic engineering."/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="200x209"/><link rel="icon" href="/favicon.ico"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__className_6a21cc antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen overflow-hidden bg-background"><aside class="w-[260px] flex flex-col border-r border-border/50 bg-card/50 backdrop-blur-sm h-full"><div class="flex items-center gap-3 p-5 border-b border-border/50"><img alt="Locus" loading="lazy" width="97.81" height="32" decoding="async" data-nimg="1" class="rounded-xl shadow-lg" style="color:transparent" src="/logo.png"/></div><div class="flex-1 p-4"><div class="text-[10px] uppercase font-bold tracking-widest text-muted-foreground/70 mb-3 px-3">Navigation</div><nav class="space-y-1"><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard group-hover:scale-110 transition-transform"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><div class="flex-1"><span class="block">Board</span></div></a><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all bg-primary text-primary-foreground shadow-md shadow-primary/20" href="/backlog"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-list"><path d="M3 12h.01"></path><path d="M3 18h.01"></path><path d="M3 6h.01"></path><path d="M8 12h13"></path><path d="M8 18h13"></path><path d="M8 6h13"></path></svg><div class="flex-1"><span class="block">Backlog</span></div><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right opacity-70"><path d="m9 18 6-6-6-6"></path></svg></a><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/docs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text group-hover:scale-110 transition-transform"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg><div class="flex-1"><span class="block">Library</span></div></a></nav></div><div class="p-4 border-t border-border/50"><a class="flex items-center gap-3 w-full px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary/60 hover:text-foreground" href="/settings"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span>Settings</span></a></div></aside><main class="flex-1 overflow-auto bg-background p-8"><div class="max-w-[1440px] mx-auto"><header class="flex items-center mb-6 py-3"><div class="relative flex-1 max-w-md group"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search absolute left-3.5 top-1/2 -translate-y-1/2 text-muted-foreground group-focus-within:text-primary transition-colors"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><input type="text" placeholder="Search tasks, docs... (⌘K)" class="w-full bg-secondary/40 border border-border/50 rounded-lg pl-10 pr-4 py-2.5 text-sm text-foreground placeholder:text-muted-foreground/70 outline-none transition-all focus:border-primary/50 focus:ring-2 focus:ring-primary/20 focus:bg-background hover:bg-secondary/60"/></div></header><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><div class="flex-1 flex items-center justify-center"><div class="animate-pulse text-muted-foreground">Loading...</div></div><!--/$--><!--$--><!--/$--></div></main></div><script src="/_next/static/chunks/webpack-ab85b3045756e687.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[6096,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Providers\"]\n3:I[9798,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Sidebar\"]\n4:I[493,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Header\"]\n5:I[7132,[],\"\"]\n6:I[5082,[],\"\"]\n7:I[9065,[],\"ClientPageRoot\"]\n8:I[3418,[\"286\",\"static/chunks/app/backlog/page-dce1450769bfae8f.js\"],\"default\"]\nb:I[700,[],\"OutletBoundary\"]\nd:I[7748,[],\"AsyncMetadataOutlet\"]\nf:I[700,[],\"ViewportBoundary\"]\n11:I[700,[],\"MetadataBoundary\"]\n12:\"$Sreact.suspense\"\n14:I[1256,[],\"\"]\n:HL[\"/_next/static/media/47cbc4e2adbc5db9-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/8aea088cdc4338f0.css\",\"style\"]\n:HL[\"/_next/static/css/13e8617b72f9d3aa.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"1BInkZcWpYFq8PBSpvumK\",\"p\":\"\",\"c\":[\"\",\"backlog\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"backlog\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8aea088cdc4338f0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/13e8617b72f9d3aa.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"children\":[\"$\",\"body\",null,{\"className\":\"__className_6a21cc antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-screen overflow-hidden bg-background\",\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-auto bg-background p-8\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-[1440px] mx-auto\",\"children\":[[\"$\",\"$L4\",null,{}],[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"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.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]]}]}]}]}]]}],{\"children\":[\"backlog\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L7\",null,{\"Component\":\"$8\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@9\",\"$@a\"]}],null,[\"$\",\"$Lb\",null,{\"children\":[\"$Lc\",[\"$\",\"$Ld\",null,{\"promise\":\"$@e\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Lf\",null,{\"children\":\"$L10\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L11\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$12\",null,{\"fallback\":null,\"children\":\"$L13\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$14\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:{}\na:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"10:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nc:null\n"])</script><script>self.__next_f.push([1,"15:I[4780,[],\"IconMark\"]\ne:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Locus Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local-first task management and documentation for agentic engineering.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"200x209\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"$L15\",\"4\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"13:\"$e:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--HYYg7_ymj7X1roSoSIcfi--><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/47cbc4e2adbc5db9-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/8aea088cdc4338f0.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/13e8617b72f9d3aa.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-99a10a055b5bb9c4.js"/><script src="/_next/static/chunks/87c73c54-1f4741035a95c140.js" async=""></script><script src="/_next/static/chunks/902-d6926825a9fe8784.js" async=""></script><script src="/_next/static/chunks/main-app-123e879c5a937a00.js" async=""></script><script src="/_next/static/chunks/337-d3bb75304d130513.js" async=""></script><script src="/_next/static/chunks/146-34259952c594a3b0.js" async=""></script><script src="/_next/static/chunks/app/layout-05f504c042b9f7ee.js" async=""></script><script src="/_next/static/chunks/app/backlog/page-dce1450769bfae8f.js" async=""></script><meta name="next-size-adjust" content=""/><title>Locus Dashboard</title><meta name="description" content="Local-first task management and documentation for agentic engineering."/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="200x209"/><link rel="icon" href="/favicon.ico"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__className_6a21cc antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen overflow-hidden bg-background"><aside class="w-[260px] flex flex-col border-r border-border/50 bg-card/50 backdrop-blur-sm h-full"><div class="flex items-center gap-3 p-5 border-b border-border/50"><img alt="Locus" loading="lazy" width="97.81" height="32" decoding="async" data-nimg="1" class="rounded-xl shadow-lg" style="color:transparent" src="/logo.png"/></div><div class="flex-1 p-4"><div class="text-[10px] uppercase font-bold tracking-widest text-muted-foreground/70 mb-3 px-3">Navigation</div><nav class="space-y-1"><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard group-hover:scale-110 transition-transform"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><div class="flex-1"><span class="block">Board</span></div></a><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all bg-primary text-primary-foreground shadow-md shadow-primary/20" href="/backlog"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-list"><path d="M3 12h.01"></path><path d="M3 18h.01"></path><path d="M3 6h.01"></path><path d="M8 12h13"></path><path d="M8 18h13"></path><path d="M8 6h13"></path></svg><div class="flex-1"><span class="block">Backlog</span></div><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right opacity-70"><path d="m9 18 6-6-6-6"></path></svg></a><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/docs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text group-hover:scale-110 transition-transform"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg><div class="flex-1"><span class="block">Library</span></div></a></nav></div><div class="p-4 border-t border-border/50"><a class="flex items-center gap-3 w-full px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary/60 hover:text-foreground" href="/settings"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span>Settings</span></a></div></aside><main class="flex-1 overflow-auto bg-background p-8"><div class="max-w-[1440px] mx-auto"><header class="flex items-center mb-6 py-3"><div class="relative flex-1 max-w-md group"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search absolute left-3.5 top-1/2 -translate-y-1/2 text-muted-foreground group-focus-within:text-primary transition-colors"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><input type="text" placeholder="Search tasks, docs... (⌘K)" class="w-full bg-secondary/40 border border-border/50 rounded-lg pl-10 pr-4 py-2.5 text-sm text-foreground placeholder:text-muted-foreground/70 outline-none transition-all focus:border-primary/50 focus:ring-2 focus:ring-primary/20 focus:bg-background hover:bg-secondary/60"/></div></header><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><div class="flex-1 flex items-center justify-center"><div class="animate-pulse text-muted-foreground">Loading...</div></div><!--/$--><!--$--><!--/$--></div></main></div><script src="/_next/static/chunks/webpack-99a10a055b5bb9c4.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[6096,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Providers\"]\n3:I[9798,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Sidebar\"]\n4:I[493,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Header\"]\n5:I[7132,[],\"\"]\n6:I[5082,[],\"\"]\n7:I[9065,[],\"ClientPageRoot\"]\n8:I[3418,[\"286\",\"static/chunks/app/backlog/page-dce1450769bfae8f.js\"],\"default\"]\nb:I[700,[],\"OutletBoundary\"]\nd:I[7748,[],\"AsyncMetadataOutlet\"]\nf:I[700,[],\"ViewportBoundary\"]\n11:I[700,[],\"MetadataBoundary\"]\n12:\"$Sreact.suspense\"\n14:I[1256,[],\"\"]\n:HL[\"/_next/static/media/47cbc4e2adbc5db9-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/8aea088cdc4338f0.css\",\"style\"]\n:HL[\"/_next/static/css/13e8617b72f9d3aa.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"HYYg7-ymj7X1roSoSIcfi\",\"p\":\"\",\"c\":[\"\",\"backlog\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"backlog\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8aea088cdc4338f0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/13e8617b72f9d3aa.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"children\":[\"$\",\"body\",null,{\"className\":\"__className_6a21cc antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-screen overflow-hidden bg-background\",\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-auto bg-background p-8\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-[1440px] mx-auto\",\"children\":[[\"$\",\"$L4\",null,{}],[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"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.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]]}]}]}]}]]}],{\"children\":[\"backlog\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L7\",null,{\"Component\":\"$8\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@9\",\"$@a\"]}],null,[\"$\",\"$Lb\",null,{\"children\":[\"$Lc\",[\"$\",\"$Ld\",null,{\"promise\":\"$@e\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Lf\",null,{\"children\":\"$L10\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L11\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$12\",null,{\"fallback\":null,\"children\":\"$L13\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$14\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:{}\na:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"10:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nc:null\n"])</script><script>self.__next_f.push([1,"15:I[4780,[],\"IconMark\"]\ne:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Locus Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local-first task management and documentation for agentic engineering.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"200x209\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"$L15\",\"4\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"13:\"$e:metadata\"\n"])</script></body></html>
@@ -15,7 +15,7 @@ f:I[700,[],"ViewportBoundary"]
15
15
  :HL["/_next/static/media/47cbc4e2adbc5db9-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
16
16
  :HL["/_next/static/css/8aea088cdc4338f0.css","style"]
17
17
  :HL["/_next/static/css/13e8617b72f9d3aa.css","style"]
18
- 0:{"P":null,"b":"1BInkZcWpYFq8PBSpvumK","p":"","c":["","backlog"],"i":false,"f":[[["",{"children":["backlog",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/8aea088cdc4338f0.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/13e8617b72f9d3aa.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"dark","children":["$","body",null,{"className":"__className_6a21cc antialiased","children":["$","$L2",null,{"children":["$","div",null,{"className":"flex h-screen overflow-hidden bg-background","children":[["$","$L3",null,{}],["$","main",null,{"className":"flex-1 overflow-auto bg-background p-8","children":["$","div",null,{"className":"max-w-[1440px] mx-auto","children":[["$","$L4",null,{}],["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","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."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]}]]}]}]}]}]]}],{"children":["backlog",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],null,["$","$Lb",null,{"children":["$Lc",["$","$Ld",null,{"promise":"$@e"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lf",null,{"children":"$L10"}],["$","meta",null,{"name":"next-size-adjust","content":""}]],["$","$L11",null,{"children":["$","div",null,{"hidden":true,"children":["$","$12",null,{"fallback":null,"children":"$L13"}]}]}]]}],false]],"m":"$undefined","G":["$14",[]],"s":false,"S":true}
18
+ 0:{"P":null,"b":"HYYg7-ymj7X1roSoSIcfi","p":"","c":["","backlog"],"i":false,"f":[[["",{"children":["backlog",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/8aea088cdc4338f0.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/13e8617b72f9d3aa.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"dark","children":["$","body",null,{"className":"__className_6a21cc antialiased","children":["$","$L2",null,{"children":["$","div",null,{"className":"flex h-screen overflow-hidden bg-background","children":[["$","$L3",null,{}],["$","main",null,{"className":"flex-1 overflow-auto bg-background p-8","children":["$","div",null,{"className":"max-w-[1440px] mx-auto","children":[["$","$L4",null,{}],["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","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."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]}]]}]}]}]}]]}],{"children":["backlog",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],null,["$","$Lb",null,{"children":["$Lc",["$","$Ld",null,{"promise":"$@e"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lf",null,{"children":"$L10"}],["$","meta",null,{"name":"next-size-adjust","content":""}]],["$","$L11",null,{"children":["$","div",null,{"hidden":true,"children":["$","$12",null,{"fallback":null,"children":"$L13"}]}]}]]}],false]],"m":"$undefined","G":["$14",[]],"s":false,"S":true}
19
19
  9:{}
20
20
  a:"$0:f:0:1:2:children:2:children:1:props:children:0:props:params"
21
21
  10:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
@@ -1 +1 @@
1
- <!DOCTYPE html><!--1BInkZcWpYFq8PBSpvumK--><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/47cbc4e2adbc5db9-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/8aea088cdc4338f0.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/13e8617b72f9d3aa.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/b301ab0424111664.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-ab85b3045756e687.js"/><script src="/_next/static/chunks/87c73c54-1f4741035a95c140.js" async=""></script><script src="/_next/static/chunks/902-d6926825a9fe8784.js" async=""></script><script src="/_next/static/chunks/main-app-123e879c5a937a00.js" async=""></script><script src="/_next/static/chunks/337-d3bb75304d130513.js" async=""></script><script src="/_next/static/chunks/146-34259952c594a3b0.js" async=""></script><script src="/_next/static/chunks/app/layout-05f504c042b9f7ee.js" async=""></script><script src="/_next/static/chunks/487-1808785ba665f784.js" async=""></script><script src="/_next/static/chunks/955-c8f8f6235ae8f8c6.js" async=""></script><script src="/_next/static/chunks/app/docs/page-1efee819f25492cb.js" async=""></script><meta name="next-size-adjust" content=""/><title>Locus Dashboard</title><meta name="description" content="Local-first task management and documentation for agentic engineering."/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="200x209"/><link rel="icon" href="/favicon.ico"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__className_6a21cc antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen overflow-hidden bg-background"><aside class="w-[260px] flex flex-col border-r border-border/50 bg-card/50 backdrop-blur-sm h-full"><div class="flex items-center gap-3 p-5 border-b border-border/50"><img alt="Locus" loading="lazy" width="97.81" height="32" decoding="async" data-nimg="1" class="rounded-xl shadow-lg" style="color:transparent" src="/logo.png"/></div><div class="flex-1 p-4"><div class="text-[10px] uppercase font-bold tracking-widest text-muted-foreground/70 mb-3 px-3">Navigation</div><nav class="space-y-1"><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard group-hover:scale-110 transition-transform"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><div class="flex-1"><span class="block">Board</span></div></a><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/backlog"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-list group-hover:scale-110 transition-transform"><path d="M3 12h.01"></path><path d="M3 18h.01"></path><path d="M3 6h.01"></path><path d="M8 12h13"></path><path d="M8 18h13"></path><path d="M8 6h13"></path></svg><div class="flex-1"><span class="block">Backlog</span></div></a><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all bg-primary text-primary-foreground shadow-md shadow-primary/20" href="/docs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg><div class="flex-1"><span class="block">Library</span></div><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right opacity-70"><path d="m9 18 6-6-6-6"></path></svg></a></nav></div><div class="p-4 border-t border-border/50"><a class="flex items-center gap-3 w-full px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary/60 hover:text-foreground" href="/settings"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span>Settings</span></a></div></aside><main class="flex-1 overflow-auto bg-background p-8"><div class="max-w-[1440px] mx-auto"><header class="flex items-center mb-6 py-3"><div class="relative flex-1 max-w-md group"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search absolute left-3.5 top-1/2 -translate-y-1/2 text-muted-foreground group-focus-within:text-primary transition-colors"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><input type="text" placeholder="Search tasks, docs... (⌘K)" class="w-full bg-secondary/40 border border-border/50 rounded-lg pl-10 pr-4 py-2.5 text-sm text-foreground placeholder:text-muted-foreground/70 outline-none transition-all focus:border-primary/50 focus:ring-2 focus:ring-primary/20 focus:bg-background hover:bg-secondary/60"/></div></header><div class="flex gap-6 h-[calc(100vh-8rem)]"><aside class="w-80 flex flex-col bg-card/50 border border-border/50 rounded-xl overflow-hidden"><div class="p-4 border-b border-border/50"><div class="flex justify-between items-center mb-3"><h3 class="text-sm font-bold text-foreground">Documentation</h3><button class="inline-flex items-center justify-center gap-2 font-semibold rounded-lg transition-all duration-200 active:scale-95 disabled:opacity-50 disabled:pointer-events-none bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80 h-9 w-9 h-8 w-8"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg></button></div><div class="relative"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><div class="relative w-full group"><input class="flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-zinc-500 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 pl-3 pr-3 h-9 pl-9 text-sm bg-secondary/40" placeholder="Search docs..." value=""/></div></div></div><div class="p-3 border-b border-border/50"><div class="flex items-center gap-1.5 text-[10px] text-muted-foreground uppercase tracking-wider mb-2 px-1"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-filter"><polygon points="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"></polygon></svg>Categories</div><div class="flex flex-wrap gap-1.5"><button class="flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg text-xs font-medium transition-all bg-secondary text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path></svg>All Documents</button><button class="flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg text-xs font-medium transition-all text-muted-foreground hover:bg-secondary/50"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lightbulb"><path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"></path><path d="M9 18h6"></path><path d="M10 22h4"></path></svg>Product</button><button class="flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg text-xs font-medium transition-all text-muted-foreground hover:bg-secondary/50"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code"><polyline points="16 18 22 12 16 6"></polyline><polyline points="8 6 2 12 8 18"></polyline></svg>Engineering</button><button class="flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg text-xs font-medium transition-all text-muted-foreground hover:bg-secondary/50"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-palette"><circle cx="13.5" cy="6.5" r=".5" fill="currentColor"></circle><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"></circle><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"></circle><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"></circle><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z"></path></svg>Design</button><button class="flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg text-xs font-medium transition-all text-muted-foreground hover:bg-secondary/50"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg>Team</button></div></div><div class="flex-1 overflow-y-auto p-2"><div class="flex flex-col items-center justify-center h-full text-center p-4"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file text-muted-foreground/30 mb-2"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path></svg><p class="text-sm text-muted-foreground">No documents</p><p class="text-xs text-muted-foreground/60">Create your first document</p></div></div></aside><main class="flex-1 flex flex-col min-w-0"><div class="h-full flex items-center justify-center"><div class="max-w-lg w-full p-10 bg-card/50 border border-border/50 rounded-2xl flex flex-col items-center text-center space-y-5"><div class="p-5 bg-secondary/50 rounded-2xl"><svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open text-muted-foreground/40"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path></svg></div><div><h2 class="text-xl font-bold text-foreground mb-2">Welcome to Documentation</h2><p class="text-muted-foreground text-sm leading-relaxed max-w-sm">Select a document from the sidebar or create a new one using templates for PRDs, technical specs, and more.</p></div><div class="flex gap-2 pt-2"><button class="inline-flex items-center justify-center gap-2 font-semibold rounded-lg transition-all duration-200 active:scale-95 disabled:opacity-50 disabled:pointer-events-none bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80 h-8 px-3 text-xs "><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus mr-1.5"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg>New Document</button></div></div></div></main></div><!--$--><!--/$--></div></main></div><script src="/_next/static/chunks/webpack-ab85b3045756e687.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[6096,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Providers\"]\n3:I[9798,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Sidebar\"]\n4:I[493,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Header\"]\n5:I[7132,[],\"\"]\n6:I[5082,[],\"\"]\n7:I[9065,[],\"ClientPageRoot\"]\n8:I[6157,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"487\",\"static/chunks/487-1808785ba665f784.js\",\"955\",\"static/chunks/955-c8f8f6235ae8f8c6.js\",\"40\",\"static/chunks/app/docs/page-1efee819f25492cb.js\"],\"default\"]\nb:I[700,[],\"OutletBoundary\"]\nd:I[7748,[],\"AsyncMetadataOutlet\"]\nf:I[700,[],\"ViewportBoundary\"]\n11:I[700,[],\"MetadataBoundary\"]\n12:\"$Sreact.suspense\"\n14:I[1256,[],\"\"]\n:HL[\"/_next/static/media/47cbc4e2adbc5db9-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/8aea088cdc4338f0.css\",\"style\"]\n:HL[\"/_next/static/css/13e8617b72f9d3aa.css\",\"style\"]\n:HL[\"/_next/static/css/b301ab0424111664.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"1BInkZcWpYFq8PBSpvumK\",\"p\":\"\",\"c\":[\"\",\"docs\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"docs\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8aea088cdc4338f0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/13e8617b72f9d3aa.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"children\":[\"$\",\"body\",null,{\"className\":\"__className_6a21cc antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-screen overflow-hidden bg-background\",\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-auto bg-background p-8\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-[1440px] mx-auto\",\"children\":[[\"$\",\"$L4\",null,{}],[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"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.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]]}]}]}]}]]}],{\"children\":[\"docs\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L7\",null,{\"Component\":\"$8\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@9\",\"$@a\"]}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b301ab0424111664.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$Lb\",null,{\"children\":[\"$Lc\",[\"$\",\"$Ld\",null,{\"promise\":\"$@e\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Lf\",null,{\"children\":\"$L10\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L11\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$12\",null,{\"fallback\":null,\"children\":\"$L13\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$14\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:{}\na:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"10:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nc:null\n"])</script><script>self.__next_f.push([1,"15:I[4780,[],\"IconMark\"]\ne:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Locus Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local-first task management and documentation for agentic engineering.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"200x209\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"$L15\",\"4\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"13:\"$e:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--HYYg7_ymj7X1roSoSIcfi--><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/47cbc4e2adbc5db9-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/8aea088cdc4338f0.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/13e8617b72f9d3aa.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/b301ab0424111664.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-99a10a055b5bb9c4.js"/><script src="/_next/static/chunks/87c73c54-1f4741035a95c140.js" async=""></script><script src="/_next/static/chunks/902-d6926825a9fe8784.js" async=""></script><script src="/_next/static/chunks/main-app-123e879c5a937a00.js" async=""></script><script src="/_next/static/chunks/337-d3bb75304d130513.js" async=""></script><script src="/_next/static/chunks/146-34259952c594a3b0.js" async=""></script><script src="/_next/static/chunks/app/layout-05f504c042b9f7ee.js" async=""></script><script src="/_next/static/chunks/487-1808785ba665f784.js" async=""></script><script src="/_next/static/chunks/955-c8f8f6235ae8f8c6.js" async=""></script><script src="/_next/static/chunks/app/docs/page-1efee819f25492cb.js" async=""></script><meta name="next-size-adjust" content=""/><title>Locus Dashboard</title><meta name="description" content="Local-first task management and documentation for agentic engineering."/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="200x209"/><link rel="icon" href="/favicon.ico"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__className_6a21cc antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen overflow-hidden bg-background"><aside class="w-[260px] flex flex-col border-r border-border/50 bg-card/50 backdrop-blur-sm h-full"><div class="flex items-center gap-3 p-5 border-b border-border/50"><img alt="Locus" loading="lazy" width="97.81" height="32" decoding="async" data-nimg="1" class="rounded-xl shadow-lg" style="color:transparent" src="/logo.png"/></div><div class="flex-1 p-4"><div class="text-[10px] uppercase font-bold tracking-widest text-muted-foreground/70 mb-3 px-3">Navigation</div><nav class="space-y-1"><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard group-hover:scale-110 transition-transform"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><div class="flex-1"><span class="block">Board</span></div></a><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/backlog"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-list group-hover:scale-110 transition-transform"><path d="M3 12h.01"></path><path d="M3 18h.01"></path><path d="M3 6h.01"></path><path d="M8 12h13"></path><path d="M8 18h13"></path><path d="M8 6h13"></path></svg><div class="flex-1"><span class="block">Backlog</span></div></a><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all bg-primary text-primary-foreground shadow-md shadow-primary/20" href="/docs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg><div class="flex-1"><span class="block">Library</span></div><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right opacity-70"><path d="m9 18 6-6-6-6"></path></svg></a></nav></div><div class="p-4 border-t border-border/50"><a class="flex items-center gap-3 w-full px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary/60 hover:text-foreground" href="/settings"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span>Settings</span></a></div></aside><main class="flex-1 overflow-auto bg-background p-8"><div class="max-w-[1440px] mx-auto"><header class="flex items-center mb-6 py-3"><div class="relative flex-1 max-w-md group"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search absolute left-3.5 top-1/2 -translate-y-1/2 text-muted-foreground group-focus-within:text-primary transition-colors"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><input type="text" placeholder="Search tasks, docs... (⌘K)" class="w-full bg-secondary/40 border border-border/50 rounded-lg pl-10 pr-4 py-2.5 text-sm text-foreground placeholder:text-muted-foreground/70 outline-none transition-all focus:border-primary/50 focus:ring-2 focus:ring-primary/20 focus:bg-background hover:bg-secondary/60"/></div></header><div class="flex gap-6 h-[calc(100vh-8rem)]"><aside class="w-80 flex flex-col bg-card/50 border border-border/50 rounded-xl overflow-hidden"><div class="p-4 border-b border-border/50"><div class="flex justify-between items-center mb-3"><h3 class="text-sm font-bold text-foreground">Documentation</h3><button class="inline-flex items-center justify-center gap-2 font-semibold rounded-lg transition-all duration-200 active:scale-95 disabled:opacity-50 disabled:pointer-events-none bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80 h-9 w-9 h-8 w-8"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg></button></div><div class="relative"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><div class="relative w-full group"><input class="flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-zinc-500 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 pl-3 pr-3 h-9 pl-9 text-sm bg-secondary/40" placeholder="Search docs..." value=""/></div></div></div><div class="p-3 border-b border-border/50"><div class="flex items-center gap-1.5 text-[10px] text-muted-foreground uppercase tracking-wider mb-2 px-1"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-filter"><polygon points="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"></polygon></svg>Categories</div><div class="flex flex-wrap gap-1.5"><button class="flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg text-xs font-medium transition-all bg-secondary text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path></svg>All Documents</button><button class="flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg text-xs font-medium transition-all text-muted-foreground hover:bg-secondary/50"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lightbulb"><path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"></path><path d="M9 18h6"></path><path d="M10 22h4"></path></svg>Product</button><button class="flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg text-xs font-medium transition-all text-muted-foreground hover:bg-secondary/50"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code"><polyline points="16 18 22 12 16 6"></polyline><polyline points="8 6 2 12 8 18"></polyline></svg>Engineering</button><button class="flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg text-xs font-medium transition-all text-muted-foreground hover:bg-secondary/50"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-palette"><circle cx="13.5" cy="6.5" r=".5" fill="currentColor"></circle><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"></circle><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"></circle><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"></circle><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z"></path></svg>Design</button><button class="flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg text-xs font-medium transition-all text-muted-foreground hover:bg-secondary/50"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg>Team</button></div></div><div class="flex-1 overflow-y-auto p-2"><div class="flex flex-col items-center justify-center h-full text-center p-4"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file text-muted-foreground/30 mb-2"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path></svg><p class="text-sm text-muted-foreground">No documents</p><p class="text-xs text-muted-foreground/60">Create your first document</p></div></div></aside><main class="flex-1 flex flex-col min-w-0"><div class="h-full flex items-center justify-center"><div class="max-w-lg w-full p-10 bg-card/50 border border-border/50 rounded-2xl flex flex-col items-center text-center space-y-5"><div class="p-5 bg-secondary/50 rounded-2xl"><svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open text-muted-foreground/40"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path></svg></div><div><h2 class="text-xl font-bold text-foreground mb-2">Welcome to Documentation</h2><p class="text-muted-foreground text-sm leading-relaxed max-w-sm">Select a document from the sidebar or create a new one using templates for PRDs, technical specs, and more.</p></div><div class="flex gap-2 pt-2"><button class="inline-flex items-center justify-center gap-2 font-semibold rounded-lg transition-all duration-200 active:scale-95 disabled:opacity-50 disabled:pointer-events-none bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80 h-8 px-3 text-xs "><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus mr-1.5"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg>New Document</button></div></div></div></main></div><!--$--><!--/$--></div></main></div><script src="/_next/static/chunks/webpack-99a10a055b5bb9c4.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[6096,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Providers\"]\n3:I[9798,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Sidebar\"]\n4:I[493,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Header\"]\n5:I[7132,[],\"\"]\n6:I[5082,[],\"\"]\n7:I[9065,[],\"ClientPageRoot\"]\n8:I[6157,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"487\",\"static/chunks/487-1808785ba665f784.js\",\"955\",\"static/chunks/955-c8f8f6235ae8f8c6.js\",\"40\",\"static/chunks/app/docs/page-1efee819f25492cb.js\"],\"default\"]\nb:I[700,[],\"OutletBoundary\"]\nd:I[7748,[],\"AsyncMetadataOutlet\"]\nf:I[700,[],\"ViewportBoundary\"]\n11:I[700,[],\"MetadataBoundary\"]\n12:\"$Sreact.suspense\"\n14:I[1256,[],\"\"]\n:HL[\"/_next/static/media/47cbc4e2adbc5db9-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/8aea088cdc4338f0.css\",\"style\"]\n:HL[\"/_next/static/css/13e8617b72f9d3aa.css\",\"style\"]\n:HL[\"/_next/static/css/b301ab0424111664.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"HYYg7-ymj7X1roSoSIcfi\",\"p\":\"\",\"c\":[\"\",\"docs\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"docs\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8aea088cdc4338f0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/13e8617b72f9d3aa.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"children\":[\"$\",\"body\",null,{\"className\":\"__className_6a21cc antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-screen overflow-hidden bg-background\",\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-auto bg-background p-8\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-[1440px] mx-auto\",\"children\":[[\"$\",\"$L4\",null,{}],[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"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.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]]}]}]}]}]]}],{\"children\":[\"docs\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L7\",null,{\"Component\":\"$8\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@9\",\"$@a\"]}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b301ab0424111664.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$Lb\",null,{\"children\":[\"$Lc\",[\"$\",\"$Ld\",null,{\"promise\":\"$@e\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Lf\",null,{\"children\":\"$L10\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L11\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$12\",null,{\"fallback\":null,\"children\":\"$L13\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$14\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:{}\na:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"10:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nc:null\n"])</script><script>self.__next_f.push([1,"15:I[4780,[],\"IconMark\"]\ne:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Locus Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local-first task management and documentation for agentic engineering.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"200x209\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"$L15\",\"4\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"13:\"$e:metadata\"\n"])</script></body></html>
@@ -16,7 +16,7 @@ f:I[700,[],"ViewportBoundary"]
16
16
  :HL["/_next/static/css/8aea088cdc4338f0.css","style"]
17
17
  :HL["/_next/static/css/13e8617b72f9d3aa.css","style"]
18
18
  :HL["/_next/static/css/b301ab0424111664.css","style"]
19
- 0:{"P":null,"b":"1BInkZcWpYFq8PBSpvumK","p":"","c":["","docs"],"i":false,"f":[[["",{"children":["docs",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/8aea088cdc4338f0.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/13e8617b72f9d3aa.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"dark","children":["$","body",null,{"className":"__className_6a21cc antialiased","children":["$","$L2",null,{"children":["$","div",null,{"className":"flex h-screen overflow-hidden bg-background","children":[["$","$L3",null,{}],["$","main",null,{"className":"flex-1 overflow-auto bg-background p-8","children":["$","div",null,{"className":"max-w-[1440px] mx-auto","children":[["$","$L4",null,{}],["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","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."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]}]]}]}]}]}]]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/b301ab0424111664.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$Lb",null,{"children":["$Lc",["$","$Ld",null,{"promise":"$@e"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lf",null,{"children":"$L10"}],["$","meta",null,{"name":"next-size-adjust","content":""}]],["$","$L11",null,{"children":["$","div",null,{"hidden":true,"children":["$","$12",null,{"fallback":null,"children":"$L13"}]}]}]]}],false]],"m":"$undefined","G":["$14",[]],"s":false,"S":true}
19
+ 0:{"P":null,"b":"HYYg7-ymj7X1roSoSIcfi","p":"","c":["","docs"],"i":false,"f":[[["",{"children":["docs",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/8aea088cdc4338f0.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/13e8617b72f9d3aa.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"dark","children":["$","body",null,{"className":"__className_6a21cc antialiased","children":["$","$L2",null,{"children":["$","div",null,{"className":"flex h-screen overflow-hidden bg-background","children":[["$","$L3",null,{}],["$","main",null,{"className":"flex-1 overflow-auto bg-background p-8","children":["$","div",null,{"className":"max-w-[1440px] mx-auto","children":[["$","$L4",null,{}],["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","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."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]}]]}]}]}]}]]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/b301ab0424111664.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$Lb",null,{"children":["$Lc",["$","$Ld",null,{"promise":"$@e"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lf",null,{"children":"$L10"}],["$","meta",null,{"name":"next-size-adjust","content":""}]],["$","$L11",null,{"children":["$","div",null,{"hidden":true,"children":["$","$12",null,{"fallback":null,"children":"$L13"}]}]}]]}],false]],"m":"$undefined","G":["$14",[]],"s":false,"S":true}
20
20
  9:{}
21
21
  a:"$0:f:0:1:2:children:2:children:1:props:children:0:props:params"
22
22
  10:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
@@ -1 +1 @@
1
- <!DOCTYPE html><!--1BInkZcWpYFq8PBSpvumK--><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/47cbc4e2adbc5db9-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/8aea088cdc4338f0.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/13e8617b72f9d3aa.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-ab85b3045756e687.js"/><script src="/_next/static/chunks/87c73c54-1f4741035a95c140.js" async=""></script><script src="/_next/static/chunks/902-d6926825a9fe8784.js" async=""></script><script src="/_next/static/chunks/main-app-123e879c5a937a00.js" async=""></script><script src="/_next/static/chunks/337-d3bb75304d130513.js" async=""></script><script src="/_next/static/chunks/146-34259952c594a3b0.js" async=""></script><script src="/_next/static/chunks/app/layout-05f504c042b9f7ee.js" async=""></script><script src="/_next/static/chunks/app/page-3fd91aaaa4776ced.js" async=""></script><meta name="next-size-adjust" content=""/><title>Locus Dashboard</title><meta name="description" content="Local-first task management and documentation for agentic engineering."/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="200x209"/><link rel="icon" href="/favicon.ico"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__className_6a21cc antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen overflow-hidden bg-background"><aside class="w-[260px] flex flex-col border-r border-border/50 bg-card/50 backdrop-blur-sm h-full"><div class="flex items-center gap-3 p-5 border-b border-border/50"><img alt="Locus" loading="lazy" width="97.81" height="32" decoding="async" data-nimg="1" class="rounded-xl shadow-lg" style="color:transparent" src="/logo.png"/></div><div class="flex-1 p-4"><div class="text-[10px] uppercase font-bold tracking-widest text-muted-foreground/70 mb-3 px-3">Navigation</div><nav class="space-y-1"><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all bg-primary text-primary-foreground shadow-md shadow-primary/20" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><div class="flex-1"><span class="block">Board</span></div><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right opacity-70"><path d="m9 18 6-6-6-6"></path></svg></a><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/backlog"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-list group-hover:scale-110 transition-transform"><path d="M3 12h.01"></path><path d="M3 18h.01"></path><path d="M3 6h.01"></path><path d="M8 12h13"></path><path d="M8 18h13"></path><path d="M8 6h13"></path></svg><div class="flex-1"><span class="block">Backlog</span></div></a><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/docs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text group-hover:scale-110 transition-transform"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg><div class="flex-1"><span class="block">Library</span></div></a></nav></div><div class="p-4 border-t border-border/50"><a class="flex items-center gap-3 w-full px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary/60 hover:text-foreground" href="/settings"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span>Settings</span></a></div></aside><main class="flex-1 overflow-auto bg-background p-8"><div class="max-w-[1440px] mx-auto"><header class="flex items-center mb-6 py-3"><div class="relative flex-1 max-w-md group"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search absolute left-3.5 top-1/2 -translate-y-1/2 text-muted-foreground group-focus-within:text-primary transition-colors"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><input type="text" placeholder="Search tasks, docs... (⌘K)" class="w-full bg-secondary/40 border border-border/50 rounded-lg pl-10 pr-4 py-2.5 text-sm text-foreground placeholder:text-muted-foreground/70 outline-none transition-all focus:border-primary/50 focus:ring-2 focus:ring-primary/20 focus:bg-background hover:bg-secondary/60"/></div></header><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><div class="flex-1 flex items-center justify-center"><div class="animate-pulse text-muted-foreground">Loading...</div></div><!--/$--><!--$--><!--/$--></div></main></div><script src="/_next/static/chunks/webpack-ab85b3045756e687.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[6096,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Providers\"]\n3:I[9798,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Sidebar\"]\n4:I[493,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Header\"]\n5:I[7132,[],\"\"]\n6:I[5082,[],\"\"]\n7:I[9065,[],\"ClientPageRoot\"]\n8:I[7738,[\"974\",\"static/chunks/app/page-3fd91aaaa4776ced.js\"],\"default\"]\nb:I[700,[],\"OutletBoundary\"]\nd:I[7748,[],\"AsyncMetadataOutlet\"]\nf:I[700,[],\"ViewportBoundary\"]\n11:I[700,[],\"MetadataBoundary\"]\n12:\"$Sreact.suspense\"\n14:I[1256,[],\"\"]\n:HL[\"/_next/static/media/47cbc4e2adbc5db9-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/8aea088cdc4338f0.css\",\"style\"]\n:HL[\"/_next/static/css/13e8617b72f9d3aa.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"1BInkZcWpYFq8PBSpvumK\",\"p\":\"\",\"c\":[\"\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8aea088cdc4338f0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/13e8617b72f9d3aa.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"children\":[\"$\",\"body\",null,{\"className\":\"__className_6a21cc antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-screen overflow-hidden bg-background\",\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-auto bg-background p-8\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-[1440px] mx-auto\",\"children\":[[\"$\",\"$L4\",null,{}],[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"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.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]]}]}]}]}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L7\",null,{\"Component\":\"$8\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@9\",\"$@a\"]}],null,[\"$\",\"$Lb\",null,{\"children\":[\"$Lc\",[\"$\",\"$Ld\",null,{\"promise\":\"$@e\"}]]}]]}],{},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Lf\",null,{\"children\":\"$L10\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L11\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$12\",null,{\"fallback\":null,\"children\":\"$L13\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$14\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:{}\na:\"$0:f:0:1:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"10:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nc:null\n"])</script><script>self.__next_f.push([1,"15:I[4780,[],\"IconMark\"]\ne:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Locus Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local-first task management and documentation for agentic engineering.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"200x209\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"$L15\",\"4\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"13:\"$e:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--HYYg7_ymj7X1roSoSIcfi--><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/47cbc4e2adbc5db9-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/8aea088cdc4338f0.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/13e8617b72f9d3aa.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-99a10a055b5bb9c4.js"/><script src="/_next/static/chunks/87c73c54-1f4741035a95c140.js" async=""></script><script src="/_next/static/chunks/902-d6926825a9fe8784.js" async=""></script><script src="/_next/static/chunks/main-app-123e879c5a937a00.js" async=""></script><script src="/_next/static/chunks/337-d3bb75304d130513.js" async=""></script><script src="/_next/static/chunks/146-34259952c594a3b0.js" async=""></script><script src="/_next/static/chunks/app/layout-05f504c042b9f7ee.js" async=""></script><script src="/_next/static/chunks/app/page-3fd91aaaa4776ced.js" async=""></script><meta name="next-size-adjust" content=""/><title>Locus Dashboard</title><meta name="description" content="Local-first task management and documentation for agentic engineering."/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="200x209"/><link rel="icon" href="/favicon.ico"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__className_6a21cc antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen overflow-hidden bg-background"><aside class="w-[260px] flex flex-col border-r border-border/50 bg-card/50 backdrop-blur-sm h-full"><div class="flex items-center gap-3 p-5 border-b border-border/50"><img alt="Locus" loading="lazy" width="97.81" height="32" decoding="async" data-nimg="1" class="rounded-xl shadow-lg" style="color:transparent" src="/logo.png"/></div><div class="flex-1 p-4"><div class="text-[10px] uppercase font-bold tracking-widest text-muted-foreground/70 mb-3 px-3">Navigation</div><nav class="space-y-1"><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all bg-primary text-primary-foreground shadow-md shadow-primary/20" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><div class="flex-1"><span class="block">Board</span></div><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right opacity-70"><path d="m9 18 6-6-6-6"></path></svg></a><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/backlog"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-list group-hover:scale-110 transition-transform"><path d="M3 12h.01"></path><path d="M3 18h.01"></path><path d="M3 6h.01"></path><path d="M8 12h13"></path><path d="M8 18h13"></path><path d="M8 6h13"></path></svg><div class="flex-1"><span class="block">Backlog</span></div></a><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/docs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text group-hover:scale-110 transition-transform"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg><div class="flex-1"><span class="block">Library</span></div></a></nav></div><div class="p-4 border-t border-border/50"><a class="flex items-center gap-3 w-full px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary/60 hover:text-foreground" href="/settings"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span>Settings</span></a></div></aside><main class="flex-1 overflow-auto bg-background p-8"><div class="max-w-[1440px] mx-auto"><header class="flex items-center mb-6 py-3"><div class="relative flex-1 max-w-md group"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search absolute left-3.5 top-1/2 -translate-y-1/2 text-muted-foreground group-focus-within:text-primary transition-colors"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><input type="text" placeholder="Search tasks, docs... (⌘K)" class="w-full bg-secondary/40 border border-border/50 rounded-lg pl-10 pr-4 py-2.5 text-sm text-foreground placeholder:text-muted-foreground/70 outline-none transition-all focus:border-primary/50 focus:ring-2 focus:ring-primary/20 focus:bg-background hover:bg-secondary/60"/></div></header><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><div class="flex-1 flex items-center justify-center"><div class="animate-pulse text-muted-foreground">Loading...</div></div><!--/$--><!--$--><!--/$--></div></main></div><script src="/_next/static/chunks/webpack-99a10a055b5bb9c4.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[6096,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Providers\"]\n3:I[9798,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Sidebar\"]\n4:I[493,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Header\"]\n5:I[7132,[],\"\"]\n6:I[5082,[],\"\"]\n7:I[9065,[],\"ClientPageRoot\"]\n8:I[7738,[\"974\",\"static/chunks/app/page-3fd91aaaa4776ced.js\"],\"default\"]\nb:I[700,[],\"OutletBoundary\"]\nd:I[7748,[],\"AsyncMetadataOutlet\"]\nf:I[700,[],\"ViewportBoundary\"]\n11:I[700,[],\"MetadataBoundary\"]\n12:\"$Sreact.suspense\"\n14:I[1256,[],\"\"]\n:HL[\"/_next/static/media/47cbc4e2adbc5db9-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/8aea088cdc4338f0.css\",\"style\"]\n:HL[\"/_next/static/css/13e8617b72f9d3aa.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"HYYg7-ymj7X1roSoSIcfi\",\"p\":\"\",\"c\":[\"\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8aea088cdc4338f0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/13e8617b72f9d3aa.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"children\":[\"$\",\"body\",null,{\"className\":\"__className_6a21cc antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-screen overflow-hidden bg-background\",\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-auto bg-background p-8\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-[1440px] mx-auto\",\"children\":[[\"$\",\"$L4\",null,{}],[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"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.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]]}]}]}]}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L7\",null,{\"Component\":\"$8\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@9\",\"$@a\"]}],null,[\"$\",\"$Lb\",null,{\"children\":[\"$Lc\",[\"$\",\"$Ld\",null,{\"promise\":\"$@e\"}]]}]]}],{},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Lf\",null,{\"children\":\"$L10\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L11\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$12\",null,{\"fallback\":null,\"children\":\"$L13\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$14\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:{}\na:\"$0:f:0:1:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"10:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nc:null\n"])</script><script>self.__next_f.push([1,"15:I[4780,[],\"IconMark\"]\ne:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Locus Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local-first task management and documentation for agentic engineering.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"200x209\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"$L15\",\"4\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"13:\"$e:metadata\"\n"])</script></body></html>
@@ -15,7 +15,7 @@ f:I[700,[],"ViewportBoundary"]
15
15
  :HL["/_next/static/media/47cbc4e2adbc5db9-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
16
16
  :HL["/_next/static/css/8aea088cdc4338f0.css","style"]
17
17
  :HL["/_next/static/css/13e8617b72f9d3aa.css","style"]
18
- 0:{"P":null,"b":"1BInkZcWpYFq8PBSpvumK","p":"","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/8aea088cdc4338f0.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/13e8617b72f9d3aa.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"dark","children":["$","body",null,{"className":"__className_6a21cc antialiased","children":["$","$L2",null,{"children":["$","div",null,{"className":"flex h-screen overflow-hidden bg-background","children":[["$","$L3",null,{}],["$","main",null,{"className":"flex-1 overflow-auto bg-background p-8","children":["$","div",null,{"className":"max-w-[1440px] mx-auto","children":[["$","$L4",null,{}],["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","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."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]}]]}]}]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],null,["$","$Lb",null,{"children":["$Lc",["$","$Ld",null,{"promise":"$@e"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lf",null,{"children":"$L10"}],["$","meta",null,{"name":"next-size-adjust","content":""}]],["$","$L11",null,{"children":["$","div",null,{"hidden":true,"children":["$","$12",null,{"fallback":null,"children":"$L13"}]}]}]]}],false]],"m":"$undefined","G":["$14",[]],"s":false,"S":true}
18
+ 0:{"P":null,"b":"HYYg7-ymj7X1roSoSIcfi","p":"","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/8aea088cdc4338f0.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/13e8617b72f9d3aa.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"dark","children":["$","body",null,{"className":"__className_6a21cc antialiased","children":["$","$L2",null,{"children":["$","div",null,{"className":"flex h-screen overflow-hidden bg-background","children":[["$","$L3",null,{}],["$","main",null,{"className":"flex-1 overflow-auto bg-background p-8","children":["$","div",null,{"className":"max-w-[1440px] mx-auto","children":[["$","$L4",null,{}],["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","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."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]}]]}]}]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],null,["$","$Lb",null,{"children":["$Lc",["$","$Ld",null,{"promise":"$@e"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lf",null,{"children":"$L10"}],["$","meta",null,{"name":"next-size-adjust","content":""}]],["$","$L11",null,{"children":["$","div",null,{"hidden":true,"children":["$","$12",null,{"fallback":null,"children":"$L13"}]}]}]]}],false]],"m":"$undefined","G":["$14",[]],"s":false,"S":true}
19
19
  9:{}
20
20
  a:"$0:f:0:1:2:children:1:props:children:0:props:params"
21
21
  10:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
@@ -1 +1 @@
1
- <!DOCTYPE html><!--1BInkZcWpYFq8PBSpvumK--><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/47cbc4e2adbc5db9-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/8aea088cdc4338f0.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/13e8617b72f9d3aa.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-ab85b3045756e687.js"/><script src="/_next/static/chunks/87c73c54-1f4741035a95c140.js" async=""></script><script src="/_next/static/chunks/902-d6926825a9fe8784.js" async=""></script><script src="/_next/static/chunks/main-app-123e879c5a937a00.js" async=""></script><script src="/_next/static/chunks/337-d3bb75304d130513.js" async=""></script><script src="/_next/static/chunks/146-34259952c594a3b0.js" async=""></script><script src="/_next/static/chunks/app/layout-05f504c042b9f7ee.js" async=""></script><script src="/_next/static/chunks/app/settings/page-84e16c9638d657e4.js" async=""></script><meta name="next-size-adjust" content=""/><title>Locus Dashboard</title><meta name="description" content="Local-first task management and documentation for agentic engineering."/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="200x209"/><link rel="icon" href="/favicon.ico"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__className_6a21cc antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen overflow-hidden bg-background"><aside class="w-[260px] flex flex-col border-r border-border/50 bg-card/50 backdrop-blur-sm h-full"><div class="flex items-center gap-3 p-5 border-b border-border/50"><img alt="Locus" loading="lazy" width="97.81" height="32" decoding="async" data-nimg="1" class="rounded-xl shadow-lg" style="color:transparent" src="/logo.png"/></div><div class="flex-1 p-4"><div class="text-[10px] uppercase font-bold tracking-widest text-muted-foreground/70 mb-3 px-3">Navigation</div><nav class="space-y-1"><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard group-hover:scale-110 transition-transform"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><div class="flex-1"><span class="block">Board</span></div></a><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/backlog"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-list group-hover:scale-110 transition-transform"><path d="M3 12h.01"></path><path d="M3 18h.01"></path><path d="M3 6h.01"></path><path d="M8 12h13"></path><path d="M8 18h13"></path><path d="M8 6h13"></path></svg><div class="flex-1"><span class="block">Backlog</span></div></a><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/docs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text group-hover:scale-110 transition-transform"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg><div class="flex-1"><span class="block">Library</span></div></a></nav></div><div class="p-4 border-t border-border/50"><a class="flex items-center gap-3 w-full px-3 py-2.5 text-sm font-medium rounded-xl transition-all bg-secondary text-foreground" href="/settings"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span>Settings</span></a></div></aside><main class="flex-1 overflow-auto bg-background p-8"><div class="max-w-[1440px] mx-auto"><header class="flex items-center mb-6 py-3"><div class="relative flex-1 max-w-md group"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search absolute left-3.5 top-1/2 -translate-y-1/2 text-muted-foreground group-focus-within:text-primary transition-colors"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><input type="text" placeholder="Search tasks, docs... (⌘K)" class="w-full bg-secondary/40 border border-border/50 rounded-lg pl-10 pr-4 py-2.5 text-sm text-foreground placeholder:text-muted-foreground/70 outline-none transition-all focus:border-primary/50 focus:ring-2 focus:ring-primary/20 focus:bg-background hover:bg-secondary/60"/></div></header><div class="max-w-3xl"><div class="mb-8"><h1 class="text-2xl font-bold tracking-tight text-foreground">Settings</h1><p class="text-muted-foreground mt-1">Manage your workspace preferences and configuration.</p></div><div class="mb-8"><h3 class="text-xs font-bold uppercase tracking-widest text-muted-foreground mb-4 px-4">Appearance</h3><div class="bg-card border border-border/50 rounded-2xl overflow-hidden divide-y divide-border/50"><div class="flex items-start justify-between p-4 rounded-xl hover:bg-secondary/30 transition-colors"><div class="flex gap-4"><div class="w-10 h-10 rounded-xl bg-secondary flex items-center justify-center text-muted-foreground shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></div><div><h4 class="font-medium text-foreground">Dark Mode</h4><p class="text-sm text-muted-foreground mt-0.5">Toggle between light and dark theme</p></div></div><div class="shrink-0"><button type="button" role="switch" aria-checked="true" class="relative inline-flex h-6 w-11 shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 bg-primary"><span class="pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow-lg ring-0 transition translate-x-5"></span></button></div></div><div class="flex items-start justify-between p-4 rounded-xl hover:bg-secondary/30 transition-colors"><div class="flex gap-4"><div class="w-10 h-10 rounded-xl bg-secondary flex items-center justify-center text-muted-foreground shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-palette"><circle cx="13.5" cy="6.5" r=".5" fill="currentColor"></circle><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"></circle><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"></circle><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"></circle><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z"></path></svg></div><div><h4 class="font-medium text-foreground">Accent Color</h4><p class="text-sm text-muted-foreground mt-0.5">Choose your preferred accent color</p></div></div><div class="shrink-0"><div class="flex gap-2"><button class="w-6 h-6 rounded-full border-2 border-transparent hover:border-foreground/30 transition-colors" style="background-color:#6366f1"></button><button class="w-6 h-6 rounded-full border-2 border-transparent hover:border-foreground/30 transition-colors" style="background-color:#8b5cf6"></button><button class="w-6 h-6 rounded-full border-2 border-transparent hover:border-foreground/30 transition-colors" style="background-color:#06b6d4"></button><button class="w-6 h-6 rounded-full border-2 border-transparent hover:border-foreground/30 transition-colors" style="background-color:#10b981"></button><button class="w-6 h-6 rounded-full border-2 border-transparent hover:border-foreground/30 transition-colors" style="background-color:#f59e0b"></button></div></div></div><div class="flex items-start justify-between p-4 rounded-xl hover:bg-secondary/30 transition-colors"><div class="flex gap-4"><div class="w-10 h-10 rounded-xl bg-secondary flex items-center justify-center text-muted-foreground shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg></div><div><h4 class="font-medium text-foreground">Compact Mode</h4><p class="text-sm text-muted-foreground mt-0.5">Reduce spacing for more content visibility</p></div></div><div class="shrink-0"><button type="button" role="switch" aria-checked="false" class="relative inline-flex h-6 w-11 shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 bg-secondary"><span class="pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow-lg ring-0 transition translate-x-0"></span></button></div></div></div></div><div class="mb-8"><h3 class="text-xs font-bold uppercase tracking-widest text-muted-foreground mb-4 px-4">Notifications</h3><div class="bg-card border border-border/50 rounded-2xl overflow-hidden divide-y divide-border/50"><div class="flex items-start justify-between p-4 rounded-xl hover:bg-secondary/30 transition-colors"><div class="flex gap-4"><div class="w-10 h-10 rounded-xl bg-secondary flex items-center justify-center text-muted-foreground shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bell"><path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"></path><path d="M10.3 21a1.94 1.94 0 0 0 3.4 0"></path></svg></div><div><h4 class="font-medium text-foreground">Push Notifications</h4><p class="text-sm text-muted-foreground mt-0.5">Receive notifications for task updates</p></div></div><div class="shrink-0"><button type="button" role="switch" aria-checked="true" class="relative inline-flex h-6 w-11 shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 bg-primary"><span class="pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow-lg ring-0 transition translate-x-5"></span></button></div></div><div class="flex items-start justify-between p-4 rounded-xl hover:bg-secondary/30 transition-colors"><div class="flex gap-4"><div class="w-10 h-10 rounded-xl bg-secondary flex items-center justify-center text-muted-foreground shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg></div><div><h4 class="font-medium text-foreground">Auto Refresh</h4><p class="text-sm text-muted-foreground mt-0.5">Automatically refresh board data</p></div></div><div class="shrink-0"><button type="button" role="switch" aria-checked="true" class="relative inline-flex h-6 w-11 shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 bg-primary"><span class="pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow-lg ring-0 transition translate-x-5"></span></button></div></div></div></div><div class="mb-8"><h3 class="text-xs font-bold uppercase tracking-widest text-muted-foreground mb-4 px-4">Account</h3><div class="bg-card border border-border/50 rounded-2xl overflow-hidden divide-y divide-border/50"><div class="flex items-start justify-between p-4 rounded-xl hover:bg-secondary/30 transition-colors"><div class="flex gap-4"><div class="w-10 h-10 rounded-xl bg-secondary flex items-center justify-center text-muted-foreground shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg></div><div><h4 class="font-medium text-foreground">Profile</h4><p class="text-sm text-muted-foreground mt-0.5">Update your personal information</p></div></div><div class="shrink-0"><button class="inline-flex items-center justify-center gap-2 font-semibold rounded-lg transition-all duration-200 active:scale-95 disabled:opacity-50 disabled:pointer-events-none bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80 h-8 px-3 text-xs ">Edit</button></div></div><div class="flex items-start justify-between p-4 rounded-xl hover:bg-secondary/30 transition-colors"><div class="flex gap-4"><div class="w-10 h-10 rounded-xl bg-secondary flex items-center justify-center text-muted-foreground shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path></svg></div><div><h4 class="font-medium text-foreground">Security</h4><p class="text-sm text-muted-foreground mt-0.5">Manage authentication settings</p></div></div><div class="shrink-0"><button class="inline-flex items-center justify-center gap-2 font-semibold rounded-lg transition-all duration-200 active:scale-95 disabled:opacity-50 disabled:pointer-events-none bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80 h-8 px-3 text-xs ">Configure</button></div></div></div></div><div><h3 class="text-xs font-bold uppercase tracking-widest text-destructive mb-4 px-4">Danger Zone</h3><div class="bg-destructive/5 border border-destructive/20 rounded-2xl p-6"><div class="flex items-center justify-between"><div><h4 class="font-medium text-foreground">Reset Workspace</h4><p class="text-sm text-muted-foreground mt-0.5">Delete all tasks, documents, and settings</p></div><button class="inline-flex items-center justify-center gap-2 font-semibold rounded-lg transition-all duration-200 active:scale-95 disabled:opacity-50 disabled:pointer-events-none bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90 h-8 px-3 text-xs ">Reset</button></div></div></div></div><!--$--><!--/$--></div></main></div><script src="/_next/static/chunks/webpack-ab85b3045756e687.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[6096,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Providers\"]\n3:I[9798,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Sidebar\"]\n4:I[493,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Header\"]\n5:I[7132,[],\"\"]\n6:I[5082,[],\"\"]\n7:I[9065,[],\"ClientPageRoot\"]\n8:I[5110,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"662\",\"static/chunks/app/settings/page-84e16c9638d657e4.js\"],\"default\"]\nb:I[700,[],\"OutletBoundary\"]\nd:I[7748,[],\"AsyncMetadataOutlet\"]\nf:I[700,[],\"ViewportBoundary\"]\n11:I[700,[],\"MetadataBoundary\"]\n12:\"$Sreact.suspense\"\n14:I[1256,[],\"\"]\n:HL[\"/_next/static/media/47cbc4e2adbc5db9-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/8aea088cdc4338f0.css\",\"style\"]\n:HL[\"/_next/static/css/13e8617b72f9d3aa.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"1BInkZcWpYFq8PBSpvumK\",\"p\":\"\",\"c\":[\"\",\"settings\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"settings\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8aea088cdc4338f0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/13e8617b72f9d3aa.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"children\":[\"$\",\"body\",null,{\"className\":\"__className_6a21cc antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-screen overflow-hidden bg-background\",\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-auto bg-background p-8\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-[1440px] mx-auto\",\"children\":[[\"$\",\"$L4\",null,{}],[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"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.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]]}]}]}]}]]}],{\"children\":[\"settings\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L7\",null,{\"Component\":\"$8\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@9\",\"$@a\"]}],null,[\"$\",\"$Lb\",null,{\"children\":[\"$Lc\",[\"$\",\"$Ld\",null,{\"promise\":\"$@e\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Lf\",null,{\"children\":\"$L10\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L11\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$12\",null,{\"fallback\":null,\"children\":\"$L13\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$14\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:{}\na:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"10:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nc:null\n"])</script><script>self.__next_f.push([1,"15:I[4780,[],\"IconMark\"]\ne:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Locus Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local-first task management and documentation for agentic engineering.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"200x209\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"$L15\",\"4\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"13:\"$e:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--HYYg7_ymj7X1roSoSIcfi--><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/47cbc4e2adbc5db9-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/8aea088cdc4338f0.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/13e8617b72f9d3aa.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-99a10a055b5bb9c4.js"/><script src="/_next/static/chunks/87c73c54-1f4741035a95c140.js" async=""></script><script src="/_next/static/chunks/902-d6926825a9fe8784.js" async=""></script><script src="/_next/static/chunks/main-app-123e879c5a937a00.js" async=""></script><script src="/_next/static/chunks/337-d3bb75304d130513.js" async=""></script><script src="/_next/static/chunks/146-34259952c594a3b0.js" async=""></script><script src="/_next/static/chunks/app/layout-05f504c042b9f7ee.js" async=""></script><script src="/_next/static/chunks/app/settings/page-84e16c9638d657e4.js" async=""></script><meta name="next-size-adjust" content=""/><title>Locus Dashboard</title><meta name="description" content="Local-first task management and documentation for agentic engineering."/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="200x209"/><link rel="icon" href="/favicon.ico"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__className_6a21cc antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen overflow-hidden bg-background"><aside class="w-[260px] flex flex-col border-r border-border/50 bg-card/50 backdrop-blur-sm h-full"><div class="flex items-center gap-3 p-5 border-b border-border/50"><img alt="Locus" loading="lazy" width="97.81" height="32" decoding="async" data-nimg="1" class="rounded-xl shadow-lg" style="color:transparent" src="/logo.png"/></div><div class="flex-1 p-4"><div class="text-[10px] uppercase font-bold tracking-widest text-muted-foreground/70 mb-3 px-3">Navigation</div><nav class="space-y-1"><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard group-hover:scale-110 transition-transform"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><div class="flex-1"><span class="block">Board</span></div></a><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/backlog"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-list group-hover:scale-110 transition-transform"><path d="M3 12h.01"></path><path d="M3 18h.01"></path><path d="M3 6h.01"></path><path d="M8 12h13"></path><path d="M8 18h13"></path><path d="M8 6h13"></path></svg><div class="flex-1"><span class="block">Backlog</span></div></a><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/docs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text group-hover:scale-110 transition-transform"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg><div class="flex-1"><span class="block">Library</span></div></a></nav></div><div class="p-4 border-t border-border/50"><a class="flex items-center gap-3 w-full px-3 py-2.5 text-sm font-medium rounded-xl transition-all bg-secondary text-foreground" href="/settings"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span>Settings</span></a></div></aside><main class="flex-1 overflow-auto bg-background p-8"><div class="max-w-[1440px] mx-auto"><header class="flex items-center mb-6 py-3"><div class="relative flex-1 max-w-md group"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search absolute left-3.5 top-1/2 -translate-y-1/2 text-muted-foreground group-focus-within:text-primary transition-colors"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><input type="text" placeholder="Search tasks, docs... (⌘K)" class="w-full bg-secondary/40 border border-border/50 rounded-lg pl-10 pr-4 py-2.5 text-sm text-foreground placeholder:text-muted-foreground/70 outline-none transition-all focus:border-primary/50 focus:ring-2 focus:ring-primary/20 focus:bg-background hover:bg-secondary/60"/></div></header><div class="max-w-3xl"><div class="mb-8"><h1 class="text-2xl font-bold tracking-tight text-foreground">Settings</h1><p class="text-muted-foreground mt-1">Manage your workspace preferences and configuration.</p></div><div class="mb-8"><h3 class="text-xs font-bold uppercase tracking-widest text-muted-foreground mb-4 px-4">Appearance</h3><div class="bg-card border border-border/50 rounded-2xl overflow-hidden divide-y divide-border/50"><div class="flex items-start justify-between p-4 rounded-xl hover:bg-secondary/30 transition-colors"><div class="flex gap-4"><div class="w-10 h-10 rounded-xl bg-secondary flex items-center justify-center text-muted-foreground shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></div><div><h4 class="font-medium text-foreground">Dark Mode</h4><p class="text-sm text-muted-foreground mt-0.5">Toggle between light and dark theme</p></div></div><div class="shrink-0"><button type="button" role="switch" aria-checked="true" class="relative inline-flex h-6 w-11 shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 bg-primary"><span class="pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow-lg ring-0 transition translate-x-5"></span></button></div></div><div class="flex items-start justify-between p-4 rounded-xl hover:bg-secondary/30 transition-colors"><div class="flex gap-4"><div class="w-10 h-10 rounded-xl bg-secondary flex items-center justify-center text-muted-foreground shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-palette"><circle cx="13.5" cy="6.5" r=".5" fill="currentColor"></circle><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"></circle><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"></circle><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"></circle><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z"></path></svg></div><div><h4 class="font-medium text-foreground">Accent Color</h4><p class="text-sm text-muted-foreground mt-0.5">Choose your preferred accent color</p></div></div><div class="shrink-0"><div class="flex gap-2"><button class="w-6 h-6 rounded-full border-2 border-transparent hover:border-foreground/30 transition-colors" style="background-color:#6366f1"></button><button class="w-6 h-6 rounded-full border-2 border-transparent hover:border-foreground/30 transition-colors" style="background-color:#8b5cf6"></button><button class="w-6 h-6 rounded-full border-2 border-transparent hover:border-foreground/30 transition-colors" style="background-color:#06b6d4"></button><button class="w-6 h-6 rounded-full border-2 border-transparent hover:border-foreground/30 transition-colors" style="background-color:#10b981"></button><button class="w-6 h-6 rounded-full border-2 border-transparent hover:border-foreground/30 transition-colors" style="background-color:#f59e0b"></button></div></div></div><div class="flex items-start justify-between p-4 rounded-xl hover:bg-secondary/30 transition-colors"><div class="flex gap-4"><div class="w-10 h-10 rounded-xl bg-secondary flex items-center justify-center text-muted-foreground shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg></div><div><h4 class="font-medium text-foreground">Compact Mode</h4><p class="text-sm text-muted-foreground mt-0.5">Reduce spacing for more content visibility</p></div></div><div class="shrink-0"><button type="button" role="switch" aria-checked="false" class="relative inline-flex h-6 w-11 shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 bg-secondary"><span class="pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow-lg ring-0 transition translate-x-0"></span></button></div></div></div></div><div class="mb-8"><h3 class="text-xs font-bold uppercase tracking-widest text-muted-foreground mb-4 px-4">Notifications</h3><div class="bg-card border border-border/50 rounded-2xl overflow-hidden divide-y divide-border/50"><div class="flex items-start justify-between p-4 rounded-xl hover:bg-secondary/30 transition-colors"><div class="flex gap-4"><div class="w-10 h-10 rounded-xl bg-secondary flex items-center justify-center text-muted-foreground shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bell"><path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"></path><path d="M10.3 21a1.94 1.94 0 0 0 3.4 0"></path></svg></div><div><h4 class="font-medium text-foreground">Push Notifications</h4><p class="text-sm text-muted-foreground mt-0.5">Receive notifications for task updates</p></div></div><div class="shrink-0"><button type="button" role="switch" aria-checked="true" class="relative inline-flex h-6 w-11 shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 bg-primary"><span class="pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow-lg ring-0 transition translate-x-5"></span></button></div></div><div class="flex items-start justify-between p-4 rounded-xl hover:bg-secondary/30 transition-colors"><div class="flex gap-4"><div class="w-10 h-10 rounded-xl bg-secondary flex items-center justify-center text-muted-foreground shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg></div><div><h4 class="font-medium text-foreground">Auto Refresh</h4><p class="text-sm text-muted-foreground mt-0.5">Automatically refresh board data</p></div></div><div class="shrink-0"><button type="button" role="switch" aria-checked="true" class="relative inline-flex h-6 w-11 shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 bg-primary"><span class="pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow-lg ring-0 transition translate-x-5"></span></button></div></div></div></div><div class="mb-8"><h3 class="text-xs font-bold uppercase tracking-widest text-muted-foreground mb-4 px-4">Account</h3><div class="bg-card border border-border/50 rounded-2xl overflow-hidden divide-y divide-border/50"><div class="flex items-start justify-between p-4 rounded-xl hover:bg-secondary/30 transition-colors"><div class="flex gap-4"><div class="w-10 h-10 rounded-xl bg-secondary flex items-center justify-center text-muted-foreground shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg></div><div><h4 class="font-medium text-foreground">Profile</h4><p class="text-sm text-muted-foreground mt-0.5">Update your personal information</p></div></div><div class="shrink-0"><button class="inline-flex items-center justify-center gap-2 font-semibold rounded-lg transition-all duration-200 active:scale-95 disabled:opacity-50 disabled:pointer-events-none bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80 h-8 px-3 text-xs ">Edit</button></div></div><div class="flex items-start justify-between p-4 rounded-xl hover:bg-secondary/30 transition-colors"><div class="flex gap-4"><div class="w-10 h-10 rounded-xl bg-secondary flex items-center justify-center text-muted-foreground shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path></svg></div><div><h4 class="font-medium text-foreground">Security</h4><p class="text-sm text-muted-foreground mt-0.5">Manage authentication settings</p></div></div><div class="shrink-0"><button class="inline-flex items-center justify-center gap-2 font-semibold rounded-lg transition-all duration-200 active:scale-95 disabled:opacity-50 disabled:pointer-events-none bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80 h-8 px-3 text-xs ">Configure</button></div></div></div></div><div><h3 class="text-xs font-bold uppercase tracking-widest text-destructive mb-4 px-4">Danger Zone</h3><div class="bg-destructive/5 border border-destructive/20 rounded-2xl p-6"><div class="flex items-center justify-between"><div><h4 class="font-medium text-foreground">Reset Workspace</h4><p class="text-sm text-muted-foreground mt-0.5">Delete all tasks, documents, and settings</p></div><button class="inline-flex items-center justify-center gap-2 font-semibold rounded-lg transition-all duration-200 active:scale-95 disabled:opacity-50 disabled:pointer-events-none bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90 h-8 px-3 text-xs ">Reset</button></div></div></div></div><!--$--><!--/$--></div></main></div><script src="/_next/static/chunks/webpack-99a10a055b5bb9c4.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[6096,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Providers\"]\n3:I[9798,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Sidebar\"]\n4:I[493,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Header\"]\n5:I[7132,[],\"\"]\n6:I[5082,[],\"\"]\n7:I[9065,[],\"ClientPageRoot\"]\n8:I[5110,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"662\",\"static/chunks/app/settings/page-84e16c9638d657e4.js\"],\"default\"]\nb:I[700,[],\"OutletBoundary\"]\nd:I[7748,[],\"AsyncMetadataOutlet\"]\nf:I[700,[],\"ViewportBoundary\"]\n11:I[700,[],\"MetadataBoundary\"]\n12:\"$Sreact.suspense\"\n14:I[1256,[],\"\"]\n:HL[\"/_next/static/media/47cbc4e2adbc5db9-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/8aea088cdc4338f0.css\",\"style\"]\n:HL[\"/_next/static/css/13e8617b72f9d3aa.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"HYYg7-ymj7X1roSoSIcfi\",\"p\":\"\",\"c\":[\"\",\"settings\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"settings\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8aea088cdc4338f0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/13e8617b72f9d3aa.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"children\":[\"$\",\"body\",null,{\"className\":\"__className_6a21cc antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-screen overflow-hidden bg-background\",\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-auto bg-background p-8\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-[1440px] mx-auto\",\"children\":[[\"$\",\"$L4\",null,{}],[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"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.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]]}]}]}]}]]}],{\"children\":[\"settings\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L7\",null,{\"Component\":\"$8\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@9\",\"$@a\"]}],null,[\"$\",\"$Lb\",null,{\"children\":[\"$Lc\",[\"$\",\"$Ld\",null,{\"promise\":\"$@e\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Lf\",null,{\"children\":\"$L10\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L11\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$12\",null,{\"fallback\":null,\"children\":\"$L13\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$14\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:{}\na:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"10:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nc:null\n"])</script><script>self.__next_f.push([1,"15:I[4780,[],\"IconMark\"]\ne:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Locus Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local-first task management and documentation for agentic engineering.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"200x209\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"$L15\",\"4\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"13:\"$e:metadata\"\n"])</script></body></html>
@@ -15,7 +15,7 @@ f:I[700,[],"ViewportBoundary"]
15
15
  :HL["/_next/static/media/47cbc4e2adbc5db9-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
16
16
  :HL["/_next/static/css/8aea088cdc4338f0.css","style"]
17
17
  :HL["/_next/static/css/13e8617b72f9d3aa.css","style"]
18
- 0:{"P":null,"b":"1BInkZcWpYFq8PBSpvumK","p":"","c":["","settings"],"i":false,"f":[[["",{"children":["settings",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/8aea088cdc4338f0.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/13e8617b72f9d3aa.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"dark","children":["$","body",null,{"className":"__className_6a21cc antialiased","children":["$","$L2",null,{"children":["$","div",null,{"className":"flex h-screen overflow-hidden bg-background","children":[["$","$L3",null,{}],["$","main",null,{"className":"flex-1 overflow-auto bg-background p-8","children":["$","div",null,{"className":"max-w-[1440px] mx-auto","children":[["$","$L4",null,{}],["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","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."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]}]]}]}]}]}]]}],{"children":["settings",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],null,["$","$Lb",null,{"children":["$Lc",["$","$Ld",null,{"promise":"$@e"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lf",null,{"children":"$L10"}],["$","meta",null,{"name":"next-size-adjust","content":""}]],["$","$L11",null,{"children":["$","div",null,{"hidden":true,"children":["$","$12",null,{"fallback":null,"children":"$L13"}]}]}]]}],false]],"m":"$undefined","G":["$14",[]],"s":false,"S":true}
18
+ 0:{"P":null,"b":"HYYg7-ymj7X1roSoSIcfi","p":"","c":["","settings"],"i":false,"f":[[["",{"children":["settings",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/8aea088cdc4338f0.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/13e8617b72f9d3aa.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"dark","children":["$","body",null,{"className":"__className_6a21cc antialiased","children":["$","$L2",null,{"children":["$","div",null,{"className":"flex h-screen overflow-hidden bg-background","children":[["$","$L3",null,{}],["$","main",null,{"className":"flex-1 overflow-auto bg-background p-8","children":["$","div",null,{"className":"max-w-[1440px] mx-auto","children":[["$","$L4",null,{}],["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","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."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]}]]}]}]}]}]]}],{"children":["settings",["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],null,["$","$Lb",null,{"children":["$Lc",["$","$Ld",null,{"promise":"$@e"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lf",null,{"children":"$L10"}],["$","meta",null,{"name":"next-size-adjust","content":""}]],["$","$L11",null,{"children":["$","div",null,{"hidden":true,"children":["$","$12",null,{"fallback":null,"children":"$L13"}]}]}]]}],false]],"m":"$undefined","G":["$14",[]],"s":false,"S":true}
19
19
  9:{}
20
20
  a:"$0:f:0:1:2:children:2:children:1:props:children:0:props:params"
21
21
  10:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
@@ -1,7 +1,7 @@
1
1
  import { Database } from "bun:sqlite";
2
2
  import { existsSync } from "node:fs";
3
3
  import { writeFile } from "node:fs/promises";
4
- import { join } from "node:path";
4
+ import { join, resolve } from "node:path";
5
5
  import type { ProjectConfig } from "../types.js";
6
6
  import { ensureDir, writeJson } from "../utils.js";
7
7
 
@@ -92,11 +92,31 @@ export async function initializeLocus(config: ProjectConfig) {
92
92
  export async function logMcpConfig(config: ProjectConfig) {
93
93
  const { projectPath, projectName } = config;
94
94
 
95
+ // Detect for bundled vs source mode
96
+ const scriptDir = import.meta.dir;
97
+ const isBundled = scriptDir.endsWith("/bin") || scriptDir.endsWith("\\bin");
98
+
99
+ // In source mode, scriptDir is packages/cli/src/generators
100
+ // In bundled mode, scriptDir is packages/cli/bin
101
+ const locusRoot = isBundled
102
+ ? resolve(scriptDir, "../")
103
+ : resolve(scriptDir, "../../../../");
104
+
105
+ const mcpSourcePath = join(locusRoot, "apps/mcp/src/index.ts");
106
+ const mcpBundledPath = isBundled
107
+ ? join(scriptDir, "mcp.js")
108
+ : join(locusRoot, "packages/cli/bin/mcp.js");
109
+
110
+ const mcpExecPath = existsSync(mcpSourcePath)
111
+ ? mcpSourcePath
112
+ : mcpBundledPath;
113
+
95
114
  const mcpConfig = {
96
115
  mcpServers: {
97
- locus: {
98
- command: "npx",
99
- args: ["@locusai/cli", "mcp", "--project", projectPath],
116
+ [projectName]: {
117
+ command: "bun",
118
+ args: ["run", mcpExecPath, "--project", join(projectPath, ".locus")],
119
+ env: {},
100
120
  },
101
121
  },
102
122
  };
@@ -105,7 +125,7 @@ export async function logMcpConfig(config: ProjectConfig) {
105
125
  console.log("\nNext steps:");
106
126
  console.log(` cd ${projectName}`);
107
127
  console.log(" bun install");
108
- console.log(" npx @locusai/cli dev");
128
+ console.log(" bun run dev");
109
129
  console.log(
110
130
  "\nMCP Configuration (add to your IDE or Claude Desktop config):"
111
131
  );