Update release history for alpha-v2026.5.7-alpha.0006 a59582c067

This commit is contained in:
LucaRonin
2026-05-07 07:29:50 +00:00
parent 424315c30c
commit d11aff1e1b
175 changed files with 23529 additions and 22103 deletions

25
404.html Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,27 +1,27 @@
{
"version": "2026.5.7-alpha.5",
"version": "2026.5.7-alpha.6",
"notes": "Alpha build. See https://refactoringhq.github.io/tolaria/ for full release notes.",
"pub_date": "2026-05-06T16:43:08Z",
"pub_date": "2026-05-07T07:28:41Z",
"platforms": {
"darwin-aarch64": {
"signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVSY3I3L2VKNUJ0cUtCNnF5U1ZXK2ppRTFpV3FqUkFVU2dBdXVqTlNsS2F2SkVRTnh3VG9Ia0g3cFhkd2F0dWd3SXFCWFJpN2ZJOE41RnArQ1lXVzJhK1pUbG91cnlUT1FJPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzc4MDg1NjgyCWZpbGU6VG9sYXJpYS5hcHAudGFyLmd6CkIwNzgrUThrMFREa2lMc0FoL3NzMHFoY0dFTldEMDlKNndkTWxkckFvWnFoRzBVb1ZrQWRuVXdwWUtDVGVVbUp1TG5wd0JabFJFRWp2QU9MUW5OR0JRPT0K",
"url": "https://github.com/refactoringhq/tolaria/releases/download/alpha-v2026.5.7-alpha.0005/Tolaria_2026.5.7-alpha.5_macOS_Silicon.app.tar.gz",
"download_url": "https://github.com/refactoringhq/tolaria/releases/download/alpha-v2026.5.7-alpha.0005/Tolaria_2026.5.7-alpha.5_macOS_Silicon.app.tar.gz"
"signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVSY3I3L2VKNUJ0cUlsc200YUgvRldObDZqVkluQ2dPVGR3Z2NRYXhZZnNiNzRENHFLUXl4Z3o5SXlPZGJ3NXkxWjFTZjN1M1h5KzNJbDd1ZUhvM21pL0p2RWw4MTJhRlF3PQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzc4MTM4NzM3CWZpbGU6VG9sYXJpYS5hcHAudGFyLmd6CmhEQ2VjWStkZVdzcjJxRm14SldmK2IwT3Vjb1RDdER2SElWeldNZVVWNU1HYWcvVGY5SXgzNVc3WkdCNWpYZXI5SVc0dGUxY0pGRkF5dmpGSWpnUkRnPT0K",
"url": "https://github.com/refactoringhq/tolaria/releases/download/alpha-v2026.5.7-alpha.0006/Tolaria_2026.5.7-alpha.6_macOS_Silicon.app.tar.gz",
"download_url": "https://github.com/refactoringhq/tolaria/releases/download/alpha-v2026.5.7-alpha.0006/Tolaria_2026.5.7-alpha.6_macOS_Silicon.app.tar.gz"
},
"darwin-x86_64": {
"signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVSY3I3L2VKNUJ0cUpvaGVFSmZhOEEyWFBMeU1kODA0eDBIc21ZMzliTEFjVzJ5TUtENXhlWGdnN2taTGR2c3JGRzMvYUxUZFVUM3NESlJLbkpscUlzRXByUzU0ekE2WUFnPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzc4MDg1NTg5CWZpbGU6VG9sYXJpYS5hcHAudGFyLmd6CjJqYWhVbWZLRDh1VHJSN0tZM3RpcFBSajBjZDllbTZvMEFyQlRERjU2MUJUMFdDSmNMWmY0S3U0VzhQVHJjSHVDYThBdGhZT0tlQURTcmVLbldHTEJ3PT0K",
"url": "https://github.com/refactoringhq/tolaria/releases/download/alpha-v2026.5.7-alpha.0005/Tolaria_2026.5.7-alpha.5_macOS_Intel.app.tar.gz",
"download_url": "https://github.com/refactoringhq/tolaria/releases/download/alpha-v2026.5.7-alpha.0005/Tolaria_2026.5.7-alpha.5_macOS_Intel.app.tar.gz"
"signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVSY3I3L2VKNUJ0cUZGbExITmhxSkJXNGZsdXAwOXVEOUlCcjBMMWtBVXlwaGJvR3JBemZLMHQxTVZKUytVRVNpd29EeStnUEk2QXFVTG9QQ1E3b2Ria2VLS29wMS9HU0FVPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzc4MTM4Nzc0CWZpbGU6VG9sYXJpYS5hcHAudGFyLmd6CnpPMjU4eE9IdFFCbVZmMnkvVkFLRWtXcGx5QVdDOSt2cXdzQjB2ZUp6ODlDVUROOG40KzR2RUttb2hsZUsrY2JOdkNxeE1ZSXdxLzMyQVlSbVA5cENRPT0K",
"url": "https://github.com/refactoringhq/tolaria/releases/download/alpha-v2026.5.7-alpha.0006/Tolaria_2026.5.7-alpha.6_macOS_Intel.app.tar.gz",
"download_url": "https://github.com/refactoringhq/tolaria/releases/download/alpha-v2026.5.7-alpha.0006/Tolaria_2026.5.7-alpha.6_macOS_Intel.app.tar.gz"
},
"linux-x86_64": {
"signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVSY3I3L2VKNUJ0cVBzSUNFSms3eExtQU8vdkt5MlFFT1dORVhqdmJoRUEybVR2MkZNcmtaKzRsMSszMXBVYUNRZ1lWSlFBQnorU2NIZ0tabFdlTk9yZG1FRjErc0xoR1FzPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzc4MDg1NzE5CWZpbGU6VG9sYXJpYV8yMDI2LjUuNy1hbHBoYS41X2FtZDY0LkFwcEltYWdlCmNkQmxMTVNhdmEzNUpyL1RQYmNEUzBmQVNFM291N3dOT3Q1eTFrS0prd1hQMEIyU0puWlBIWVJlYVJFblJPK2JRdXVqa2tIQUFiREFmZlU0OEhQYUFnPT0K",
"url": "https://github.com/refactoringhq/tolaria/releases/download/alpha-v2026.5.7-alpha.0005/Tolaria_2026.5.7-alpha.5_amd64.AppImage",
"download_url": "https://github.com/refactoringhq/tolaria/releases/download/alpha-v2026.5.7-alpha.0005/Tolaria_2026.5.7-alpha.5_amd64.AppImage"
"signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVSY3I3L2VKNUJ0cUd4YXZrdXA0LzhPdWwra20zMzUyNUdyUU4xN21uU2lhQU4wSzhPVG1JZFZHK1VsK2lSdm1jV2UzS1ozaXJEbERRam5aS1dlcXgreHlZanpFYVlnY3cwPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzc4MTM4ODQ1CWZpbGU6VG9sYXJpYV8yMDI2LjUuNy1hbHBoYS42X2FtZDY0LkFwcEltYWdlCmZpR3ZiNmtQejluY1JvKzJkc0tYQnhydEI0T2JxMk0xT3FkMng0Vm1SU0dleGNOSmxXbFVLZnZVS1JmK2p1cG9WaEFVc0FzOFErZFUrekMzdHh6SURnPT0K",
"url": "https://github.com/refactoringhq/tolaria/releases/download/alpha-v2026.5.7-alpha.0006/Tolaria_2026.5.7-alpha.6_amd64.AppImage",
"download_url": "https://github.com/refactoringhq/tolaria/releases/download/alpha-v2026.5.7-alpha.0006/Tolaria_2026.5.7-alpha.6_amd64.AppImage"
},
"windows-x86_64": {
"signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVSY3I3L2VKNUJ0cUwxYUo4UXRFc3EybjUyS3NLUitDdW16dTI2bFpVOVRteFpDR2lJdUlVNW1EL0NLUjU3cHNIZHBSb0psTlhUeGJ4ajVYUWw1TXJvT1M5UW83ek9KdGdBPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzc4MDg1NzUxCWZpbGU6VG9sYXJpYV8yMDI2LjUuNy1hbHBoYS41X3g2NC1zZXR1cC5leGUKTy9FVDJlNlgzSTRhcTl5NVVYbGN4bDJPMHhndmlycEE4SHlNYUpFV1k0Zm9IR0RpWHRZTFRRQ1hhTVVJWHdjazJ3N09keWlxWDd3MXp4Y0t3cGw0RHc9PQo=",
"url": "https://github.com/refactoringhq/tolaria/releases/download/alpha-v2026.5.7-alpha.0005/Tolaria_2026.5.7-alpha.5_x64-setup.exe",
"download_url": "https://github.com/refactoringhq/tolaria/releases/download/alpha-v2026.5.7-alpha.0005/Tolaria_2026.5.7-alpha.5_x64-setup.exe"
"signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVSY3I3L2VKNUJ0cU43U2VJWnJJNUxCSGtTTWtQTnlNaFdPUDlWVmRKQkZLSkY0S1dhYnR6QVVOR2hZTzJzdFZTS3hWZ21YbFdTSDFhN21PTmRXV3ZnVkhpcVZrNjlNMVFvPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzc4MTM4ODc0CWZpbGU6VG9sYXJpYV8yMDI2LjUuNy1hbHBoYS42X3g2NC1zZXR1cC5leGUKNndaM25jWnpiK050REtaZTdURGNTNVJpbXd1QmVHdWwzNldkV0NPdXVHK1Y2MDZ6L0wrSHJram0rZUNvUTZGdHhma3JRNVM3c1FGZnYyOFAzMDZXQVE9PQo=",
"url": "https://github.com/refactoringhq/tolaria/releases/download/alpha-v2026.5.7-alpha.0006/Tolaria_2026.5.7-alpha.6_x64-setup.exe",
"download_url": "https://github.com/refactoringhq/tolaria/releases/download/alpha-v2026.5.7-alpha.0006/Tolaria_2026.5.7-alpha.6_x64-setup.exe"
}
}
}

Binary file not shown.

1
assets/app.D5SkY81-.js Normal file
View File

@@ -0,0 +1 @@
import{R as p}from"./chunks/theme.CtVauIT3.js";import{R as s,a3 as i,a4 as u,a5 as c,a6 as l,a7 as f,a8 as d,a9 as m,aa as h,ab as g,ac as A,d as v,u as R,v as w,s as y,ad as C,ae as P,af as b,ag as E}from"./chunks/framework.B8zgMDLd.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const n=r(p),S=v({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=R();return w(()=>{y(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),P(),b(),n.setup&&n.setup(),()=>E(n.Layout)}});async function T(){globalThis.__VITEPRESS__=!0;const e=_(),a=D();a.provide(u,e);const t=c(e.route);return a.provide(l,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),n.enhanceApp&&await n.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function D(){return A(S)}function _(){let e=s;return h(a=>{let t=g(a),o=null;return t&&(e&&(t=t.replace(/\.js$/,".lean.js")),o=import(t)),s&&(e=!1),o},n.NotFound)}s&&T().then(({app:e,router:a,data:t})=>{a.go().then(()=>{i(a.route,t.site),e.mount("#app")})});export{T as createApp};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
import{_ as t,o as a,c as o,a2 as i}from"./chunks/framework.B8zgMDLd.js";const u=JSON.parse('{"title":"AI","description":"","frontmatter":{},"headers":[],"relativePath":"concepts/ai.md","filePath":"concepts/ai.md"}'),n={name:"concepts/ai.md"};function r(s,e,l,d,c,h){return a(),o("div",null,[...e[0]||(e[0]=[i('<h1 id="ai" tabindex="-1">AI <a class="header-anchor" href="#ai" aria-label="Permalink to &quot;AI&quot;"></a></h1><p>Tolaria has two AI paths: coding agents that can use tools to inspect and edit a vault, and direct model targets that answer in chat mode from note context.</p><h2 id="coding-agents" tabindex="-1">Coding Agents <a class="header-anchor" href="#coding-agents" aria-label="Permalink to &quot;Coding Agents&quot;"></a></h2><p>The AI panel can stream supported local CLI agents through Tolaria&#39;s normalized event layer. Current targets include Claude Code, Codex, OpenCode, Pi, and Gemini CLI when they are installed on the machine.</p><p>Coding agents can run in:</p><ul><li><strong>Vault Safe</strong> mode, limited to file, search, and edit tools.</li><li><strong>Power User</strong> mode, which can allow local shell commands scoped to the active vault for agents that support shell access.</li></ul><h2 id="direct-models" tabindex="-1">Direct Models <a class="header-anchor" href="#direct-models" aria-label="Permalink to &quot;Direct Models&quot;"></a></h2><p>Direct model targets run in chat mode. They receive the active note, linked context, and conversation history, but they do not receive vault-write tools or shell access.</p><p>Supported provider shapes include:</p><ul><li>Local models through Ollama or LM Studio.</li><li>Hosted providers such as OpenAI, Anthropic, Gemini, and OpenRouter.</li><li>Custom OpenAI-compatible endpoints.</li></ul><h2 id="external-mcp-setup" tabindex="-1">External MCP Setup <a class="header-anchor" href="#external-mcp-setup" aria-label="Permalink to &quot;External MCP Setup&quot;"></a></h2><p>Tolaria exposes an MCP server for external tools. The setup flow can write Tolaria&#39;s MCP entry into Claude Code, Gemini CLI, Cursor, and a generic MCP config path, and it can also copy the exact JSON snippet for manual setup.</p><p>MCP setup is explicit. Closing the dialog leaves third-party config files untouched.</p><h2 id="why-git-matters-for-ai" tabindex="-1">Why Git Matters For AI <a class="header-anchor" href="#why-git-matters-for-ai" aria-label="Permalink to &quot;Why Git Matters For AI&quot;"></a></h2><p>AI-generated changes should be inspectable. Git gives you diffs, history, rollback, and a clear boundary between suggestions and committed work.</p>',15)])])}const m=t(n,[["render",r]]);export{u as __pageData,m as default};

View File

@@ -0,0 +1 @@
import{_ as t,o as a,c as o,a2 as i}from"./chunks/framework.B8zgMDLd.js";const u=JSON.parse('{"title":"AI","description":"","frontmatter":{},"headers":[],"relativePath":"concepts/ai.md","filePath":"concepts/ai.md"}'),n={name:"concepts/ai.md"};function r(s,e,l,d,c,h){return a(),o("div",null,[...e[0]||(e[0]=[i("",15)])])}const m=t(n,[["render",r]]);export{u as __pageData,m as default};

View File

@@ -0,0 +1 @@
import{_ as t,o as a,c as o,a2 as r}from"./chunks/framework.B8zgMDLd.js";const u=JSON.parse('{"title":"Editor","description":"","frontmatter":{},"headers":[],"relativePath":"concepts/editor.md","filePath":"concepts/editor.md"}'),i={name:"concepts/editor.md"};function n(d,e,s,c,l,h){return a(),o("div",null,[...e[0]||(e[0]=[r('<h1 id="editor" tabindex="-1">Editor <a class="header-anchor" href="#editor" aria-label="Permalink to &quot;Editor&quot;"></a></h1><p>Tolaria offers a rich editor for daily writing and a raw Markdown mode for exact file control. Both modes write back to the same Markdown file.</p><h2 id="rich-editing" tabindex="-1">Rich Editing <a class="header-anchor" href="#rich-editing" aria-label="Permalink to &quot;Rich Editing&quot;"></a></h2><p>The rich editor supports blocks, slash commands, wikilinks, tables, code blocks, images, Mermaid diagrams, LaTeX-style math, and markdown-backed whiteboards.</p><p>Use it when you want to write and reorganize quickly without thinking about Markdown syntax.</p><h2 id="raw-mode" tabindex="-1">Raw Mode <a class="header-anchor" href="#raw-mode" aria-label="Permalink to &quot;Raw Mode&quot;"></a></h2><p>Raw mode shows the Markdown source directly. Use it when you need to edit YAML frontmatter, repair unusual Markdown, or make an exact text change.</p><p>Toggle raw mode with <code>Cmd+\\</code> on macOS or <code>Ctrl+\\</code> on Windows and Linux.</p><h2 id="table-of-contents" tabindex="-1">Table Of Contents <a class="header-anchor" href="#table-of-contents" aria-label="Permalink to &quot;Table Of Contents&quot;"></a></h2><p>The table of contents panel builds an outline from headings in the current note. It is useful for long notes, procedures, research files, and generated documents. Toggle it with <code>Cmd+Shift+T</code> on macOS or <code>Ctrl+Shift+T</code> on Windows and Linux.</p><h2 id="width" tabindex="-1">Width <a class="header-anchor" href="#width" aria-label="Permalink to &quot;Width&quot;"></a></h2><p>Notes can use normal or wide editor width. Set the default in Settings, or override an individual note from the editor toolbar.</p>',12)])])}const f=t(i,[["render",n]]);export{u as __pageData,f as default};

View File

@@ -0,0 +1 @@
import{_ as t,o as a,c as o,a2 as r}from"./chunks/framework.B8zgMDLd.js";const u=JSON.parse('{"title":"Editor","description":"","frontmatter":{},"headers":[],"relativePath":"concepts/editor.md","filePath":"concepts/editor.md"}'),i={name:"concepts/editor.md"};function n(d,e,s,c,l,h){return a(),o("div",null,[...e[0]||(e[0]=[r("",12)])])}const f=t(i,[["render",n]]);export{u as __pageData,f as default};

View File

@@ -0,0 +1 @@
import{_ as e,o as i,c as t,a2 as s}from"./chunks/framework.B8zgMDLd.js";const m=JSON.parse('{"title":"Files And Media","description":"","frontmatter":{},"headers":[],"relativePath":"concepts/files-and-media.md","filePath":"concepts/files-and-media.md"}'),n={name:"concepts/files-and-media.md"};function r(o,a,d,l,h,p){return i(),t("div",null,[...a[0]||(a[0]=[s('<h1 id="files-and-media" tabindex="-1">Files And Media <a class="header-anchor" href="#files-and-media" aria-label="Permalink to &quot;Files And Media&quot;"></a></h1><p>Tolaria starts with Markdown notes, but a vault can also contain images, PDFs, media files, whiteboards, and other local files.</p><h2 id="mermaid-diagrams" tabindex="-1">Mermaid Diagrams <a class="header-anchor" href="#mermaid-diagrams" aria-label="Permalink to &quot;Mermaid Diagrams&quot;"></a></h2><p>Use Mermaid code blocks when a note needs a diagram that should stay plain text and versionable.</p><div class="language-md vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">md</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">```mermaid</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">flowchart LR</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Idea --&gt; Draft --&gt; Review --&gt; Publish</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">```</span></span></code></pre></div><p>Tolaria renders Mermaid diagrams in the editor while keeping the source in Markdown.</p><h2 id="attachments" tabindex="-1">Attachments <a class="header-anchor" href="#attachments" aria-label="Permalink to &quot;Attachments&quot;"></a></h2><p>Images pasted into the editor are saved into the vault as normal files. They remain portable and can be opened by other tools.</p><h2 id="previews" tabindex="-1">Previews <a class="header-anchor" href="#previews" aria-label="Permalink to &quot;Previews&quot;"></a></h2><p>Tolaria can preview common image files, PDFs, and supported media files in the app. Files without an in-app preview can still be opened in the default system app.</p><p>Settings control whether PDFs, images, and unsupported files appear in All Notes. Folder browsing still shows files in their folders.</p><h2 id="whiteboards" tabindex="-1">Whiteboards <a class="header-anchor" href="#whiteboards" aria-label="Permalink to &quot;Whiteboards&quot;"></a></h2><p>Whiteboards use tldraw in the editor, but their durable representation stays in Markdown. That keeps them inside the vault and versioned by Git with the rest of your notes.</p><h2 id="git-boundary" tabindex="-1">Git Boundary <a class="header-anchor" href="#git-boundary" aria-label="Permalink to &quot;Git Boundary&quot;"></a></h2><p>If generated or local-only files are ignored by Git, Tolaria can hide them from notes, search, quick open, and folders. Use this when build artifacts or private local files should not behave like vault content.</p>',15)])])}const u=e(n,[["render",r]]);export{m as __pageData,u as default};

View File

@@ -0,0 +1 @@
import{_ as e,o as i,c as t,a2 as s}from"./chunks/framework.B8zgMDLd.js";const m=JSON.parse('{"title":"Files And Media","description":"","frontmatter":{},"headers":[],"relativePath":"concepts/files-and-media.md","filePath":"concepts/files-and-media.md"}'),n={name:"concepts/files-and-media.md"};function r(o,a,d,l,h,p){return i(),t("div",null,[...a[0]||(a[0]=[s("",15)])])}const u=e(n,[["render",r]]);export{m as __pageData,u as default};

View File

@@ -0,0 +1 @@
import{_ as a,o as e,c as o,a2 as i}from"./chunks/framework.B8zgMDLd.js";const m=JSON.parse('{"title":"Git","description":"","frontmatter":{},"headers":[],"relativePath":"concepts/git.md","filePath":"concepts/git.md"}'),r={name:"concepts/git.md"};function n(s,t,l,c,h,d){return e(),o("div",null,[...t[0]||(t[0]=[i('<h1 id="git" tabindex="-1">Git <a class="header-anchor" href="#git" aria-label="Permalink to &quot;Git&quot;"></a></h1><p>Git is Tolaria&#39;s recommended history and sync layer. Tolaria can work with plain Markdown folders, and Git unlocks local history, recovery, remote backup, and multi-device workflows when you want them.</p><p>Tolaria acts as a lightweight Git client for your vault. You can review changes, commit, pull, push, and inspect history without leaving the app.</p><h2 id="what-tolaria-uses-git-for" tabindex="-1">What Tolaria Uses Git For <a class="header-anchor" href="#what-tolaria-uses-git-for" aria-label="Permalink to &quot;What Tolaria Uses Git For&quot;"></a></h2><ul><li>Whole-vault commit history.</li><li>Current diff for the vault.</li><li>Per-note history.</li><li>Current diff for an individual note.</li><li>Pull and push.</li><li>Conflict detection and resolution.</li><li>Remote connection for local-only vaults.</li></ul><h2 id="history-and-diffs" tabindex="-1">History And Diffs <a class="header-anchor" href="#history-and-diffs" aria-label="Permalink to &quot;History And Diffs&quot;"></a></h2><p>Each note can show its own history and current diff, so you can understand how that file changed over time or what is unsaved relative to Git.</p><p>Tolaria also shows a history of the whole vault. Use it when you want to review broader changes across multiple notes before committing or syncing.</p><h2 id="local-commits" tabindex="-1">Local Commits <a class="header-anchor" href="#local-commits" aria-label="Permalink to &quot;Local Commits&quot;"></a></h2><p>You can commit changes inside Tolaria without leaving the app. This gives you useful restore points even before a remote is configured.</p><h2 id="remotes" tabindex="-1">Remotes <a class="header-anchor" href="#remotes" aria-label="Permalink to &quot;Remotes&quot;"></a></h2><p>Connect a compatible Git remote when you want sync or backup. Tolaria relies on your system Git authentication, so GitHub CLI, SSH keys, credential helpers, and existing Git configuration can continue to work.</p>',12)])])}const f=a(r,[["render",n]]);export{m as __pageData,f as default};

View File

@@ -0,0 +1 @@
import{_ as a,o as e,c as o,a2 as i}from"./chunks/framework.B8zgMDLd.js";const m=JSON.parse('{"title":"Git","description":"","frontmatter":{},"headers":[],"relativePath":"concepts/git.md","filePath":"concepts/git.md"}'),r={name:"concepts/git.md"};function n(s,t,l,c,h,d){return e(),o("div",null,[...t[0]||(t[0]=[i("",12)])])}const f=a(r,[["render",n]]);export{m as __pageData,f as default};

View File

@@ -0,0 +1 @@
import{_ as t,o as a,c as o,a2 as i}from"./chunks/framework.B8zgMDLd.js";const p=JSON.parse('{"title":"Inbox","description":"","frontmatter":{},"headers":[],"relativePath":"concepts/inbox.md","filePath":"concepts/inbox.md"}'),n={name:"concepts/inbox.md"};function r(s,e,l,h,d,b){return a(),o("div",null,[...e[0]||(e[0]=[i('<h1 id="inbox" tabindex="-1">Inbox <a class="header-anchor" href="#inbox" aria-label="Permalink to &quot;Inbox&quot;"></a></h1><p>The Inbox is for notes that have been captured but not yet organized.</p><h2 id="why-it-exists" tabindex="-1">Why It Exists <a class="header-anchor" href="#why-it-exists" aria-label="Permalink to &quot;Why It Exists&quot;"></a></h2><p>Fast capture should not require perfect structure. The Inbox gives you a place to put incomplete notes, then process them later.</p><p>The Inbox workflow is optional. Turn it off in Settings &gt; Workflow if you prefer every note to appear organized by default.</p><h2 id="organizing-inbox-notes" tabindex="-1">Organizing Inbox Notes <a class="header-anchor" href="#organizing-inbox-notes" aria-label="Permalink to &quot;Organizing Inbox Notes&quot;"></a></h2><p>When reviewing the Inbox:</p><ol><li>Give the note a clear H1.</li><li>Set its <code>type</code>.</li><li>Add status, dates, or URL if useful.</li><li>Add relationships with wikilinks or frontmatter fields.</li><li>Move it into a folder only if the folder adds value.</li></ol><h2 id="healthy-inbox-habit" tabindex="-1">Healthy Inbox Habit <a class="header-anchor" href="#healthy-inbox-habit" aria-label="Permalink to &quot;Healthy Inbox Habit&quot;"></a></h2><p>Keep the Inbox small enough that it can be reviewed in one focused pass. Tolaria works best when capture is fast and organization is deliberate.</p>',10)])])}const x=t(n,[["render",r]]);export{p as __pageData,x as default};

View File

@@ -0,0 +1 @@
import{_ as t,o as a,c as o,a2 as i}from"./chunks/framework.B8zgMDLd.js";const p=JSON.parse('{"title":"Inbox","description":"","frontmatter":{},"headers":[],"relativePath":"concepts/inbox.md","filePath":"concepts/inbox.md"}'),n={name:"concepts/inbox.md"};function r(s,e,l,h,d,b){return a(),o("div",null,[...e[0]||(e[0]=[i("",10)])])}const x=t(n,[["render",r]]);export{p as __pageData,x as default};

View File

@@ -0,0 +1,10 @@
import{_ as t,o as a,c as s,a2 as i}from"./chunks/framework.B8zgMDLd.js";const k=JSON.parse('{"title":"Notes","description":"","frontmatter":{},"headers":[],"relativePath":"concepts/notes.md","filePath":"concepts/notes.md"}'),n={name:"concepts/notes.md"};function o(l,e,r,h,d,p){return a(),s("div",null,[...e[0]||(e[0]=[i(`<h1 id="notes" tabindex="-1">Notes <a class="header-anchor" href="#notes" aria-label="Permalink to &quot;Notes&quot;"></a></h1><p>A note is a Markdown file with optional YAML frontmatter. Tolaria reads the first H1 as the primary title and keeps the file on disk as the durable representation.</p><h2 id="anatomy" tabindex="-1">Anatomy <a class="header-anchor" href="#anatomy" aria-label="Permalink to &quot;Anatomy&quot;"></a></h2><div class="language-md vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">md</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold;">---</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">type: Project</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">status: Active</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">belongs_to:</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> -</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &quot;[[</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline;">workspace</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">]]&quot;</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold;">---</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold;"># Launch Documentation</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">Draft the public Tolaria docs and keep them close to code changes.</span></span></code></pre></div><h2 id="titles" tabindex="-1">Titles <a class="header-anchor" href="#titles" aria-label="Permalink to &quot;Titles&quot;"></a></h2><p>The first H1 is the note title. Tolaria uses that title wherever the note is displayed: note lists, search results, wikilink suggestions, relationship pickers, tabs, and window titles.</p><p>The title is separate from the filename. The filename stays visible in the breadcrumb so you can see the file on disk, and you can rename it independently when needed.</p><p>Use the breadcrumb action to rename the file to match the title. New untitled notes can also auto-rename from the first H1 the first time they get a real title. Turn this behavior off in Settings &gt; Vault Content &gt; Titles &amp; Filenames if you prefer filenames to stay unchanged until you rename them manually.</p><h2 id="body-links" tabindex="-1">Body Links <a class="header-anchor" href="#body-links" aria-label="Permalink to &quot;Body Links&quot;"></a></h2><p>Use <code>[[wikilinks]]</code> to connect notes from the body. Tolaria shows autocomplete suggestions while you type, and links can resolve by filename or title.</p><h2 id="frontmatter" tabindex="-1">Frontmatter <a class="header-anchor" href="#frontmatter" aria-label="Permalink to &quot;Frontmatter&quot;"></a></h2><p>Use frontmatter for structured fields such as type, status, date, URL, and relationships. Keep free-form thinking in the body.</p>`,12)])])}const m=t(n,[["render",o]]);export{k as __pageData,m as default};

View File

@@ -0,0 +1 @@
import{_ as t,o as a,c as s,a2 as i}from"./chunks/framework.B8zgMDLd.js";const k=JSON.parse('{"title":"Notes","description":"","frontmatter":{},"headers":[],"relativePath":"concepts/notes.md","filePath":"concepts/notes.md"}'),n={name:"concepts/notes.md"};function o(l,e,r,h,d,p){return a(),s("div",null,[...e[0]||(e[0]=[i("",12)])])}const m=t(n,[["render",o]]);export{k as __pageData,m as default};

View File

@@ -0,0 +1 @@
import{_ as t,o as r,c as o,a2 as a}from"./chunks/framework.B8zgMDLd.js";const u=JSON.parse('{"title":"Properties","description":"","frontmatter":{},"headers":[],"relativePath":"concepts/properties.md","filePath":"concepts/properties.md"}'),i={name:"concepts/properties.md"};function d(s,e,p,n,c,l){return r(),o("div",null,[...e[0]||(e[0]=[a('<h1 id="properties" tabindex="-1">Properties <a class="header-anchor" href="#properties" aria-label="Permalink to &quot;Properties&quot;"></a></h1><p>Properties are frontmatter fields that Tolaria can display, filter, and edit.</p><h2 id="suggested-properties" tabindex="-1">Suggested Properties <a class="header-anchor" href="#suggested-properties" aria-label="Permalink to &quot;Suggested Properties&quot;"></a></h2><p>Suggested properties are the fields Tolaria knows how to create quickly from the Properties panel. When a suggested property is missing, the panel shows a shortcut to add it with the right editor.</p><table tabindex="0"><thead><tr><th>Field</th><th>Purpose</th></tr></thead><tbody><tr><td><code>type</code></td><td>Groups the note into a type such as Project, Person, or Topic.</td></tr><tr><td><code>status</code></td><td>Tracks lifecycle state such as Active, Done, or Blocked.</td></tr><tr><td><code>url</code></td><td>Stores a canonical external link.</td></tr><tr><td><code>date</code></td><td>Represents a single date.</td></tr></tbody></table><h2 id="system-properties" tabindex="-1">System Properties <a class="header-anchor" href="#system-properties" aria-label="Permalink to &quot;System Properties&quot;"></a></h2><p>Fields that start with <code>_</code> are system properties. They remain in plain text but are hidden from normal property editing.</p><p>Examples include <code>_icon</code>, <code>_color</code>, <code>_order</code>, <code>_sidebar_label</code>, <code>_width</code>, and <code>_pinned_properties</code> on type documents or notes.</p><h2 id="property-editing" tabindex="-1">Property Editing <a class="header-anchor" href="#property-editing" aria-label="Permalink to &quot;Property Editing&quot;"></a></h2><p>The Properties panel is the safest place to edit structured properties. Toggle it with <code>Cmd+Shift+I</code> on macOS or <code>Ctrl+Shift+I</code> on Windows and Linux.</p><p>Date fields use Tolaria&#39;s picker, relationship fields can use wikilinks, and raw Markdown mode is available when you need direct control over YAML.</p>',11)])])}const _=t(i,[["render",d]]);export{u as __pageData,_ as default};

View File

@@ -0,0 +1 @@
import{_ as t,o as r,c as o,a2 as a}from"./chunks/framework.B8zgMDLd.js";const u=JSON.parse('{"title":"Properties","description":"","frontmatter":{},"headers":[],"relativePath":"concepts/properties.md","filePath":"concepts/properties.md"}'),i={name:"concepts/properties.md"};function d(s,e,p,n,c,l){return r(),o("div",null,[...e[0]||(e[0]=[a("",11)])])}const _=t(i,[["render",d]]);export{u as __pageData,_ as default};

View File

@@ -0,0 +1,8 @@
import{_ as i,o as a,c as e,a2 as t}from"./chunks/framework.B8zgMDLd.js";const k=JSON.parse('{"title":"Relationships","description":"","frontmatter":{},"headers":[],"relativePath":"concepts/relationships.md","filePath":"concepts/relationships.md"}'),n={name:"concepts/relationships.md"};function o(l,s,h,r,p,d){return a(),e("div",null,[...s[0]||(s[0]=[t(`<h1 id="relationships" tabindex="-1">Relationships <a class="header-anchor" href="#relationships" aria-label="Permalink to &quot;Relationships&quot;"></a></h1><p>Relationships make a vault feel like a graph instead of a pile of documents.</p><h2 id="relationship-fields" tabindex="-1">Relationship Fields <a class="header-anchor" href="#relationship-fields" aria-label="Permalink to &quot;Relationship Fields&quot;"></a></h2><p>Any frontmatter field containing wikilinks can become a relationship. Relationship fields can point to one note or to an array of notes.</p><div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">belongs_to</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;[[product-work]]&quot;</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">related_to</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;[[documentation]]&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;[[editor-research]]&quot;</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">blocked_by</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;[[release-process]]&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;[[sync-conflicts]]&quot;</span></span></code></pre></div><p>Tolaria supports default relationship fields out of the box: <code>belongs_to</code>, <code>has</code>, and <code>related_to</code>. It also detects custom relationship fields dynamically when they contain wikilinks.</p><p>Default relationships have automatically computed inverses. If a note says it <code>belongs_to</code> a project, the project can show that note under its inverse <code>has</code> relationship without you writing the reverse link by hand. <code>related_to</code> works as a lateral relationship in both directions.</p><p>These outgoing and inverse relationships appear in the Properties panel and in Neighborhood mode, where the note list becomes a graph view around the selected note.</p><h2 id="body-links-versus-relationship-fields" tabindex="-1">Body Links Versus Relationship Fields <a class="header-anchor" href="#body-links-versus-relationship-fields" aria-label="Permalink to &quot;Body Links Versus Relationship Fields&quot;"></a></h2><p>Use body links when the relationship appears naturally in writing. Use frontmatter relationships when the connection is important enough to show in navigation, filters, Neighborhood mode, or the Properties panel.</p><h2 id="backlinks" tabindex="-1">Backlinks <a class="header-anchor" href="#backlinks" aria-label="Permalink to &quot;Backlinks&quot;"></a></h2><p>Tolaria can show incoming links and inverse relationships, making it easier to navigate from a note to the rest of its context.</p>`,12)])])}const u=i(n,[["render",o]]);export{k as __pageData,u as default};

View File

@@ -0,0 +1 @@
import{_ as i,o as a,c as e,a2 as t}from"./chunks/framework.B8zgMDLd.js";const k=JSON.parse('{"title":"Relationships","description":"","frontmatter":{},"headers":[],"relativePath":"concepts/relationships.md","filePath":"concepts/relationships.md"}'),n={name:"concepts/relationships.md"};function o(l,s,h,r,p,d){return a(),e("div",null,[...s[0]||(s[0]=[t("",12)])])}const u=i(n,[["render",o]]);export{k as __pageData,u as default};

View File

@@ -0,0 +1,9 @@
import{_ as s,o as a,c as t,a2 as i}from"./chunks/framework.B8zgMDLd.js";const y=JSON.parse('{"title":"Types","description":"","frontmatter":{},"headers":[],"relativePath":"concepts/types.md","filePath":"concepts/types.md"}'),n={name:"concepts/types.md"};function o(p,e,l,r,h,d){return a(),t("div",null,[...e[0]||(e[0]=[i(`<h1 id="types" tabindex="-1">Types <a class="header-anchor" href="#types" aria-label="Permalink to &quot;Types&quot;"></a></h1><p>Types describe what kind of thing a note represents: Project, Person, Topic, Procedure, Event, or any category you create.</p><h2 id="type-field" tabindex="-1">Type Field <a class="header-anchor" href="#type-field" aria-label="Permalink to &quot;Type Field&quot;"></a></h2><p>The <code>type:</code> field assigns a note to a type.</p><div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">type</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">Project</span></span></code></pre></div><p>Tolaria does not infer type from folder location. Moving a file into another folder does not change its type.</p><h2 id="prefer-types-over-folders" tabindex="-1">Prefer Types Over Folders <a class="header-anchor" href="#prefer-types-over-folders" aria-label="Permalink to &quot;Prefer Types Over Folders&quot;"></a></h2><p>Types are the preferred way to group notes in Tolaria. Folders are supported for existing vaults and fallback organization, but Tolaria is built around types and relationships because they carry stronger meaning than file paths.</p><p>Use types for semantic groups such as Projects, People, Topics, Procedures, Events, and Essays. Use relationships to connect notes across those groups. This gives Tolaria better structure for navigation, filtering, properties, templates, and future automation than folder location alone.</p><h2 id="type-documents" tabindex="-1">Type Documents <a class="header-anchor" href="#type-documents" aria-label="Permalink to &quot;Type Documents&quot;"></a></h2><p>Type documents are Markdown notes with <code>type: Type</code> in frontmatter. They describe how a type should appear and what new notes of that type should start with.</p><div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">---</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">type</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">Type</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">_icon</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">folder</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">_color</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">blue</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">_sidebar_label</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">Projects</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">_order</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">10</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">---</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Project</span></span></code></pre></div><h2 id="what-types-control" tabindex="-1">What Types Control <a class="header-anchor" href="#what-types-control" aria-label="Permalink to &quot;What Types Control&quot;"></a></h2><ul><li>Sidebar grouping.</li><li>Type icon and color.</li><li>Sidebar order and label.</li><li>Pinned properties.</li><li>New-note templates.</li></ul><h2 id="new-note-defaults" tabindex="-1">New Note Defaults <a class="header-anchor" href="#new-note-defaults" aria-label="Permalink to &quot;New Note Defaults&quot;"></a></h2><p>Type documents can define empty properties and relationships. When you create a new note of that type, Tolaria shows placeholders for those fields so you can fill them in from the Properties panel.</p><p>If a type document gives a property a value, that value becomes the default for new notes of that type. For example, a Project type can define <code>status: Active</code> so every new project starts active until you change it.</p>`,17)])])}const k=s(n,[["render",o]]);export{y as __pageData,k as default};

View File

@@ -0,0 +1 @@
import{_ as s,o as a,c as t,a2 as i}from"./chunks/framework.B8zgMDLd.js";const y=JSON.parse('{"title":"Types","description":"","frontmatter":{},"headers":[],"relativePath":"concepts/types.md","filePath":"concepts/types.md"}'),n={name:"concepts/types.md"};function o(p,e,l,r,h,d){return a(),t("div",null,[...e[0]||(e[0]=[i("",17)])])}const k=s(n,[["render",o]]);export{y as __pageData,k as default};

View File

@@ -0,0 +1 @@
import{_ as a,o as e,c as i,a2 as s}from"./chunks/framework.B8zgMDLd.js";const p=JSON.parse('{"title":"Vaults","description":"","frontmatter":{},"headers":[],"relativePath":"concepts/vaults.md","filePath":"concepts/vaults.md"}'),l={name:"concepts/vaults.md"};function o(r,t,n,d,c,h){return e(),i("div",null,[...t[0]||(t[0]=[s('<h1 id="vaults" tabindex="-1">Vaults <a class="header-anchor" href="#vaults" aria-label="Permalink to &quot;Vaults&quot;"></a></h1><p>A vault is the folder Tolaria reads and writes. The filesystem is the source of truth; the app state and cache are derived from files.</p><h2 id="core-rules" tabindex="-1">Core Rules <a class="header-anchor" href="#core-rules" aria-label="Permalink to &quot;Core Rules&quot;"></a></h2><ul><li>Notes are Markdown files.</li><li>YAML frontmatter provides structure.</li><li>Attachments are normal files inside the vault.</li><li>Type definitions and saved views are also files.</li><li>Git can track history and support remote sync.</li></ul><h2 id="why-local-files-matter" tabindex="-1">Why Local Files Matter <a class="header-anchor" href="#why-local-files-matter" aria-label="Permalink to &quot;Why Local Files Matter&quot;"></a></h2><p>Local files keep your notes inspectable. You can open them in another editor, search with command-line tools, back them up with your own system, and version them with Git.</p><p>Tolaria should never become the only way to read your data.</p><h2 id="git-is-a-capability" tabindex="-1">Git Is A Capability <a class="header-anchor" href="#git-is-a-capability" aria-label="Permalink to &quot;Git Is A Capability&quot;"></a></h2><p>A plain folder of Markdown files can open as a vault. Git-backed vaults unlock history, changes, commits, pull, push, conflict handling, and remote setup.</p><p>If a folder is not a Git repository, Tolaria can initialize Git when you explicitly ask it to. It avoids initializing broad personal folders such as Desktop, Documents, or Downloads unless they are clearly dedicated vault folders.</p><h2 id="app-state-versus-vault-state" tabindex="-1">App State Versus Vault State <a class="header-anchor" href="#app-state-versus-vault-state" aria-label="Permalink to &quot;App State Versus Vault State&quot;"></a></h2><p>Vault-level information should travel with the vault. Machine-specific preferences stay with the app installation.</p><table tabindex="0"><thead><tr><th>Vault state</th><th>App state</th></tr></thead><tbody><tr><td>Type icons and colors</td><td>Editor zoom</td></tr><tr><td>Saved views</td><td>Window size</td></tr><tr><td>Pinned properties</td><td>Recent vault list</td></tr><tr><td>Relationship conventions</td><td>Local cache</td></tr><tr><td>Vault AI guidance files</td><td>AI target selection</td></tr></tbody></table>',13)])])}const f=a(l,[["render",o]]);export{p as __pageData,f as default};

View File

@@ -0,0 +1 @@
import{_ as a,o as e,c as i,a2 as s}from"./chunks/framework.B8zgMDLd.js";const p=JSON.parse('{"title":"Vaults","description":"","frontmatter":{},"headers":[],"relativePath":"concepts/vaults.md","filePath":"concepts/vaults.md"}'),l={name:"concepts/vaults.md"};function o(r,t,n,d,c,h){return e(),i("div",null,[...t[0]||(t[0]=[s("",13)])])}const f=a(l,[["render",o]]);export{p as __pageData,f as default};

View File

@@ -0,0 +1 @@
import{_ as a,o as r,c as t,a2 as o}from"./chunks/framework.B8zgMDLd.js";const u=JSON.parse('{"title":"Download","description":"","frontmatter":{},"headers":[],"relativePath":"download/index.md","filePath":"download/index.md"}'),l={name:"download/index.md"};function n(s,e,i,d,h,c){return r(),t("div",null,[...e[0]||(e[0]=[o('<h1 id="download" tabindex="-1">Download <a class="header-anchor" href="#download" aria-label="Permalink to &quot;Download&quot;"></a></h1><p>Download Tolaria from the latest stable release.</p><h2 id="latest-stable" tabindex="-1">Latest Stable <a class="header-anchor" href="#latest-stable" aria-label="Permalink to &quot;Latest Stable&quot;"></a></h2><p><a href="https://refactoringhq.github.io/tolaria/download/" target="_blank" rel="noreferrer">Open the installer download page</a></p><p>The download page reads the latest stable release metadata and points you to the current macOS, Windows, or Linux artifact.</p><h2 id="other-builds" tabindex="-1">Other Builds <a class="header-anchor" href="#other-builds" aria-label="Permalink to &quot;Other Builds&quot;"></a></h2><ul><li><a href="https://github.com/refactoringhq/tolaria/releases" target="_blank" rel="noreferrer">Browse all GitHub releases</a></li><li><a href="/tolaria/releases/">Read release history</a></li><li><a href="/tolaria/reference/release-channels">Learn release channels</a></li></ul><h2 id="verify-the-version" tabindex="-1">Verify The Version <a class="header-anchor" href="#verify-the-version" aria-label="Permalink to &quot;Verify The Version&quot;"></a></h2><p>After launching the app, check the version shown in Tolaria&#39;s status bar or release surface.</p>',9)])])}const p=a(l,[["render",n]]);export{u as __pageData,p as default};

View File

@@ -0,0 +1 @@
import{_ as a,o as r,c as t,a2 as o}from"./chunks/framework.B8zgMDLd.js";const u=JSON.parse('{"title":"Download","description":"","frontmatter":{},"headers":[],"relativePath":"download/index.md","filePath":"download/index.md"}'),l={name:"download/index.md"};function n(s,e,i,d,h,c){return r(),t("div",null,[...e[0]||(e[0]=[o("",9)])])}const p=a(l,[["render",n]]);export{u as __pageData,p as default};

View File

@@ -0,0 +1 @@
import{_ as i,o as t,c as a,a2 as s}from"./chunks/framework.B8zgMDLd.js";const f=JSON.parse('{"title":"Build Custom Views","description":"","frontmatter":{},"headers":[],"relativePath":"guides/build-custom-views.md","filePath":"guides/build-custom-views.md"}'),o={name:"guides/build-custom-views.md"};function r(n,e,l,d,u,c){return t(),a("div",null,[...e[0]||(e[0]=[s('<h1 id="build-custom-views" tabindex="-1">Build Custom Views <a class="header-anchor" href="#build-custom-views" aria-label="Permalink to &quot;Build Custom Views&quot;"></a></h1><p>Custom views are saved filters for recurring questions.</p><h2 id="good-view-candidates" tabindex="-1">Good View Candidates <a class="header-anchor" href="#good-view-candidates" aria-label="Permalink to &quot;Good View Candidates&quot;"></a></h2><ul><li>Active projects.</li><li>People without a recent follow-up.</li><li>Drafts ready for review.</li><li>Notes changed this week.</li><li>Events in a date range.</li></ul><h2 id="view-definition" tabindex="-1">View Definition <a class="header-anchor" href="#view-definition" aria-label="Permalink to &quot;View Definition&quot;"></a></h2><p>Saved views live as files in the vault. They describe filters, sorting, and visible columns using structured data.</p><h2 id="filters" tabindex="-1">Filters <a class="header-anchor" href="#filters" aria-label="Permalink to &quot;Filters&quot;"></a></h2><p>Custom views can use nested conditions, similar to Notion or Airtable filter groups. Combine <code>all</code> and <code>any</code> logic when a view needs to answer a more precise question than a single field filter can express.</p><p>Date filters support dynamic natural-language values such as <code>today</code>, <code>yesterday</code>, or <code>one week ago</code>. Use these for views that should keep moving over time, such as recent work, stale follow-ups, or upcoming events.</p><h2 id="design-the-question-first" tabindex="-1">Design The Question First <a class="header-anchor" href="#design-the-question-first" aria-label="Permalink to &quot;Design The Question First&quot;"></a></h2><p>Before creating a view, write the question it answers. A good view is not &quot;all fields with all filters&quot;; it is a focused lens.</p>',11)])])}const w=i(o,[["render",r]]);export{f as __pageData,w as default};

View File

@@ -0,0 +1 @@
import{_ as i,o as t,c as a,a2 as s}from"./chunks/framework.B8zgMDLd.js";const f=JSON.parse('{"title":"Build Custom Views","description":"","frontmatter":{},"headers":[],"relativePath":"guides/build-custom-views.md","filePath":"guides/build-custom-views.md"}'),o={name:"guides/build-custom-views.md"};function r(n,e,l,d,u,c){return t(),a("div",null,[...e[0]||(e[0]=[s("",11)])])}const w=i(o,[["render",r]]);export{f as __pageData,w as default};

View File

@@ -0,0 +1 @@
import{_ as t,o as a,c as r,a2 as o}from"./chunks/framework.B8zgMDLd.js";const h=JSON.parse('{"title":"Capture A Note","description":"","frontmatter":{},"headers":[],"relativePath":"guides/capture-a-note.md","filePath":"guides/capture-a-note.md"}'),i={name:"guides/capture-a-note.md"};function n(l,e,d,u,s,c){return a(),r("div",null,[...e[0]||(e[0]=[o('<h1 id="capture-a-note" tabindex="-1">Capture A Note <a class="header-anchor" href="#capture-a-note" aria-label="Permalink to &quot;Capture A Note&quot;"></a></h1><p>Use capture when you need to get an idea into the vault before you know where it belongs.</p><h2 id="steps" tabindex="-1">Steps <a class="header-anchor" href="#steps" aria-label="Permalink to &quot;Steps&quot;"></a></h2><ol><li>Press <code>Cmd+N</code> on macOS or <code>Ctrl+N</code> on Windows and Linux.</li><li>Write a clear H1.</li><li>Add the rough content.</li><li>Leave structure for later if you are still thinking.</li></ol><h2 id="capture-well" tabindex="-1">Capture Well <a class="header-anchor" href="#capture-well" aria-label="Permalink to &quot;Capture Well&quot;"></a></h2><p>Prefer a useful title over a perfect taxonomy. You can add type, status, and relationships during inbox review.</p><h2 id="when-to-add-structure-immediately" tabindex="-1">When To Add Structure Immediately <a class="header-anchor" href="#when-to-add-structure-immediately" aria-label="Permalink to &quot;When To Add Structure Immediately&quot;"></a></h2><p>Add structure while capturing when the note&#39;s type or relationships are already obvious. Otherwise, capture the idea first and organize it later.</p>',8)])])}const m=t(i,[["render",n]]);export{h as __pageData,m as default};

View File

@@ -0,0 +1 @@
import{_ as t,o as a,c as r,a2 as o}from"./chunks/framework.B8zgMDLd.js";const h=JSON.parse('{"title":"Capture A Note","description":"","frontmatter":{},"headers":[],"relativePath":"guides/capture-a-note.md","filePath":"guides/capture-a-note.md"}'),i={name:"guides/capture-a-note.md"};function n(l,e,d,u,s,c){return a(),r("div",null,[...e[0]||(e[0]=[o("",8)])])}const m=t(i,[["render",n]]);export{h as __pageData,m as default};

View File

@@ -0,0 +1 @@
import{_ as e,o as t,c as i,a2 as o}from"./chunks/framework.B8zgMDLd.js";const d=JSON.parse('{"title":"Manage Git Manually Or With AutoGit","description":"","frontmatter":{},"headers":[],"relativePath":"guides/commit-and-push.md","filePath":"guides/commit-and-push.md"}'),l={name:"guides/commit-and-push.md"};function n(s,a,r,u,c,m){return t(),i("div",null,[...a[0]||(a[0]=[o('<h1 id="manage-git-manually-or-with-autogit" tabindex="-1">Manage Git Manually Or With AutoGit <a class="header-anchor" href="#manage-git-manually-or-with-autogit" aria-label="Permalink to &quot;Manage Git Manually Or With AutoGit&quot;"></a></h1><p>Tolaria can act as a lightweight Git client for a Git-enabled vault. You can manage commits and pushes yourself, or enable AutoGit to create conservative checkpoints after editing pauses or when the app is no longer active.</p><h2 id="manual-git" tabindex="-1">Manual Git <a class="header-anchor" href="#manual-git" aria-label="Permalink to &quot;Manual Git&quot;"></a></h2><ol><li>Open the Git or changes surface.</li><li>Review changed files.</li><li>Write a short commit message.</li><li>Commit locally.</li><li>Push when a remote is configured.</li></ol><p>If the remote has changed, pull first and resolve any conflicts. If the vault has no remote, manual commits still give you local history, diffs, and rollback.</p><h2 id="autogit" tabindex="-1">AutoGit <a class="header-anchor" href="#autogit" aria-label="Permalink to &quot;AutoGit&quot;"></a></h2><p>AutoGit is available in Settings for Git-enabled vaults. When enabled, Tolaria automatically commits and pushes saved local changes after an idle pause or after the app becomes inactive.</p><p>Use AutoGit when you want the safety of regular checkpoints without interrupting capture or editing. You can still inspect each note&#39;s current diff, review note history, and browse the whole-vault history before making larger manual commits.</p><h2 id="use-small-commits" tabindex="-1">Use Small Commits <a class="header-anchor" href="#use-small-commits" aria-label="Permalink to &quot;Use Small Commits&quot;"></a></h2><p>Small commits make it easier to understand what changed, roll back safely, and review AI-generated edits.</p>',10)])])}const p=e(l,[["render",n]]);export{d as __pageData,p as default};

View File

@@ -0,0 +1 @@
import{_ as e,o as t,c as i,a2 as o}from"./chunks/framework.B8zgMDLd.js";const d=JSON.parse('{"title":"Manage Git Manually Or With AutoGit","description":"","frontmatter":{},"headers":[],"relativePath":"guides/commit-and-push.md","filePath":"guides/commit-and-push.md"}'),l={name:"guides/commit-and-push.md"};function n(s,a,r,u,c,m){return t(),i("div",null,[...a[0]||(a[0]=[o("",10)])])}const p=e(l,[["render",n]]);export{d as __pageData,p as default};

View File

@@ -0,0 +1 @@
import{_ as o,o as t,c as a,a2 as n}from"./chunks/framework.B8zgMDLd.js";const p=JSON.parse('{"title":"Configure AI Models","description":"","frontmatter":{},"headers":[],"relativePath":"guides/configure-ai-models.md","filePath":"guides/configure-ai-models.md"}'),r={name:"guides/configure-ai-models.md"};function i(l,e,s,d,c,h){return t(),a("div",null,[...e[0]||(e[0]=[n('<h1 id="configure-ai-models" tabindex="-1">Configure AI Models <a class="header-anchor" href="#configure-ai-models" aria-label="Permalink to &quot;Configure AI Models&quot;"></a></h1><p>Use model providers when you want chat over note context without giving an agent vault-write tools.</p><h2 id="local-models" tabindex="-1">Local Models <a class="header-anchor" href="#local-models" aria-label="Permalink to &quot;Local Models&quot;"></a></h2><p>Local model targets are for tools such as Ollama and LM Studio. They usually need a base URL and model ID, and they usually do not need an API key.</p><h2 id="api-models" tabindex="-1">API Models <a class="header-anchor" href="#api-models" aria-label="Permalink to &quot;API Models&quot;"></a></h2><p>API model targets are for hosted providers such as OpenAI, Anthropic, Gemini, OpenRouter, or another OpenAI-compatible endpoint.</p><p>Tolaria does not store provider API keys in vault settings. Choose one of the supported key paths:</p><ul><li>Save the key locally on this device.</li><li>Read the key from an environment variable.</li><li>Use no key for local providers that do not require one.</li></ul><h2 id="test-the-connection" tabindex="-1">Test The Connection <a class="header-anchor" href="#test-the-connection" aria-label="Permalink to &quot;Test The Connection&quot;"></a></h2><p>After adding a provider, use the test action in Settings. A successful test means Tolaria reached the endpoint and the model replied.</p><h2 id="select-the-target" tabindex="-1">Select The Target <a class="header-anchor" href="#select-the-target" aria-label="Permalink to &quot;Select The Target&quot;"></a></h2><p>Once configured, choose the model from the AI target selector or set it as the default AI target in Settings.</p>',12)])])}const m=o(r,[["render",i]]);export{p as __pageData,m as default};

View File

@@ -0,0 +1 @@
import{_ as o,o as t,c as a,a2 as n}from"./chunks/framework.B8zgMDLd.js";const p=JSON.parse('{"title":"Configure AI Models","description":"","frontmatter":{},"headers":[],"relativePath":"guides/configure-ai-models.md","filePath":"guides/configure-ai-models.md"}'),r={name:"guides/configure-ai-models.md"};function i(l,e,s,d,c,h){return t(),a("div",null,[...e[0]||(e[0]=[n("",12)])])}const m=o(r,[["render",i]]);export{p as __pageData,m as default};

View File

@@ -0,0 +1 @@
import{_ as t,o as a,c as o,a2 as i}from"./chunks/framework.B8zgMDLd.js";const u=JSON.parse('{"title":"Connect A Git Remote","description":"","frontmatter":{},"headers":[],"relativePath":"guides/connect-a-git-remote.md","filePath":"guides/connect-a-git-remote.md"}'),r={name:"guides/connect-a-git-remote.md"};function n(c,e,s,l,h,m){return a(),o("div",null,[...e[0]||(e[0]=[i('<h1 id="connect-a-git-remote" tabindex="-1">Connect A Git Remote <a class="header-anchor" href="#connect-a-git-remote" aria-label="Permalink to &quot;Connect A Git Remote&quot;"></a></h1><p>Connect a remote when you want backup or sync beyond the current machine.</p><h2 id="before-you-start" tabindex="-1">Before You Start <a class="header-anchor" href="#before-you-start" aria-label="Permalink to &quot;Before You Start&quot;"></a></h2><p>Make sure the remote repository exists and your system Git can authenticate to it. Tolaria uses system Git rather than storing provider-specific credentials.</p><h2 id="steps" tabindex="-1">Steps <a class="header-anchor" href="#steps" aria-label="Permalink to &quot;Steps&quot;"></a></h2><ol><li>Open the bottom status bar remote chip, or run <code>Add Remote</code> from the command palette.</li><li>Paste the remote URL.</li><li>Confirm the remote name.</li><li>Fetch or push according to the app prompt.</li></ol><h2 id="recommended-auth" tabindex="-1">Recommended Auth <a class="header-anchor" href="#recommended-auth" aria-label="Permalink to &quot;Recommended Auth&quot;"></a></h2><ul><li>SSH keys.</li><li>GitHub CLI authentication.</li><li>Existing Git credential helpers.</li><li>macOS Keychain credentials for HTTPS remotes on macOS.</li></ul><p>If authentication fails, see <a href="/tolaria/troubleshooting/git-auth">Git Authentication</a>.</p>',9)])])}const p=t(r,[["render",n]]);export{u as __pageData,p as default};

View File

@@ -0,0 +1 @@
import{_ as t,o as a,c as o,a2 as i}from"./chunks/framework.B8zgMDLd.js";const u=JSON.parse('{"title":"Connect A Git Remote","description":"","frontmatter":{},"headers":[],"relativePath":"guides/connect-a-git-remote.md","filePath":"guides/connect-a-git-remote.md"}'),r={name:"guides/connect-a-git-remote.md"};function n(c,e,s,l,h,m){return a(),o("div",null,[...e[0]||(e[0]=[i("",9)])])}const p=t(r,[["render",n]]);export{u as __pageData,p as default};

View File

@@ -0,0 +1,9 @@
import{_ as s,o as a,c as i,a2 as t}from"./chunks/framework.B8zgMDLd.js";const k=JSON.parse('{"title":"Create Types","description":"","frontmatter":{},"headers":[],"relativePath":"guides/create-types.md","filePath":"guides/create-types.md"}'),n={name:"guides/create-types.md"};function l(p,e,r,o,h,d){return a(),i("div",null,[...e[0]||(e[0]=[t(`<h1 id="create-types" tabindex="-1">Create Types <a class="header-anchor" href="#create-types" aria-label="Permalink to &quot;Create Types&quot;"></a></h1><p>Create a type when several notes share the same role in your system.</p><h2 id="steps" tabindex="-1">Steps <a class="header-anchor" href="#steps" aria-label="Permalink to &quot;Steps&quot;"></a></h2><ol><li>Run <code>New Type</code> from the command palette, or click <code>+</code> in the Types header in the sidebar.</li><li>Give the type a clear name.</li><li>Add optional icon, color, sidebar order, sidebar label, pinned properties, suggested fields, default values, or a new-note template.</li></ol><p>You can also right-click a type in the sidebar to change its icon and color.</p><div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">---</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">type</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">Type</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">_icon</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">briefcase</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">_color</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">blue</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">_sidebar_label</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">Projects</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">_order</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">10</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">---</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Project</span></span></code></pre></div><h2 id="use-types-sparingly" tabindex="-1">Use Types Sparingly <a class="header-anchor" href="#use-types-sparingly" aria-label="Permalink to &quot;Use Types Sparingly&quot;"></a></h2><p>A type should represent a recurring category, not a one-off label. If you only need a temporary grouping, use a saved view or property instead.</p><h2 id="templates" tabindex="-1">Templates <a class="header-anchor" href="#templates" aria-label="Permalink to &quot;Templates&quot;"></a></h2><p>Type documents can include a Markdown template for new notes of that type. Keep templates small and useful: a heading, a few expected fields, and the first checklist are usually enough.</p><p>Type documents can also define fields for new notes. Empty properties and relationships become placeholders in new notes of that type. Properties with values become defaults for new notes of that type.</p>`,11)])])}const y=s(n,[["render",l]]);export{k as __pageData,y as default};

View File

@@ -0,0 +1 @@
import{_ as s,o as a,c as i,a2 as t}from"./chunks/framework.B8zgMDLd.js";const k=JSON.parse('{"title":"Create Types","description":"","frontmatter":{},"headers":[],"relativePath":"guides/create-types.md","filePath":"guides/create-types.md"}'),n={name:"guides/create-types.md"};function l(p,e,r,o,h,d){return a(),i("div",null,[...e[0]||(e[0]=[t("",11)])])}const y=s(n,[["render",l]]);export{k as __pageData,y as default};

View File

@@ -0,0 +1 @@
import{_ as a,o as t,c as n,a2 as r}from"./chunks/framework.B8zgMDLd.js";const f=JSON.parse('{"title":"Manage Display Preferences","description":"","frontmatter":{},"headers":[],"relativePath":"guides/manage-display-preferences.md","filePath":"guides/manage-display-preferences.md"}'),o={name:"guides/manage-display-preferences.md"};function i(s,e,l,d,h,c){return t(),n("div",null,[...e[0]||(e[0]=[r('<h1 id="manage-display-preferences" tabindex="-1">Manage Display Preferences <a class="header-anchor" href="#manage-display-preferences" aria-label="Permalink to &quot;Manage Display Preferences&quot;"></a></h1><p>Display preferences live in local app settings unless a setting is intentionally stored in the note or vault.</p><h2 id="theme" tabindex="-1">Theme <a class="header-anchor" href="#theme" aria-label="Permalink to &quot;Theme&quot;"></a></h2><p>Choose Light, Dark, or System in Settings. System follows the operating system appearance at runtime.</p><p>You can also switch theme mode from the command palette.</p><h2 id="note-width" tabindex="-1">Note Width <a class="header-anchor" href="#note-width" aria-label="Permalink to &quot;Note Width&quot;"></a></h2><p>Set the default rich-editor width in Settings:</p><ul><li><strong>Normal</strong> for focused writing.</li><li><strong>Wide</strong> for tables, diagrams, dense notes, and generated documents.</li></ul><p>An individual note can override the default width from the editor toolbar. That override is stored as <code>_width</code> in the note frontmatter.</p><h2 id="sidebar-labels" tabindex="-1">Sidebar Labels <a class="header-anchor" href="#sidebar-labels" aria-label="Permalink to &quot;Sidebar Labels&quot;"></a></h2><p>Tolaria can pluralize type names in the sidebar. Turn this off in Settings if your type names should be shown exactly as written, or use <code>_sidebar_label</code> on a type document for an explicit label.</p><h2 id="vault-content" tabindex="-1">Vault Content <a class="header-anchor" href="#vault-content" aria-label="Permalink to &quot;Vault Content&quot;"></a></h2><p>Settings also control whether Gitignored files and non-Markdown file categories are visible in the app. Use these controls to keep generated or local-only files out of regular note workflows.</p>',13)])])}const m=a(o,[["render",i]]);export{f as __pageData,m as default};

View File

@@ -0,0 +1 @@
import{_ as a,o as t,c as n,a2 as r}from"./chunks/framework.B8zgMDLd.js";const f=JSON.parse('{"title":"Manage Display Preferences","description":"","frontmatter":{},"headers":[],"relativePath":"guides/manage-display-preferences.md","filePath":"guides/manage-display-preferences.md"}'),o={name:"guides/manage-display-preferences.md"};function i(s,e,l,d,h,c){return t(),n("div",null,[...e[0]||(e[0]=[r("",13)])])}const m=a(o,[["render",i]]);export{f as __pageData,m as default};

View File

@@ -0,0 +1 @@
import{_ as o,o as a,c as t,a2 as i}from"./chunks/framework.B8zgMDLd.js";const b=JSON.parse('{"title":"Organize The Inbox","description":"","frontmatter":{},"headers":[],"relativePath":"guides/organize-inbox.md","filePath":"guides/organize-inbox.md"}'),n={name:"guides/organize-inbox.md"};function r(l,e,s,d,c,h){return a(),t("div",null,[...e[0]||(e[0]=[i('<h1 id="organize-the-inbox" tabindex="-1">Organize The Inbox <a class="header-anchor" href="#organize-the-inbox" aria-label="Permalink to &quot;Organize The Inbox&quot;"></a></h1><p>Inbox review turns quick captures into usable knowledge.</p><h2 id="remove-a-note-from-inbox" tabindex="-1">Remove A Note From Inbox <a class="header-anchor" href="#remove-a-note-from-inbox" aria-label="Permalink to &quot;Remove A Note From Inbox&quot;"></a></h2><p>When a note is organized enough, mark it as organized. Use <code>Cmd+E</code> on macOS or <code>Ctrl+E</code> on Windows and Linux, or click the organize action in the breadcrumb bar.</p><p>That action is what removes the note from Inbox. If auto-advance is enabled in Settings &gt; Workflow, Tolaria opens the next Inbox item immediately after you mark the current note organized.</p><h2 id="review-checklist" tabindex="-1">Review Checklist <a class="header-anchor" href="#review-checklist" aria-label="Permalink to &quot;Review Checklist&quot;"></a></h2><ul><li>Rename unclear notes.</li><li>Add or correct the first H1.</li><li>Set <code>type</code>.</li><li>Add <code>status</code> for actionable notes.</li><li>Add <code>belongs_to</code>, <code>related_to</code>, or other relationship fields when useful.</li><li>Archive or delete notes that no longer matter.</li></ul><h2 id="make-notes-navigable" tabindex="-1">Make Notes Navigable <a class="header-anchor" href="#make-notes-navigable" aria-label="Permalink to &quot;Make Notes Navigable&quot;"></a></h2><p>A note is organized when you can answer:</p><ul><li>What kind of thing is this?</li><li>What is it connected to?</li><li>What is this useful for?</li><li>What will I do with it?</li></ul><h2 id="avoid-over-structuring" tabindex="-1">Avoid Over-Structuring <a class="header-anchor" href="#avoid-over-structuring" aria-label="Permalink to &quot;Avoid Over-Structuring&quot;"></a></h2><p>Do not add fields just because they exist. Add the structure that will help future navigation, review, or automation.</p>',12)])])}const m=o(n,[["render",r]]);export{b as __pageData,m as default};

View File

@@ -0,0 +1 @@
import{_ as o,o as a,c as t,a2 as i}from"./chunks/framework.B8zgMDLd.js";const b=JSON.parse('{"title":"Organize The Inbox","description":"","frontmatter":{},"headers":[],"relativePath":"guides/organize-inbox.md","filePath":"guides/organize-inbox.md"}'),n={name:"guides/organize-inbox.md"};function r(l,e,s,d,c,h){return a(),t("div",null,[...e[0]||(e[0]=[i("",12)])])}const m=o(n,[["render",r]]);export{b as __pageData,m as default};

View File

@@ -0,0 +1 @@
import{_ as t,o,c as a,a2 as i}from"./chunks/framework.B8zgMDLd.js";const p=JSON.parse('{"title":"Use The AI","description":"","frontmatter":{},"headers":[],"relativePath":"guides/use-ai-panel.md","filePath":"guides/use-ai-panel.md"}'),r={name:"guides/use-ai-panel.md"};function s(n,e,l,h,d,u){return o(),a("div",null,[...e[0]||(e[0]=[i('<h1 id="use-the-ai" tabindex="-1">Use The AI <a class="header-anchor" href="#use-the-ai" aria-label="Permalink to &quot;Use The AI&quot;"></a></h1><p>Tolaria gives you two ways to ask for AI help: open the AI panel for an ongoing conversation, or prompt directly from the editor with <code>Cmd+K</code> followed by a space.</p><h2 id="choose-how-to-prompt" tabindex="-1">Choose How To Prompt <a class="header-anchor" href="#choose-how-to-prompt" aria-label="Permalink to &quot;Choose How To Prompt&quot;"></a></h2><ul><li><strong>AI panel</strong> is best for longer conversations, agent work, and requests that need visible back-and-forth.</li><li><strong>Inline prompt</strong> is best when you are already writing. Press <code>Cmd+K</code>, type a space, then write the prompt you want the AI to handle from the current note context.</li></ul><h2 id="choose-a-target" tabindex="-1">Choose A Target <a class="header-anchor" href="#choose-a-target" aria-label="Permalink to &quot;Choose A Target&quot;"></a></h2><p>Open Settings and choose the default AI target:</p><ul><li><strong>Coding agent</strong> for tool-backed vault editing through Claude Code, Codex, OpenCode, Pi, or Gemini CLI.</li><li><strong>Local model</strong> for Ollama or LM Studio chat over note context.</li><li><strong>API model</strong> for OpenAI, Anthropic, Gemini, OpenRouter, or an OpenAI-compatible endpoint.</li></ul><p>If a coding agent is missing, install it and reopen Tolaria or switch to another target.</p><h2 id="permission-mode" tabindex="-1">Permission Mode <a class="header-anchor" href="#permission-mode" aria-label="Permalink to &quot;Permission Mode&quot;"></a></h2><p>Coding agents support per-vault permission modes:</p><ul><li><strong>Vault Safe</strong> keeps agents limited to file, search, and edit tools.</li><li><strong>Power User</strong> can allow shell commands for agents that support them.</li></ul><p>Direct model targets always stay in chat mode. They can use note context, but they cannot edit vault files through tools.</p><h2 id="good-requests" tabindex="-1">Good Requests <a class="header-anchor" href="#good-requests" aria-label="Permalink to &quot;Good Requests&quot;"></a></h2><ul><li>&quot;Find notes related to this project.&quot;</li><li>&quot;Summarize what changed in this note.&quot;</li><li>&quot;Draft a weekly review from these linked notes.&quot;</li><li>&quot;Update this checklist based on the current project status.&quot;</li></ul><h2 id="review-changes" tabindex="-1">Review Changes <a class="header-anchor" href="#review-changes" aria-label="Permalink to &quot;Review Changes&quot;"></a></h2><p>AI edits are file edits. Review them with Tolaria&#39;s diff and Git history before committing.</p>',16)])])}const m=t(r,[["render",s]]);export{p as __pageData,m as default};

View File

@@ -0,0 +1 @@
import{_ as t,o,c as a,a2 as i}from"./chunks/framework.B8zgMDLd.js";const p=JSON.parse('{"title":"Use The AI","description":"","frontmatter":{},"headers":[],"relativePath":"guides/use-ai-panel.md","filePath":"guides/use-ai-panel.md"}'),r={name:"guides/use-ai-panel.md"};function s(n,e,l,h,d,u){return o(),a("div",null,[...e[0]||(e[0]=[i("",16)])])}const m=t(r,[["render",s]]);export{p as __pageData,m as default};

View File

@@ -0,0 +1 @@
import{_ as a,o as t,c as o,a2 as l}from"./chunks/framework.B8zgMDLd.js";const u=JSON.parse('{"title":"Use The Command Palette","description":"","frontmatter":{},"headers":[],"relativePath":"guides/use-command-palette.md","filePath":"guides/use-command-palette.md"}'),i={name:"guides/use-command-palette.md"};function n(s,e,d,m,r,c){return t(),o("div",null,[...e[0]||(e[0]=[l('<h1 id="use-the-command-palette" tabindex="-1">Use The Command Palette <a class="header-anchor" href="#use-the-command-palette" aria-label="Permalink to &quot;Use The Command Palette&quot;"></a></h1><p>The command palette is the fastest way to move around Tolaria.</p><p>Open it with:</p><ul><li><code>Cmd+K</code> on macOS.</li><li><code>Ctrl+K</code> on Linux and Windows.</li></ul><h2 id="common-commands" tabindex="-1">Common Commands <a class="header-anchor" href="#common-commands" aria-label="Permalink to &quot;Common Commands&quot;"></a></h2><ul><li>New Note.</li><li>Search.</li><li>Open Settings.</li><li>Reload Vault.</li><li>Add Remote.</li><li>Open Getting Started Vault.</li><li>Toggle Raw Mode.</li><li>Toggle Table of Contents.</li><li>Toggle AI Panel.</li><li>Use Light, Dark, or System theme.</li><li>Open in New Window.</li></ul><h2 id="keyboard-first-workflow" tabindex="-1">Keyboard-First Workflow <a class="header-anchor" href="#keyboard-first-workflow" aria-label="Permalink to &quot;Keyboard-First Workflow&quot;"></a></h2><p>Use the palette when you know what you want to do but do not want to hunt through panels. It is also the best place to discover commands as the app grows.</p>',8)])])}const p=a(i,[["render",n]]);export{u as __pageData,p as default};

View File

@@ -0,0 +1 @@
import{_ as a,o as t,c as o,a2 as l}from"./chunks/framework.B8zgMDLd.js";const u=JSON.parse('{"title":"Use The Command Palette","description":"","frontmatter":{},"headers":[],"relativePath":"guides/use-command-palette.md","filePath":"guides/use-command-palette.md"}'),i={name:"guides/use-command-palette.md"};function n(s,e,d,m,r,c){return t(),o("div",null,[...e[0]||(e[0]=[l("",8)])])}const p=a(i,[["render",n]]);export{u as __pageData,p as default};

View File

@@ -0,0 +1 @@
import{_ as i,o as a,c as t,a2 as o}from"./chunks/framework.B8zgMDLd.js";const f=JSON.parse('{"title":"Use Media Previews","description":"","frontmatter":{},"headers":[],"relativePath":"guides/use-media-previews.md","filePath":"guides/use-media-previews.md"}'),s={name:"guides/use-media-previews.md"};function l(r,e,n,d,h,p){return a(),t("div",null,[...e[0]||(e[0]=[o('<h1 id="use-media-previews" tabindex="-1">Use Media Previews <a class="header-anchor" href="#use-media-previews" aria-label="Permalink to &quot;Use Media Previews&quot;"></a></h1><p>Media previews let you inspect vault files without leaving Tolaria.</p><h2 id="open-a-file" tabindex="-1">Open A File <a class="header-anchor" href="#open-a-file" aria-label="Permalink to &quot;Open A File&quot;"></a></h2><p>Select an image, PDF, media file, or unsupported file from a folder or file list. Tolaria opens supported files in the app and offers an external-open action for files that should use the system default app.</p><h2 id="all-notes-visibility" tabindex="-1">All Notes Visibility <a class="header-anchor" href="#all-notes-visibility" aria-label="Permalink to &quot;All Notes Visibility&quot;"></a></h2><p>Open Settings to choose whether non-Markdown files appear in All Notes:</p><ul><li>PDFs.</li><li>Images.</li><li>Unsupported files.</li></ul><p>Folder browsing still shows files in their folders even when a category is hidden from All Notes.</p><h2 id="attachments" tabindex="-1">Attachments <a class="header-anchor" href="#attachments" aria-label="Permalink to &quot;Attachments&quot;"></a></h2><p>When you paste or drop an image into a note, Tolaria copies it into the vault and references the copied file from Markdown.</p><h2 id="troubleshooting" tabindex="-1">Troubleshooting <a class="header-anchor" href="#troubleshooting" aria-label="Permalink to &quot;Troubleshooting&quot;"></a></h2><p>If a preview does not render, open the file in the default app to confirm the file is valid, then check whether the file is inside the active vault and not blocked by operating-system permissions.</p>',12)])])}const c=i(s,[["render",l]]);export{f as __pageData,c as default};

View File

@@ -0,0 +1 @@
import{_ as i,o as a,c as t,a2 as o}from"./chunks/framework.B8zgMDLd.js";const f=JSON.parse('{"title":"Use Media Previews","description":"","frontmatter":{},"headers":[],"relativePath":"guides/use-media-previews.md","filePath":"guides/use-media-previews.md"}'),s={name:"guides/use-media-previews.md"};function l(r,e,n,d,h,p){return a(),t("div",null,[...e[0]||(e[0]=[o("",12)])])}const c=i(s,[["render",l]]);export{f as __pageData,c as default};

View File

@@ -0,0 +1 @@
import{_ as t,o,c as a,a2 as n}from"./chunks/framework.B8zgMDLd.js";const p=JSON.parse('{"title":"Use The Table Of Contents","description":"","frontmatter":{},"headers":[],"relativePath":"guides/use-table-of-contents.md","filePath":"guides/use-table-of-contents.md"}'),s={name:"guides/use-table-of-contents.md"};function i(l,e,r,d,h,c){return o(),a("div",null,[...e[0]||(e[0]=[n('<h1 id="use-the-table-of-contents" tabindex="-1">Use The Table Of Contents <a class="header-anchor" href="#use-the-table-of-contents" aria-label="Permalink to &quot;Use The Table Of Contents&quot;"></a></h1><p>The table of contents panel helps you navigate long notes by heading.</p><h2 id="open-it" tabindex="-1">Open It <a class="header-anchor" href="#open-it" aria-label="Permalink to &quot;Open It&quot;"></a></h2><p>Use the editor toolbar, the command palette, or the shortcut:</p><ul><li><code>Cmd+Shift+T</code> on macOS.</li><li><code>Ctrl+Shift+T</code> on Windows and Linux.</li></ul><h2 id="how-it-works" tabindex="-1">How It Works <a class="header-anchor" href="#how-it-works" aria-label="Permalink to &quot;How It Works&quot;"></a></h2><p>Tolaria builds the outline from the current note&#39;s headings. The panel updates as the note changes and can jump to sections in the editor.</p><h2 id="good-uses" tabindex="-1">Good Uses <a class="header-anchor" href="#good-uses" aria-label="Permalink to &quot;Good Uses&quot;"></a></h2><ul><li>Long procedures.</li><li>Meeting notes with many sections.</li><li>Research notes.</li><li>Generated documents that need review.</li></ul><p>If a note has no useful headings, add clear H2 and H3 sections rather than relying on a long uninterrupted document.</p>',10)])])}const f=t(s,[["render",i]]);export{p as __pageData,f as default};

View File

@@ -0,0 +1 @@
import{_ as t,o,c as a,a2 as n}from"./chunks/framework.B8zgMDLd.js";const p=JSON.parse('{"title":"Use The Table Of Contents","description":"","frontmatter":{},"headers":[],"relativePath":"guides/use-table-of-contents.md","filePath":"guides/use-table-of-contents.md"}'),s={name:"guides/use-table-of-contents.md"};function i(l,e,r,d,h,c){return o(),a("div",null,[...e[0]||(e[0]=[n("",10)])])}const f=t(s,[["render",i]]);export{p as __pageData,f as default};

View File

@@ -0,0 +1,2 @@
import{_ as e,o as s,c as t,a2 as a}from"./chunks/framework.B8zgMDLd.js";const c=JSON.parse('{"title":"Use Wikilinks","description":"","frontmatter":{},"headers":[],"relativePath":"guides/use-wikilinks.md","filePath":"guides/use-wikilinks.md"}'),n={name:"guides/use-wikilinks.md"};function l(o,i,r,k,h,d){return s(),t("div",null,[...i[0]||(i[0]=[a(`<h1 id="use-wikilinks" tabindex="-1">Use Wikilinks <a class="header-anchor" href="#use-wikilinks" aria-label="Permalink to &quot;Use Wikilinks&quot;"></a></h1><p>Wikilinks connect notes by name.</p><div class="language-md vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">md</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">This project belongs to [[</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline;">content-systems</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">]] and is related to [[</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline;">git-workflows</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">]].</span></span></code></pre></div><h2 id="link-from-the-body" tabindex="-1">Link From The Body <a class="header-anchor" href="#link-from-the-body" aria-label="Permalink to &quot;Link From The Body&quot;"></a></h2><p>Use body links when the connection is part of the sentence you are writing.</p><h2 id="link-from-frontmatter" tabindex="-1">Link From Frontmatter <a class="header-anchor" href="#link-from-frontmatter" aria-label="Permalink to &quot;Link From Frontmatter&quot;"></a></h2><p>Use frontmatter links when the relationship should become structured metadata.</p><div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">related_to</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;[[git-workflows]]&quot;</span></span></code></pre></div><h2 id="keep-links-stable" tabindex="-1">Keep Links Stable <a class="header-anchor" href="#keep-links-stable" aria-label="Permalink to &quot;Keep Links Stable&quot;"></a></h2><p>Prefer clear note titles and filenames. Tolaria&#39;s wikilink autocomplete helps you pick the right target while you type.</p>`,10)])])}const u=e(n,[["render",l]]);export{c as __pageData,u as default};

View File

@@ -0,0 +1 @@
import{_ as e,o as s,c as t,a2 as a}from"./chunks/framework.B8zgMDLd.js";const c=JSON.parse('{"title":"Use Wikilinks","description":"","frontmatter":{},"headers":[],"relativePath":"guides/use-wikilinks.md","filePath":"guides/use-wikilinks.md"}'),n={name:"guides/use-wikilinks.md"};function l(o,i,r,k,h,d){return s(),t("div",null,[...i[0]||(i[0]=[a("",10)])])}const u=e(n,[["render",l]]);export{c as __pageData,u as default};

View File

@@ -0,0 +1 @@
import{_ as a,C as r,o as n,c as o,E as t}from"./chunks/framework.B8zgMDLd.js";const u=JSON.parse('{"title":"Tolaria","description":"A second brain for the AI era. Free forever.","frontmatter":{"layout":"page","sidebar":false,"aside":false,"landing":true,"title":"Tolaria","description":"A second brain for the AI era. Free forever."},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),s={name:"index.md"};function i(d,c,l,p,f,m){const e=r("LandingHome");return n(),o("div",null,[t(e)])}const x=a(s,[["render",i]]);export{u as __pageData,x as default};

View File

@@ -0,0 +1 @@
import{_ as a,C as r,o as n,c as o,E as t}from"./chunks/framework.B8zgMDLd.js";const u=JSON.parse('{"title":"Tolaria","description":"A second brain for the AI era. Free forever.","frontmatter":{"layout":"page","sidebar":false,"aside":false,"landing":true,"title":"Tolaria","description":"A second brain for the AI era. Free forever."},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),s={name:"index.md"};function i(d,c,l,p,f,m){const e=r("LandingHome");return n(),o("div",null,[t(e)])}const x=a(s,[["render",i]]);export{u as __pageData,x as default};

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
import{_ as t,o as r,c as a,a2 as o}from"./chunks/framework.B8zgMDLd.js";const d=JSON.parse('{"title":"Contribute","description":"","frontmatter":{},"headers":[],"relativePath":"reference/contribute.md","filePath":"reference/contribute.md"}'),s={name:"reference/contribute.md"};function n(i,e,u,h,c,l){return r(),a("div",null,[...e[0]||(e[0]=[o('<h1 id="contribute" tabindex="-1">Contribute <a class="header-anchor" href="#contribute" aria-label="Permalink to &quot;Contribute&quot;"></a></h1><p>Tolaria is free and open source, and any kind of help is useful. Pick the path that matches what you want to do.</p><h2 id="sponsor-or-support" tabindex="-1">Sponsor Or Support <a class="header-anchor" href="#sponsor-or-support" aria-label="Permalink to &quot;Sponsor Or Support&quot;"></a></h2><p>The best way to support Tolaria is to subscribe to <a href="https://refactoring.fm/" target="_blank" rel="noreferrer">Refactoring</a>, Luca&#39;s newsletter and community about running good teams and shipping software with AI.</p><h2 id="feature-requests" tabindex="-1">Feature Requests <a class="header-anchor" href="#feature-requests" aria-label="Permalink to &quot;Feature Requests&quot;"></a></h2><p>Use the <a href="https://tolaria.canny.io/" target="_blank" rel="noreferrer">product board</a> for feature ideas. Search first, upvote existing ideas, and create a new post when the request is genuinely new.</p><h2 id="discussions" tabindex="-1">Discussions <a class="header-anchor" href="#discussions" aria-label="Permalink to &quot;Discussions&quot;"></a></h2><p>Use <a href="https://github.com/refactoringhq/tolaria/discussions" target="_blank" rel="noreferrer">GitHub Discussions</a> for questions, conversations, show and tell, and broader community context.</p><h2 id="contribute-code" tabindex="-1">Contribute Code <a class="header-anchor" href="#contribute-code" aria-label="Permalink to &quot;Contribute Code&quot;"></a></h2><p>Small, focused pull requests are welcome. Check the product board first so you build the right thing, then open a PR on <a href="https://github.com/refactoringhq/tolaria/pulls" target="_blank" rel="noreferrer">GitHub</a>. The <a href="https://github.com/refactoringhq/tolaria/blob/main/CONTRIBUTING.md" target="_blank" rel="noreferrer">contributing guide</a> explains the local workflow.</p><h2 id="report-a-bug" tabindex="-1">Report A Bug <a class="header-anchor" href="#report-a-bug" aria-label="Permalink to &quot;Report A Bug&quot;"></a></h2><p>Use <a href="https://github.com/refactoringhq/tolaria/issues" target="_blank" rel="noreferrer">GitHub Issues</a> for bugs. Include what happened, what you expected, and clear reproduction steps. If you are reporting from inside Tolaria, use the Contribute panel to copy sanitized diagnostics and attach them to the issue.</p>',12)])])}const b=t(s,[["render",n]]);export{d as __pageData,b as default};

View File

@@ -0,0 +1 @@
import{_ as t,o as r,c as a,a2 as o}from"./chunks/framework.B8zgMDLd.js";const d=JSON.parse('{"title":"Contribute","description":"","frontmatter":{},"headers":[],"relativePath":"reference/contribute.md","filePath":"reference/contribute.md"}'),s={name:"reference/contribute.md"};function n(i,e,u,h,c,l){return r(),a("div",null,[...e[0]||(e[0]=[o("",12)])])}const b=t(s,[["render",n]]);export{d as __pageData,b as default};

View File

@@ -0,0 +1 @@
import{_ as a,o as t,c as o,a2 as r}from"./chunks/framework.B8zgMDLd.js";const u=JSON.parse('{"title":"Docs Maintenance","description":"","frontmatter":{},"headers":[],"relativePath":"reference/docs-maintenance.md","filePath":"reference/docs-maintenance.md"}'),n={name:"reference/docs-maintenance.md"};function i(s,e,l,d,c,h){return t(),o("div",null,[...e[0]||(e[0]=[r('<h1 id="docs-maintenance" tabindex="-1">Docs Maintenance <a class="header-anchor" href="#docs-maintenance" aria-label="Permalink to &quot;Docs Maintenance&quot;"></a></h1><p>The public docs live in the app repo so documentation changes can ship with behavior changes.</p><h2 id="update-docs-when-you-change" tabindex="-1">Update Docs When You Change <a class="header-anchor" href="#update-docs-when-you-change" aria-label="Permalink to &quot;Update Docs When You Change&quot;"></a></h2><ul><li>A Tauri command.</li><li>A new component or hook that changes user behavior.</li><li>A data model or frontmatter convention.</li><li>Git, AI, onboarding, or release behavior.</li><li>Public release pages, download metadata, or updater channels.</li><li>Platform support.</li><li>Keyboard shortcuts.</li></ul><h2 id="suggested-workflow" tabindex="-1">Suggested Workflow <a class="header-anchor" href="#suggested-workflow" aria-label="Permalink to &quot;Suggested Workflow&quot;"></a></h2><ol><li>Make the code change.</li><li>Update the matching concept, guide, or reference page.</li><li>Add a troubleshooting page if the change creates a new failure mode.</li><li>Run <code>pnpm docs:build</code>.</li><li>Check the home page, search, release/download links, and changed docs pages in a browser.</li></ol><h2 id="page-types" tabindex="-1">Page Types <a class="header-anchor" href="#page-types" aria-label="Permalink to &quot;Page Types&quot;"></a></h2><table tabindex="0"><thead><tr><th>Type</th><th>Purpose</th></tr></thead><tbody><tr><td>Start</td><td>Helps a new user get into the app.</td></tr><tr><td>Concepts</td><td>Explains mental models.</td></tr><tr><td>Guides</td><td>Teaches workflows.</td></tr><tr><td>Reference</td><td>Gives stable facts and tables.</td></tr><tr><td>Troubleshooting</td><td>Starts from a symptom and ends with recovery.</td></tr></tbody></table><h2 id="review-checklist" tabindex="-1">Review Checklist <a class="header-anchor" href="#review-checklist" aria-label="Permalink to &quot;Review Checklist&quot;"></a></h2><ul><li>Does the page describe current behavior?</li><li>Does it mention macOS primary and Windows/Linux supported-early status when platform support matters?</li><li>Are links relative and VitePress-compatible?</li><li>Can a user discover the page with local search?</li></ul>',10)])])}const m=a(n,[["render",i]]);export{u as __pageData,m as default};

View File

@@ -0,0 +1 @@
import{_ as a,o as t,c as o,a2 as r}from"./chunks/framework.B8zgMDLd.js";const u=JSON.parse('{"title":"Docs Maintenance","description":"","frontmatter":{},"headers":[],"relativePath":"reference/docs-maintenance.md","filePath":"reference/docs-maintenance.md"}'),n={name:"reference/docs-maintenance.md"};function i(s,e,l,d,c,h){return t(),o("div",null,[...e[0]||(e[0]=[r("",10)])])}const m=a(n,[["render",i]]);export{u as __pageData,m as default};

View File

@@ -0,0 +1,12 @@
import{_ as a,o as t,c as s,a2 as n}from"./chunks/framework.B8zgMDLd.js";const u=JSON.parse('{"title":"File Layout","description":"","frontmatter":{},"headers":[],"relativePath":"reference/file-layout.md","filePath":"reference/file-layout.md"}'),o={name:"reference/file-layout.md"};function i(r,e,l,p,d,c){return t(),s("div",null,[...e[0]||(e[0]=[n(`<h1 id="file-layout" tabindex="-1">File Layout <a class="header-anchor" href="#file-layout" aria-label="Permalink to &quot;File Layout&quot;"></a></h1><p>Tolaria is not opinionated about folder structure. It finds notes recursively across the whole vault, stores new notes in the root by default, and uses types and relationships for real organization.</p><div class="language-txt vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">txt</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>my-vault/</span></span>
<span class="line"><span> project-alpha.md</span></span>
<span class="line"><span> weekly-review.md</span></span>
<span class="line"><span> research/</span></span>
<span class="line"><span> source-notes.md</span></span>
<span class="line"><span> attachments/</span></span>
<span class="line"><span> diagram.png</span></span>
<span class="line"><span> source.pdf</span></span>
<span class="line"><span> project.md</span></span>
<span class="line"><span> person.md</span></span>
<span class="line"><span> views/</span></span>
<span class="line"><span> active-projects.yml</span></span></code></pre></div><h2 id="root-notes" tabindex="-1">Root Notes <a class="header-anchor" href="#root-notes" aria-label="Permalink to &quot;Root Notes&quot;"></a></h2><p>Tolaria works well with a flat vault. Folders are optional and can be useful for compatibility with other tools, but they are not required for people, projects, topics, or any other note category.</p><p>Type is not inferred from folder location. It comes from frontmatter, and relationships are expressed with wikilinks in fields. That is what Tolaria uses for the sidebar, Properties panel, search, custom views, and neighborhood navigation.</p><h2 id="special-folders" tabindex="-1">Special Folders <a class="header-anchor" href="#special-folders" aria-label="Permalink to &quot;Special Folders&quot;"></a></h2><table tabindex="0"><thead><tr><th>Folder</th><th>Purpose</th></tr></thead><tbody><tr><td><code>views/</code></td><td>Saved custom views.</td></tr><tr><td><code>attachments/</code></td><td>Images and other attached files.</td></tr></tbody></table><p>PDFs, images, and other non-Markdown files stay as normal files. Folder browsing can show them in place, and Settings controls whether PDFs, images, and unsupported files appear in All Notes.</p><p>Whiteboards are Markdown files with durable tldraw data, so they belong with notes rather than in <code>attachments/</code>.</p><p>Type definitions are Markdown notes with <code>type: Type</code> in frontmatter. New type documents are normal notes, and existing type documents in older folders still work.</p><h2 id="git-files" tabindex="-1">Git Files <a class="header-anchor" href="#git-files" aria-label="Permalink to &quot;Git Files&quot;"></a></h2><p>If the vault is a Git repository, <code>.git/</code> belongs to Git. Tolaria reads Git state but does not treat <code>.git/</code> as notes.</p>`,13)])])}const f=a(o,[["render",i]]);export{u as __pageData,f as default};

View File

@@ -0,0 +1 @@
import{_ as a,o as t,c as s,a2 as n}from"./chunks/framework.B8zgMDLd.js";const u=JSON.parse('{"title":"File Layout","description":"","frontmatter":{},"headers":[],"relativePath":"reference/file-layout.md","filePath":"reference/file-layout.md"}'),o={name:"reference/file-layout.md"};function i(r,e,l,p,d,c){return t(),s("div",null,[...e[0]||(e[0]=[n("",13)])])}const f=a(o,[["render",i]]);export{u as __pageData,f as default};

View File

@@ -0,0 +1 @@
import{_ as e,o as d,c as r,a2 as a}from"./chunks/framework.B8zgMDLd.js";const p=JSON.parse('{"title":"Frontmatter Fields","description":"","frontmatter":{},"headers":[],"relativePath":"reference/frontmatter-fields.md","filePath":"reference/frontmatter-fields.md"}'),o={name:"reference/frontmatter-fields.md"};function i(n,t,s,c,l,h){return d(),r("div",null,[...t[0]||(t[0]=[a('<h1 id="frontmatter-fields" tabindex="-1">Frontmatter Fields <a class="header-anchor" href="#frontmatter-fields" aria-label="Permalink to &quot;Frontmatter Fields&quot;"></a></h1><p>Tolaria uses conventions instead of a required schema.</p><table tabindex="0"><thead><tr><th>Field</th><th>Meaning</th></tr></thead><tbody><tr><td><code>type</code></td><td>The note&#39;s entity type.</td></tr><tr><td><code>status</code></td><td>Lifecycle state.</td></tr><tr><td><code>icon</code></td><td>Per-note icon.</td></tr><tr><td><code>url</code></td><td>External URL.</td></tr><tr><td><code>date</code></td><td>Single date.</td></tr><tr><td><code>belongs_to</code></td><td>Parent relationship.</td></tr><tr><td><code>related_to</code></td><td>Lateral relationship.</td></tr><tr><td><code>has</code></td><td>Contained relationship.</td></tr><tr><td><code>_width</code></td><td>Per-note editor width override.</td></tr><tr><td><code>_icon</code>, <code>_color</code></td><td>Type or note appearance metadata.</td></tr><tr><td><code>_sidebar_label</code>, <code>_order</code></td><td>Type sidebar label and order.</td></tr><tr><td><code>_pinned_properties</code></td><td>Properties pinned for a type.</td></tr></tbody></table><h2 id="custom-fields" tabindex="-1">Custom Fields <a class="header-anchor" href="#custom-fields" aria-label="Permalink to &quot;Custom Fields&quot;"></a></h2><p>You can add your own fields. If a field contains wikilinks, Tolaria can treat it as a relationship.</p><h2 id="system-fields" tabindex="-1">System Fields <a class="header-anchor" href="#system-fields" aria-label="Permalink to &quot;System Fields&quot;"></a></h2><p>Fields starting with <code>_</code> are reserved for system behavior and hidden from standard property editing. They remain plain YAML, so they can still be inspected or changed in raw mode when needed.</p>',7)])])}const m=e(o,[["render",i]]);export{p as __pageData,m as default};

View File

@@ -0,0 +1 @@
import{_ as e,o as d,c as r,a2 as a}from"./chunks/framework.B8zgMDLd.js";const p=JSON.parse('{"title":"Frontmatter Fields","description":"","frontmatter":{},"headers":[],"relativePath":"reference/frontmatter-fields.md","filePath":"reference/frontmatter-fields.md"}'),o={name:"reference/frontmatter-fields.md"};function i(n,t,s,c,l,h){return d(),r("div",null,[...t[0]||(t[0]=[a("",7)])])}const m=e(o,[["render",i]]);export{p as __pageData,m as default};

View File

@@ -0,0 +1 @@
import{_ as e,o as d,c as o,a2 as r}from"./chunks/framework.B8zgMDLd.js";const f=JSON.parse('{"title":"Keyboard Shortcuts","description":"","frontmatter":{},"headers":[],"relativePath":"reference/keyboard-shortcuts.md","filePath":"reference/keyboard-shortcuts.md"}'),c={name:"reference/keyboard-shortcuts.md"};function a(n,t,i,l,h,s){return d(),o("div",null,[...t[0]||(t[0]=[r('<h1 id="keyboard-shortcuts" tabindex="-1">Keyboard Shortcuts <a class="header-anchor" href="#keyboard-shortcuts" aria-label="Permalink to &quot;Keyboard Shortcuts&quot;"></a></h1><table tabindex="0"><thead><tr><th>Shortcut</th><th>Action</th></tr></thead><tbody><tr><td><code>Cmd+K</code> / <code>Ctrl+K</code></td><td>Open command palette.</td></tr><tr><td><code>Cmd+P</code> / <code>Ctrl+P</code></td><td>Quick open notes and files.</td></tr><tr><td><code>Cmd+N</code> / <code>Ctrl+N</code></td><td>Create a new note.</td></tr><tr><td><code>Cmd+S</code> / <code>Ctrl+S</code></td><td>Save current note.</td></tr><tr><td><code>Cmd+F</code> / <code>Ctrl+F</code></td><td>Find in the current note.</td></tr><tr><td><code>Cmd+Shift+F</code> / <code>Ctrl+Shift+F</code></td><td>Search the vault.</td></tr><tr><td><code>Cmd+Shift+V</code> / <code>Ctrl+Shift+V</code></td><td>Paste without formatting.</td></tr><tr><td><code>Cmd+\\</code> / <code>Ctrl+\\</code></td><td>Toggle raw Markdown mode.</td></tr><tr><td><code>Cmd+Shift+T</code> / <code>Ctrl+Shift+T</code></td><td>Toggle table of contents.</td></tr><tr><td><code>Cmd+Shift+I</code> / <code>Ctrl+Shift+I</code></td><td>Toggle Properties panel.</td></tr><tr><td><code>Cmd+Shift+L</code> / <code>Ctrl+Shift+L</code></td><td>Toggle AI panel.</td></tr><tr><td><code>Cmd+[</code> / <code>Alt+Left</code></td><td>Navigate back when available.</td></tr><tr><td><code>Cmd+]</code> / <code>Alt+Right</code></td><td>Navigate forward when available.</td></tr><tr><td><code>Cmd+Shift+O</code> / <code>Ctrl+Shift+O</code></td><td>Open current note in a new window.</td></tr><tr><td><code>Cmd+D</code> / <code>Ctrl+D</code></td><td>Toggle favorite for the current note.</td></tr><tr><td><code>Cmd+E</code> / <code>Ctrl+E</code></td><td>Mark the current Inbox note organized.</td></tr></tbody></table><p>Some shortcuts vary by platform because macOS, Linux, and Windows reserve different key combinations.</p><p>Use the command palette to discover the current command set.</p>',4)])])}const C=e(c,[["render",a]]);export{f as __pageData,C as default};

View File

@@ -0,0 +1 @@
import{_ as e,o as d,c as o,a2 as r}from"./chunks/framework.B8zgMDLd.js";const f=JSON.parse('{"title":"Keyboard Shortcuts","description":"","frontmatter":{},"headers":[],"relativePath":"reference/keyboard-shortcuts.md","filePath":"reference/keyboard-shortcuts.md"}'),c={name:"reference/keyboard-shortcuts.md"};function a(n,t,i,l,h,s){return d(),o("div",null,[...t[0]||(t[0]=[r("",4)])])}const C=e(c,[["render",a]]);export{f as __pageData,C as default};

View File

@@ -0,0 +1,2 @@
import{_ as a,o as t,c as s,a2 as l}from"./chunks/framework.B8zgMDLd.js";const u=JSON.parse('{"title":"Release Channels","description":"","frontmatter":{},"headers":[],"relativePath":"reference/release-channels.md","filePath":"reference/release-channels.md"}'),n={name:"reference/release-channels.md"};function i(o,e,p,r,h,c){return t(),s("div",null,[...e[0]||(e[0]=[l(`<h1 id="release-channels" tabindex="-1">Release Channels <a class="header-anchor" href="#release-channels" aria-label="Permalink to &quot;Release Channels&quot;"></a></h1><p>Tolaria publishes Stable and Alpha release metadata to GitHub Pages.</p><h2 id="stable" tabindex="-1">Stable <a class="header-anchor" href="#stable" aria-label="Permalink to &quot;Stable&quot;"></a></h2><p>Stable follows manually promoted releases. This is the right channel for normal use.</p><p>The stable updater metadata lives at:</p><div class="language-txt vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">txt</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>/stable/latest.json</span></span></code></pre></div><p>The public download page points at the latest stable release.</p><h2 id="alpha" tabindex="-1">Alpha <a class="header-anchor" href="#alpha" aria-label="Permalink to &quot;Alpha&quot;"></a></h2><p>Alpha follows pushes to <code>main</code>. It receives fixes and features earlier, but it can be rougher than Stable.</p><p>The alpha updater metadata lives at:</p><div class="language-txt vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">txt</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>/alpha/latest.json</span></span></code></pre></div><p>Compatibility endpoints also point to the alpha metadata:</p><div class="language-txt vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">txt</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>/latest.json</span></span>
<span class="line"><span>/latest-canary.json</span></span></code></pre></div><h2 id="before-switching" tabindex="-1">Before Switching <a class="header-anchor" href="#before-switching" aria-label="Permalink to &quot;Before Switching&quot;"></a></h2><p>Commit or push important vault changes before changing release channel or installing an update. Your notes are local files, but a clean Git state makes recovery simpler.</p>`,15)])])}const b=a(n,[["render",i]]);export{u as __pageData,b as default};

View File

@@ -0,0 +1 @@
import{_ as a,o as t,c as s,a2 as l}from"./chunks/framework.B8zgMDLd.js";const u=JSON.parse('{"title":"Release Channels","description":"","frontmatter":{},"headers":[],"relativePath":"reference/release-channels.md","filePath":"reference/release-channels.md"}'),n={name:"reference/release-channels.md"};function i(o,e,p,r,h,c){return t(),s("div",null,[...e[0]||(e[0]=[l("",15)])])}const b=a(n,[["render",i]]);export{u as __pageData,b as default};

View File

@@ -0,0 +1 @@
import{_ as e,o as a,c as r,a2 as o}from"./chunks/framework.B8zgMDLd.js";const h=JSON.parse('{"title":"Supported Platforms","description":"","frontmatter":{},"headers":[],"relativePath":"reference/supported-platforms.md","filePath":"reference/supported-platforms.md"}'),p={name:"reference/supported-platforms.md"};function l(d,t,i,s,n,u){return a(),r("div",null,[...t[0]||(t[0]=[o('<h1 id="supported-platforms" tabindex="-1">Supported Platforms <a class="header-anchor" href="#supported-platforms" aria-label="Permalink to &quot;Supported Platforms&quot;"></a></h1><p>Tolaria is a desktop app built with Tauri. Releases currently target macOS, Windows, and Linux.</p><table tabindex="0"><thead><tr><th>Platform</th><th>Current support</th><th>Notes</th></tr></thead><tbody><tr><td>macOS</td><td>Primary</td><td>Main development and QA target. Apple Silicon and Intel artifacts are published.</td></tr><tr><td>Windows</td><td>Supported, early</td><td>NSIS installers and signed updater bundles are published. Menu, shell-path, and credential-helper behavior receive platform-specific fixes as they appear.</td></tr><tr><td>Linux</td><td>Supported, early</td><td>AppImage and deb artifacts are published. Behavior can depend on distro WebKitGTK packages, Wayland/X11 details, and input-method setup.</td></tr></tbody></table><h2 id="support-policy" tabindex="-1">Support Policy <a class="header-anchor" href="#support-policy" aria-label="Permalink to &quot;Support Policy&quot;"></a></h2><p>Primary support means the platform is part of normal development and release validation. Supported, early means release artifacts exist and the app is expected to work, but platform-specific bugs can take longer to diagnose than macOS issues.</p><h2 id="reporting-platform-bugs" tabindex="-1">Reporting Platform Bugs <a class="header-anchor" href="#reporting-platform-bugs" aria-label="Permalink to &quot;Reporting Platform Bugs&quot;"></a></h2><p>Include:</p><ul><li>Tolaria version.</li><li>Operating system and version.</li><li>CPU architecture.</li><li>Whether the vault is local-only or connected to a remote.</li><li>Steps to reproduce.</li></ul>',8)])])}const m=e(p,[["render",l]]);export{h as __pageData,m as default};

View File

@@ -0,0 +1 @@
import{_ as e,o as a,c as r,a2 as o}from"./chunks/framework.B8zgMDLd.js";const h=JSON.parse('{"title":"Supported Platforms","description":"","frontmatter":{},"headers":[],"relativePath":"reference/supported-platforms.md","filePath":"reference/supported-platforms.md"}'),p={name:"reference/supported-platforms.md"};function l(d,t,i,s,n,u){return a(),r("div",null,[...t[0]||(t[0]=[o("",8)])])}const m=e(p,[["render",l]]);export{h as __pageData,m as default};

View File

@@ -0,0 +1 @@
import{_ as t,o as a,c as i,a2 as r}from"./chunks/framework.B8zgMDLd.js";const h=JSON.parse('{"title":"View Filters","description":"","frontmatter":{},"headers":[],"relativePath":"reference/view-filters.md","filePath":"reference/view-filters.md"}'),o={name:"reference/view-filters.md"};function s(d,e,n,l,c,p){return a(),i("div",null,[...e[0]||(e[0]=[r('<h1 id="view-filters" tabindex="-1">View Filters <a class="header-anchor" href="#view-filters" aria-label="Permalink to &quot;View Filters&quot;"></a></h1><p>View filters define saved lists of notes.</p><h2 id="common-filter-ideas" tabindex="-1">Common Filter Ideas <a class="header-anchor" href="#common-filter-ideas" aria-label="Permalink to &quot;Common Filter Ideas&quot;"></a></h2><table tabindex="0"><thead><tr><th>Goal</th><th>Filter direction</th></tr></thead><tbody><tr><td>Active projects</td><td><code>type</code> is Project and <code>status</code> is Active</td></tr><tr><td>Drafts</td><td><code>type</code> is Article and <code>status</code> is Draft</td></tr><tr><td>People follow-up</td><td><code>type</code> is Person and date is before today</td></tr><tr><td>Recent work</td><td>modified date is within a recent range</td></tr></tbody></table><h2 id="sorting" tabindex="-1">Sorting <a class="header-anchor" href="#sorting" aria-label="Permalink to &quot;Sorting&quot;"></a></h2><p>Useful sorts include:</p><ul><li>Recently modified first.</li><li>Title ascending.</li><li>Status ascending.</li><li>A custom property ascending or descending.</li></ul><h2 id="operators" tabindex="-1">Operators <a class="header-anchor" href="#operators" aria-label="Permalink to &quot;Operators&quot;"></a></h2><p>Saved views can combine filters for text, dates, relationship fields, and frontmatter values. Relative date expressions are useful for views such as notes changed this week or people that need follow-up.</p><p>Regex filters are available for power-user cases. Keep them narrow and test them on a small view first.</p><h2 id="keep-views-focused" tabindex="-1">Keep Views Focused <a class="header-anchor" href="#keep-views-focused" aria-label="Permalink to &quot;Keep Views Focused&quot;"></a></h2><p>A view should answer one recurring question. If it becomes too broad, split it into two views.</p><p>You can also customize view appearance with the same kind of icon and color controls used by types.</p>',13)])])}const u=t(o,[["render",s]]);export{h as __pageData,u as default};

View File

@@ -0,0 +1 @@
import{_ as t,o as a,c as i,a2 as r}from"./chunks/framework.B8zgMDLd.js";const h=JSON.parse('{"title":"View Filters","description":"","frontmatter":{},"headers":[],"relativePath":"reference/view-filters.md","filePath":"reference/view-filters.md"}'),o={name:"reference/view-filters.md"};function s(d,e,n,l,c,p){return a(),i("div",null,[...e[0]||(e[0]=[r("",13)])])}const u=t(o,[["render",s]]);export{h as __pageData,u as default};

View File

@@ -0,0 +1 @@
import{_ as a,o as r,c as l,a2 as s}from"./chunks/framework.B8zgMDLd.js";const f=JSON.parse('{"title":"Releases","description":"","frontmatter":{},"headers":[],"relativePath":"releases/index.md","filePath":"releases/index.md"}'),t={name:"releases/index.md"};function n(o,e,i,h,d,c){return r(),l("div",null,[...e[0]||(e[0]=[s('<h1 id="releases" tabindex="-1">Releases <a class="header-anchor" href="#releases" aria-label="Permalink to &quot;Releases&quot;"></a></h1><p>Tolaria releases are published on GitHub.</p><ul><li><a href="https://github.com/refactoringhq/tolaria/releases/latest" target="_blank" rel="noreferrer">Latest release</a></li><li><a href="https://github.com/refactoringhq/tolaria/releases" target="_blank" rel="noreferrer">All releases</a></li><li><a href="/tolaria/download/">Download page</a></li></ul><h2 id="release-channels" tabindex="-1">Release Channels <a class="header-anchor" href="#release-channels" aria-label="Permalink to &quot;Release Channels&quot;"></a></h2><p>Stable builds are intended for normal use. Pre-release builds may contain newer features and rougher edges.</p><p>Tolaria also has an Alpha channel for builds generated from pushes to <code>main</code>. See <a href="/tolaria/reference/release-channels">Release Channels</a> before switching from Stable.</p><h2 id="before-updating" tabindex="-1">Before Updating <a class="header-anchor" href="#before-updating" aria-label="Permalink to &quot;Before Updating&quot;"></a></h2><p>Commit or push important vault changes before updating the app. Your notes are local files, but having a clean Git state makes recovery easier.</p>',8)])])}const u=a(t,[["render",n]]);export{f as __pageData,u as default};

View File

@@ -0,0 +1 @@
import{_ as a,o as r,c as l,a2 as s}from"./chunks/framework.B8zgMDLd.js";const f=JSON.parse('{"title":"Releases","description":"","frontmatter":{},"headers":[],"relativePath":"releases/index.md","filePath":"releases/index.md"}'),t={name:"releases/index.md"};function n(o,e,i,h,d,c){return r(),l("div",null,[...e[0]||(e[0]=[s("",8)])])}const u=a(t,[["render",n]]);export{f as __pageData,u as default};

View File

@@ -0,0 +1 @@
import{_ as a,o as e,c as o,a2 as r}from"./chunks/framework.B8zgMDLd.js";const p=JSON.parse('{"title":"First Launch","description":"","frontmatter":{},"headers":[],"relativePath":"start/first-launch.md","filePath":"start/first-launch.md"}'),l={name:"start/first-launch.md"};function i(s,t,n,d,c,h){return e(),o("div",null,[...t[0]||(t[0]=[r('<h1 id="first-launch" tabindex="-1">First Launch <a class="header-anchor" href="#first-launch" aria-label="Permalink to &quot;First Launch&quot;"></a></h1><p>The first launch flow is designed to get you into a real vault quickly without hiding the local-first model.</p><h2 id="what-you-choose" tabindex="-1">What You Choose <a class="header-anchor" href="#what-you-choose" aria-label="Permalink to &quot;What You Choose&quot;"></a></h2><p>Tolaria asks whether you want to:</p><ul><li>Create or clone the Getting Started vault.</li><li>Open an existing local vault.</li><li>Create a new empty vault.</li></ul><p>The Getting Started vault is cloned locally and then disconnected from its remote. That keeps the sample safe to edit without accidentally pushing tutorial changes.</p><h2 id="what-tolaria-creates" tabindex="-1">What Tolaria Creates <a class="header-anchor" href="#what-tolaria-creates" aria-label="Permalink to &quot;What Tolaria Creates&quot;"></a></h2><p>Tolaria stores app-level settings on the local machine. Your notes stay in the vault folder you choose.</p><table tabindex="0"><thead><tr><th>Data</th><th>Stored in</th></tr></thead><tbody><tr><td>Notes and attachments</td><td>Your vault folder</td></tr><tr><td>Type definitions and saved views</td><td>Your vault folder</td></tr><tr><td>Window size, zoom, recent vaults</td><td>Local app settings</td></tr><tr><td>Cache data</td><td>Rebuildable local cache</td></tr></tbody></table><h2 id="first-commands-to-try" tabindex="-1">First Commands To Try <a class="header-anchor" href="#first-commands-to-try" aria-label="Permalink to &quot;First Commands To Try&quot;"></a></h2><ul><li><code>Cmd+K</code> / <code>Ctrl+K</code>: open the command palette.</li><li><code>New Note</code>: create a note in the current vault.</li><li><code>Open Getting Started Vault</code>: clone the public sample vault.</li><li><code>Reload Vault</code>: rescan files after external edits.</li></ul><h2 id="ai-setup-prompt" tabindex="-1">AI Setup Prompt <a class="header-anchor" href="#ai-setup-prompt" aria-label="Permalink to &quot;AI Setup Prompt&quot;"></a></h2><p>Tolaria can show an optional AI agents prompt after a vault is open. It checks common local install locations for supported coding agents and gives you setup paths, but you can dismiss it and use Tolaria without AI.</p>',13)])])}const m=a(l,[["render",i]]);export{p as __pageData,m as default};

View File

@@ -0,0 +1 @@
import{_ as a,o as e,c as o,a2 as r}from"./chunks/framework.B8zgMDLd.js";const p=JSON.parse('{"title":"First Launch","description":"","frontmatter":{},"headers":[],"relativePath":"start/first-launch.md","filePath":"start/first-launch.md"}'),l={name:"start/first-launch.md"};function i(s,t,n,d,c,h){return e(),o("div",null,[...t[0]||(t[0]=[r("",13)])])}const m=a(l,[["render",i]]);export{p as __pageData,m as default};

View File

@@ -0,0 +1 @@
import{_ as e,o as a,c as o,a2 as r}from"./chunks/framework.B8zgMDLd.js";const m=JSON.parse('{"title":"Getting Started Vault","description":"","frontmatter":{},"headers":[],"relativePath":"start/getting-started-vault.md","filePath":"start/getting-started-vault.md"}'),i={name:"start/getting-started-vault.md"};function l(n,t,s,d,c,u){return a(),o("div",null,[...t[0]||(t[0]=[r('<h1 id="getting-started-vault" tabindex="-1">Getting Started Vault <a class="header-anchor" href="#getting-started-vault" aria-label="Permalink to &quot;Getting Started Vault&quot;"></a></h1><p>The Getting Started vault is a small public sample vault hosted at <a href="https://github.com/refactoringhq/tolaria-getting-started" target="_blank" rel="noreferrer">refactoringhq/tolaria-getting-started</a>.</p><p>It exists to show Tolaria&#39;s conventions without requiring you to restructure your own notes first.</p><h2 id="what-it-demonstrates" tabindex="-1">What It Demonstrates <a class="header-anchor" href="#what-it-demonstrates" aria-label="Permalink to &quot;What It Demonstrates&quot;"></a></h2><ul><li>Markdown notes with YAML frontmatter.</li><li>Types such as Project, Person, Topic, and Procedure.</li><li>Wikilinks in note bodies.</li><li>Relationship fields in frontmatter.</li><li>A local Git repository that can be connected to a remote later.</li><li>Vault guidance files for AI agents.</li></ul><h2 id="local-only-by-default" tabindex="-1">Local-Only By Default <a class="header-anchor" href="#local-only-by-default" aria-label="Permalink to &quot;Local-Only By Default&quot;"></a></h2><p>When Tolaria clones the sample, it removes the remote from the local copy. This makes the sample vault disposable. You can edit it freely, commit locally, and delete it later.</p><p>To connect a vault to your own remote, use the bottom status bar remote chip or run <code>Add Remote</code> from the command palette.</p><p>Tolaria also repairs starter-vault guidance files when needed. <code>AGENTS.md</code> is the canonical guidance file, <code>CLAUDE.md</code> is kept as a compatibility shim, and <code>GEMINI.md</code> is only created when you explicitly restore Gemini guidance.</p><h2 id="when-to-move-on" tabindex="-1">When To Move On <a class="header-anchor" href="#when-to-move-on" aria-label="Permalink to &quot;When To Move On&quot;"></a></h2><p>After you understand the sample, open your own vault. Tolaria does not require a special folder structure: a folder of Markdown files is enough to start.</p>',11)])])}const p=e(i,[["render",l]]);export{m as __pageData,p as default};

View File

@@ -0,0 +1 @@
import{_ as e,o as a,c as o,a2 as r}from"./chunks/framework.B8zgMDLd.js";const m=JSON.parse('{"title":"Getting Started Vault","description":"","frontmatter":{},"headers":[],"relativePath":"start/getting-started-vault.md","filePath":"start/getting-started-vault.md"}'),i={name:"start/getting-started-vault.md"};function l(n,t,s,d,c,u){return a(),o("div",null,[...t[0]||(t[0]=[r("",11)])])}const p=e(i,[["render",l]]);export{m as __pageData,p as default};

View File

@@ -0,0 +1 @@
import{_ as t,o as e,c as l,a2 as i}from"./chunks/framework.B8zgMDLd.js";const c=JSON.parse('{"title":"Install Tolaria","description":"","frontmatter":{},"headers":[],"relativePath":"start/install.md","filePath":"start/install.md"}'),s={name:"start/install.md"};function r(o,a,n,d,h,p){return e(),l("div",null,[...a[0]||(a[0]=[i('<h1 id="install-tolaria" tabindex="-1">Install Tolaria <a class="header-anchor" href="#install-tolaria" aria-label="Permalink to &quot;Install Tolaria&quot;"></a></h1><p>Tolaria publishes desktop builds for macOS, Windows, and Linux. macOS is the primary day-to-day development target, with Windows and Linux builds supported through the release pipeline and fixed as platform issues are found.</p><h2 id="download" tabindex="-1">Download <a class="header-anchor" href="#download" aria-label="Permalink to &quot;Download&quot;"></a></h2><p>Use the latest stable release unless you are intentionally testing pre-release builds:</p><ul><li><a href="https://refactoringhq.github.io/tolaria/download/" target="_blank" rel="noreferrer">Download the latest stable build</a></li><li><a href="https://github.com/refactoringhq/tolaria/releases" target="_blank" rel="noreferrer">Browse all GitHub releases</a></li><li><a href="/tolaria/releases/">Read the release notes</a></li></ul><h2 id="homebrew" tabindex="-1">Homebrew <a class="header-anchor" href="#homebrew" aria-label="Permalink to &quot;Homebrew&quot;"></a></h2><p>On macOS you can install the cask:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">brew</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --cask</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> tolaria</span></span></code></pre></div><h2 id="platform-status" tabindex="-1">Platform Status <a class="header-anchor" href="#platform-status" aria-label="Permalink to &quot;Platform Status&quot;"></a></h2><table tabindex="0"><thead><tr><th>Platform</th><th>Status</th><th>Notes</th></tr></thead><tbody><tr><td>macOS</td><td>Primary</td><td>Apple Silicon and Intel builds are published. Homebrew is available.</td></tr><tr><td>Windows</td><td>Supported, early</td><td>NSIS installers and signed updater bundles are published. Some shell and menu behavior can still need Windows-specific fixes.</td></tr><tr><td>Linux</td><td>Supported, early</td><td>AppImage and deb artifacts are published. Desktop behavior depends on distribution WebKitGTK and input-method integration.</td></tr></tbody></table><p>See <a href="/tolaria/reference/supported-platforms">Supported Platforms</a> for the current support policy.</p><h2 id="after-installing" tabindex="-1">After Installing <a class="header-anchor" href="#after-installing" aria-label="Permalink to &quot;After Installing&quot;"></a></h2><ol><li>Open Tolaria.</li><li>Choose the Getting Started vault if you want a guided sample.</li><li>Or open an existing folder of Markdown files as a vault.</li><li>Use the command palette with <code>Cmd+K</code> on macOS or <code>Ctrl+K</code> on Linux and Windows.</li></ol>',13)])])}const b=t(s,[["render",r]]);export{c as __pageData,b as default};

View File

@@ -0,0 +1 @@
import{_ as t,o as e,c as l,a2 as i}from"./chunks/framework.B8zgMDLd.js";const c=JSON.parse('{"title":"Install Tolaria","description":"","frontmatter":{},"headers":[],"relativePath":"start/install.md","filePath":"start/install.md"}'),s={name:"start/install.md"};function r(o,a,n,d,h,p){return e(),l("div",null,[...a[0]||(a[0]=[i("",13)])])}const b=t(s,[["render",r]]);export{c as __pageData,b as default};

View File

@@ -0,0 +1 @@
import{_ as a,o as t,c as o,a2 as r}from"./chunks/framework.B8zgMDLd.js";const h=JSON.parse('{"title":"Open Or Create A Vault","description":"","frontmatter":{},"headers":[],"relativePath":"start/open-or-create-vault.md","filePath":"start/open-or-create-vault.md"}'),n={name:"start/open-or-create-vault.md"};function i(l,e,s,d,p,c){return t(),o("div",null,[...e[0]||(e[0]=[r('<h1 id="open-or-create-a-vault" tabindex="-1">Open Or Create A Vault <a class="header-anchor" href="#open-or-create-a-vault" aria-label="Permalink to &quot;Open Or Create A Vault&quot;"></a></h1><p>A Tolaria vault is a folder on disk. The folder can contain Markdown notes, attachments, type definitions, saved views, and Git metadata.</p><h2 id="open-an-existing-folder" tabindex="-1">Open An Existing Folder <a class="header-anchor" href="#open-an-existing-folder" aria-label="Permalink to &quot;Open An Existing Folder&quot;"></a></h2><p>Choose an existing folder if you already have Markdown notes. Tolaria scans <code>.md</code> files and uses frontmatter when it exists.</p><p>Good starting points:</p><ul><li>A folder of plain Markdown files.</li><li>An Obsidian-style vault.</li><li>A Git repository containing notes.</li><li>A copy of the Getting Started vault.</li></ul><h2 id="create-a-new-vault" tabindex="-1">Create A New Vault <a class="header-anchor" href="#create-a-new-vault" aria-label="Permalink to &quot;Create A New Vault&quot;"></a></h2><p>Choose a new empty folder if you want Tolaria conventions from the start. New notes and optional type definitions are created as Markdown files.</p><h2 id="git-is-recommended-not-required" tabindex="-1">Git Is Recommended, Not Required <a class="header-anchor" href="#git-is-recommended-not-required" aria-label="Permalink to &quot;Git Is Recommended, Not Required&quot;"></a></h2><p>Tolaria works well with a plain folder of Markdown files. You can open, edit, organize, and search notes without making the vault a Git repository.</p><p>Git is recommended when you want local history, diff views, recovery, pull, push, and remote sync without a proprietary backend. If a vault is not already a repository, Tolaria can initialize one when you explicitly ask it to.</p>',11)])])}const f=a(n,[["render",i]]);export{h as __pageData,f as default};

View File

@@ -0,0 +1 @@
import{_ as a,o as t,c as o,a2 as r}from"./chunks/framework.B8zgMDLd.js";const h=JSON.parse('{"title":"Open Or Create A Vault","description":"","frontmatter":{},"headers":[],"relativePath":"start/open-or-create-vault.md","filePath":"start/open-or-create-vault.md"}'),n={name:"start/open-or-create-vault.md"};function i(l,e,s,d,p,c){return t(),o("div",null,[...e[0]||(e[0]=[r("",11)])])}const f=a(n,[["render",i]]);export{h as __pageData,f as default};

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
import{_ as e,o as t,c as o,a2 as n}from"./chunks/framework.B8zgMDLd.js";const u=JSON.parse('{"title":"AI Agent Not Found","description":"","frontmatter":{},"headers":[],"relativePath":"troubleshooting/ai-agent-not-found.md","filePath":"troubleshooting/ai-agent-not-found.md"}'),s={name:"troubleshooting/ai-agent-not-found.md"};function i(l,a,r,h,d,c){return t(),o("div",null,[...a[0]||(a[0]=[n('<h1 id="ai-agent-not-found" tabindex="-1">AI Agent Not Found <a class="header-anchor" href="#ai-agent-not-found" aria-label="Permalink to &quot;AI Agent Not Found&quot;"></a></h1><p>Tolaria can only launch local CLI agents that are installed and discoverable.</p><h2 id="symptoms" tabindex="-1">Symptoms <a class="header-anchor" href="#symptoms" aria-label="Permalink to &quot;Symptoms&quot;"></a></h2><ul><li>The AI panel says no supported agent is available.</li><li>Claude Code or another agent works in one shell but not in Tolaria.</li></ul><h2 id="checks" tabindex="-1">Checks <a class="header-anchor" href="#checks" aria-label="Permalink to &quot;Checks&quot;"></a></h2><p>Open a terminal and run the agent command directly. For Claude Code:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">claude</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --version</span></span></code></pre></div><p>If the command fails, install or repair the agent first.</p><h2 id="path-issues" tabindex="-1">Path Issues <a class="header-anchor" href="#path-issues" aria-label="Permalink to &quot;Path Issues&quot;"></a></h2><p>Desktop apps can inherit a different <code>PATH</code> from your interactive shell. Tolaria checks common install locations, but shell setup can still vary. Prefer installing CLI tools in standard locations or making them available from your login shell.</p>',10)])])}const m=e(s,[["render",i]]);export{u as __pageData,m as default};

Some files were not shown because too many files have changed in this diff Show More