[{"data":1,"prerenderedAt":859},["ShallowReactive",2],{"docs-\u002Fdocs\u002Farchitecture":3,"docs-nav":115},{"id":4,"title":5,"body":6,"description":104,"extension":105,"group":106,"icon":107,"meta":108,"navTitle":5,"navigation":109,"order":110,"path":111,"seo":112,"stem":113,"__hash__":114},"docs\u002Fdocs\u002Farchitecture.md","Architecture",{"type":7,"value":8,"toc":97},"minimark",[9,13,18,21,44,48,57,68,72,90,94],[10,11,12],"p",{},"Plexus is a Tauri desktop app: a Rust core for git and process management, a Vue 3 front end for the UI. It's deliberately thin — fast to start, light on memory, and entirely on your machine.",[14,15,17],"h2",{"id":16},"the-big-picture","The big picture",[10,19,20],{},"The app is a three-pane orchestration shell: a project tree on the left, session tabs in the center, and an optional AI-summary sidebar on the right, plus a global dashboard across everything.",[22,23,24,32,38],"ul",{},[25,26,27,31],"li",{},[28,29,30],"strong",{},"Core (Rust \u002F Tauri)"," — owns git operations, worktree lifecycle, and agent processes.",[25,33,34,37],{},[28,35,36],{},"UI (Vue 3 + Vite)"," — renders state and dispatches commands; never touches your repo directly.",[25,39,40,43],{},[28,41,42],{},"Agents"," — each runs as a child process scoped to its worktree.",[14,45,47],{"id":46},"worktrees","Worktrees",[10,49,50,51,56],{},"A session maps one-to-one to a ",[52,53,55],"a",{"href":54},"\u002Fdocs\u002Fsessions","git worktree",". This is what makes safe parallelism possible: agents edit independent checkouts of the same repo, so their changes never collide until you choose to integrate them.",[58,59,65],"pre",{"className":60,"code":62,"language":63,"meta":64},[61],"language-bash","# what Plexus does under the hood, roughly:\ngit worktree add .plexus\u002Fwt\u002Ffix-auth-redirect -b fix\u002Fauth-redirect\n# → agent runs here, isolated from your main tree\n","bash","",[66,67,62],"code",{"__ignoreMap":64},[14,69,71],{"id":70},"the-shell","The shell",[10,73,74,75,78,79,78,82,85,86,89],{},"Session views are split into tabs — ",[28,76,77],{},"Agent",", ",[28,80,81],{},"Review",[28,83,84],{},"Explorer",", and ",[28,87,88],{},"Git",". Fixed-height chrome (40px title bar, 28px rows) and resizable, persisted panes keep the layout dense and predictable.",[14,91,93],{"id":92},"local-first","Local-first",[10,95,96],{},"There is no Plexus server. Everything — repos, keys, agent output — stays on your device. That's a deliberate privacy stance, and it's why the app stays fast.",{"title":64,"searchDepth":98,"depth":98,"links":99},2,[100,101,102,103],{"id":16,"depth":98,"text":17},{"id":46,"depth":98,"text":47},{"id":70,"depth":98,"text":71},{"id":92,"depth":98,"text":93},"How Plexus is built — a thin Tauri desktop app, local-first by design.","md","Overview","Boxes",{},true,3,"\u002Fdocs\u002Farchitecture",{"title":5,"description":104},"docs\u002Farchitecture","hNhSBstTdPbA-qAbwRQjgUxC6EJLx0_vewkZB3SAc98",[116,234,358,416,496,571,642,698,762],{"id":117,"title":118,"body":119,"description":226,"extension":105,"group":106,"icon":227,"meta":228,"navTitle":118,"navigation":109,"order":229,"path":230,"seo":231,"stem":232,"__hash__":233},"docs\u002Fdocs\u002Findex.md","Introduction",{"type":7,"value":120,"toc":220},[121,127,131,134,140,144,164,168,171,191,205,209],[10,122,123,126],{},[28,124,125],{},"Plexus"," is an agent orchestration platform for managing coding CLIs like Claude Code. It gives you a single desktop control plane to launch, monitor, and coordinate agents across every project and branch.",[14,128,130],{"id":129},"what-is-plexus","What is Plexus",[10,132,133],{},"Modern development increasingly means running multiple coding agents at once — across projects, branches, and tasks. Instead of juggling a dozen terminal tabs, Plexus surfaces live activity, diffs, review, and pull-request state for everything in flight, in one fast native window.",[10,135,136,137,139],{},"Each session is its own ",[28,138,55],{}," running an agent, so work stays isolated and parallel. Plexus is local-first: your code and credentials never leave your machine.",[14,141,143],{"id":142},"why-orchestration","Why orchestration",[22,145,146,152,158],{},[25,147,148,151],{},[28,149,150],{},"Parallelism without chaos"," — fan work out to several agents and keep every run tracked.",[25,153,154,157],{},[28,155,156],{},"One source of truth"," — status, logs, and diffs for all sessions at a glance.",[25,159,160,163],{},[28,161,162],{},"The full git loop"," — review, rebase, squash, merge, and open PRs without leaving the app.",[14,165,167],{"id":166},"core-concepts","Core concepts",[10,169,170],{},"Plexus organizes everything into a simple hierarchy:",[22,172,173,179,185],{},[25,174,175,178],{},[28,176,177],{},"Workspace"," — a collection of projects you group together.",[25,180,181,184],{},[28,182,183],{},"Project"," — a local git repository you've added to Plexus.",[25,186,187,190],{},[28,188,189],{},"Session"," — an agent running in its own worktree on its own branch.",[10,192,193,194,78,197,200,201,204],{},"Activity is communicated by colored status dots — ",[28,195,196],{},"working",[28,198,199],{},"waiting",", or ",[28,202,203],{},"idle"," — and PR status reuses the branch glyph, tinted for open or merged.",[14,206,208],{"id":207},"where-to-next","Where to next",[10,210,211,212,216,217,219],{},"Install Plexus and spin up your first session in ",[52,213,215],{"href":214},"\u002Fdocs\u002Fgetting-started","Getting started",", or read how it's all wired together in ",[52,218,5],{"href":111},".",{"title":64,"searchDepth":98,"depth":98,"links":221},[222,223,224,225],{"id":129,"depth":98,"text":130},{"id":142,"depth":98,"text":143},{"id":166,"depth":98,"text":167},{"id":207,"depth":98,"text":208},"What Plexus is and why it exists.","BookOpen",{},1,"\u002Fdocs",{"title":118,"description":226},"docs\u002Findex","nbi4V79q9ZlbuonNVpJk3tSGyQfhOAz0PcROY_9nhXs",{"id":235,"title":215,"body":236,"description":352,"extension":105,"group":106,"icon":353,"meta":354,"navTitle":215,"navigation":109,"order":98,"path":214,"seo":355,"stem":356,"__hash__":357},"docs\u002Fdocs\u002Fgetting-started.md",{"type":7,"value":237,"toc":345},[238,241,245,253,259,266,270,277,288,292,299,305,309,320,325,329],[10,239,240],{},"Install Plexus, add a repository, and run your first agent session in under a minute.",[14,242,244],{"id":243},"install","Install",[10,246,247,248,252],{},"Download the build for your platform from the ",[52,249,251],{"href":250},"\u002F","home page",", or grab the latest release directly:",[58,254,257],{"className":255,"code":256,"language":63,"meta":64},[61],"# macOS (Homebrew)\nbrew install --cask plexus\n\n# Linux (.deb)\nsudo dpkg -i plexus_amd64.deb\n",[66,258,256],{"__ignoreMap":64},[10,260,261,262,265],{},"Windows builds ship as a signed ",[66,263,264],{},".msi"," installer. All artifacts are published on the GitHub releases page.",[14,267,269],{"id":268},"first-launch","First launch",[10,271,272,273,276],{},"On first run, Plexus checks that the agent CLI is available on your ",[66,274,275],{},"PATH",". If it isn't, you'll see an actionable prompt:",[278,279,281],"callout",{"tone":280},"warn",[10,282,283,284,287],{},"Claude Code CLI not found on PATH. Install the ",[66,285,286],{},"claude"," command, then restart Plexus.",[14,289,291],{"id":290},"add-a-project","Add a project",[10,293,294,295,298],{},"Click ",[28,296,297],{},"Add repository"," in the tree, or use the command palette. Point Plexus at any local git repo — no daemon, no server-side config.",[58,300,303],{"className":301,"code":302,"language":63,"meta":64},[61],"# the repo just needs to be a normal git checkout\ngit clone https:\u002F\u002Fgithub.com\u002Fyou\u002Fyour-app.git\n# then \"Add repository\" → select the folder\n",[66,304,302],{"__ignoreMap":64},[14,306,308],{"id":307},"start-a-session","Start a session",[10,310,311,312,315,316,319],{},"With a project selected, hit ",[66,313,314],{},"⌘N"," for ",[28,317,318],{},"New session",". Plexus creates a worktree, checks out a fresh branch, and launches the agent. Type your task into the Agent tab and watch it work.",[278,321,322],{},[10,323,324],{},"Each session is fully isolated — running three in parallel won't touch your main working tree.",[14,326,328],{"id":327},"requirements","Requirements",[22,330,331,334,340],{},[25,332,333],{},"macOS 12+, Windows 10+, or a modern Linux distribution",[25,335,336,339],{},[66,337,338],{},"git"," 2.30+ with worktree support",[25,341,342,343],{},"A supported agent CLI (e.g. Claude Code) on your ",[66,344,275],{},{"title":64,"searchDepth":98,"depth":98,"links":346},[347,348,349,350,351],{"id":243,"depth":98,"text":244},{"id":268,"depth":98,"text":269},{"id":290,"depth":98,"text":291},{"id":307,"depth":98,"text":308},{"id":327,"depth":98,"text":328},"Install Plexus, add a repository, and run your first agent session.","Rocket",{},{"title":215,"description":352},"docs\u002Fgetting-started","N5TalsyBzELqeO9vp0fZuR83Pb6I70m5KIxF4ael5jY",{"id":4,"title":5,"body":359,"description":104,"extension":105,"group":106,"icon":107,"meta":414,"navTitle":5,"navigation":109,"order":110,"path":111,"seo":415,"stem":113,"__hash__":114},{"type":7,"value":360,"toc":408},[361,363,365,367,381,383,387,392,394,404,406],[10,362,12],{},[14,364,17],{"id":16},[10,366,20],{},[22,368,369,373,377],{},[25,370,371,31],{},[28,372,30],{},[25,374,375,37],{},[28,376,36],{},[25,378,379,43],{},[28,380,42],{},[14,382,47],{"id":46},[10,384,50,385,56],{},[52,386,55],{"href":54},[58,388,390],{"className":389,"code":62,"language":63,"meta":64},[61],[66,391,62],{"__ignoreMap":64},[14,393,71],{"id":70},[10,395,74,396,78,398,78,400,85,402,89],{},[28,397,77],{},[28,399,81],{},[28,401,84],{},[28,403,88],{},[14,405,93],{"id":92},[10,407,96],{},{"title":64,"searchDepth":98,"depth":98,"links":409},[410,411,412,413],{"id":16,"depth":98,"text":17},{"id":46,"depth":98,"text":47},{"id":70,"depth":98,"text":71},{"id":92,"depth":98,"text":93},{},{"title":5,"description":104},{"id":417,"title":418,"body":419,"description":488,"extension":105,"group":489,"icon":490,"meta":491,"navTitle":418,"navigation":109,"order":492,"path":54,"seo":493,"stem":494,"__hash__":495},"docs\u002Fdocs\u002Fsessions.md","Sessions & worktrees",{"type":7,"value":420,"toc":482},[421,424,428,431,435,439,443,446,466,475,479],[10,422,423],{},"A session is a single agent running in its own git worktree on its own branch — the atomic unit of work in Plexus.",[14,425,427],{"id":426},"what-a-session-is","What a session is",[10,429,430],{},"When you start a session, Plexus creates a worktree, checks out a new branch, and launches an agent inside it. The session owns that branch for its lifetime. You can have many sessions per project, each working independently.",[14,432,434],{"id":433},"lifecycle","Lifecycle",[436,437],"key-table",{":rows":438},"[[\"Start\",\"Create the worktree and launch the agent on a fresh branch.\"],[\"Resume\",\"Reattach to a paused session and continue where it left off.\"],[\"Stop\",\"Halt the agent but keep the worktree and its changes.\"],[\"Archive\",\"Remove the worktree once the work has merged or been discarded.\"]]",[14,440,442],{"id":441},"activity-states","Activity states",[10,444,445],{},"Every session shows a colored status dot so you always know what needs you:",[22,447,448,454,460],{},[25,449,450,453],{},[28,451,452],{},"Working"," — emerald, with a live pulse. The agent is actively running.",[25,455,456,459],{},[28,457,458],{},"Waiting"," — amber. The agent needs your input or approval.",[25,461,462,465],{},[28,463,464],{},"Idle"," — muted gray. Nothing in flight.",[278,467,468],{},[10,469,470,471,474],{},"Sort the dashboard by ",[28,472,473],{},"Needs input first"," to surface every waiting session at the top.",[14,476,478],{"id":477},"running-in-parallel","Running in parallel",[10,480,481],{},"Because each session is its own worktree, parallelism is safe by construction. Kick off a refactor in one, a bug fix in another, and a docs pass in a third — none of them can step on each other's files.",{"title":64,"searchDepth":98,"depth":98,"links":483},[484,485,486,487],{"id":426,"depth":98,"text":427},{"id":433,"depth":98,"text":434},{"id":441,"depth":98,"text":442},{"id":477,"depth":98,"text":478},"A session is a single agent running in its own git worktree on its own branch.","Working with agents","Bot",{},4,{"title":418,"description":488},"docs\u002Fsessions","ndcYMXe0sIO-5yovjxPna7p2ZVWWlESSEZ0Pk51o8k0",{"id":497,"title":498,"body":499,"description":563,"extension":105,"group":489,"icon":564,"meta":565,"navTitle":498,"navigation":109,"order":566,"path":567,"seo":568,"stem":569,"__hash__":570},"docs\u002Fdocs\u002Freview.md","Review & diffs",{"type":7,"value":500,"toc":557},[501,504,508,518,522,525,533,537,540,545,549],[10,502,503],{},"Before anything merges, you review it. The Review tab shows exactly what an agent changed and lets you iterate without dropping to a terminal.",[14,505,507],{"id":506},"the-review-tab","The Review tab",[10,509,510,511,513,514,517],{},"Each session's ",[28,512,81],{}," tab lists changed files with diff stats — ",[66,515,516],{},"+128 −34"," in monospace with tabular numerals — and renders a side-by-side or unified diff for each.",[14,519,521],{"id":520},"reading-diffs","Reading diffs",[10,523,524],{},"Additions are tinted emerald, deletions red. File-level summaries roll up the totals so you can scan the shape of a change before opening any single file.",[58,526,531],{"className":527,"code":529,"language":530,"meta":64},[528],"language-diff","  src\u002Flib\u002Fapi.ts        +12  -4\n  src\u002Frouter\u002Fguards.ts   +6  -2\n- const returnTo = url.searchParams.get('returnTo')\n+ const returnTo = sanitizeReturnTo(url.searchParams.get('returnTo'))\n","diff",[66,532,529],{"__ignoreMap":64},[14,534,536],{"id":535},"review-and-fix","Review-and-fix",[10,538,539],{},"Spotted something off? Send the agent a follow-up right from the Review tab. It edits in place, the diff updates, and you review again — a tight loop that keeps you in control without micromanaging.",[278,541,542],{},[10,543,544],{},"The review-and-fix cycle is the heart of working with Plexus: read, nudge, re-read, ship.",[14,546,548],{"id":547},"approving-changes","Approving changes",[10,550,551,552,556],{},"Once a diff looks right, move straight to the ",[52,553,555],{"href":554},"\u002Fdocs\u002Fgit","git workflow"," — rebase, squash, merge, or open a PR — without leaving the session.",{"title":64,"searchDepth":98,"depth":98,"links":558},[559,560,561,562],{"id":506,"depth":98,"text":507},{"id":520,"depth":98,"text":521},{"id":535,"depth":98,"text":536},{"id":547,"depth":98,"text":548},"The Review tab shows exactly what an agent changed and lets you iterate.","GitPullRequestArrow",{},5,"\u002Fdocs\u002Freview",{"title":498,"description":563},"docs\u002Freview","ePXxlyQtsqvfMm8oFFePKfkPymf1JcVZ74ZYxcAmK_U",{"id":572,"title":573,"body":574,"description":635,"extension":105,"group":489,"icon":636,"meta":637,"navTitle":573,"navigation":109,"order":638,"path":554,"seo":639,"stem":640,"__hash__":641},"docs\u002Fdocs\u002Fgit.md","Git workflow",{"type":7,"value":575,"toc":629},[576,579,583,589,593,596,600,607,613,617,620],[10,577,578],{},"Plexus speaks worktrees natively, so the whole git workflow lives one keystroke away — no context switch to a separate client.",[14,580,582],{"id":581},"git-built-in","Git, built in",[10,584,585,586,588],{},"The ",[28,587,88],{}," tab exposes the operations you'd reach for in the terminal, scoped to the session's branch. Everything is reversible and clearly labeled.",[14,590,592],{"id":591},"operations","Operations",[436,594],{":rows":595},"[[\"Rebase\",\"Replay the session branch onto the latest base branch.\"],[\"Squash\",\"Collapse the session's commits into one clean commit.\"],[\"Merge\",\"Integrate the branch into its base.\"],[\"Create PR\",\"Push and open a pull request against the base branch.\"]]",[14,597,599],{"id":598},"opening-a-pr","Opening a PR",[10,601,602,603,606],{},"Hit ",[28,604,605],{},"Create PR"," and Plexus pushes the branch and opens the pull request. The session's PR status updates live — the branch glyph turns emerald for open, purple once merged.",[58,608,611],{"className":609,"code":610,"language":63,"meta":64},[61],"$ plexus pr create\n● opened #128 against main\n  https:\u002F\u002Fgithub.com\u002Fyou\u002Fyour-app\u002Fpull\u002F128\n",[66,612,610],{"__ignoreMap":64},[14,614,616],{"id":615},"resolving-conflicts","Resolving conflicts",[10,618,619],{},"If a rebase hits conflicts, Plexus tells you exactly where:",[278,621,622],{"tone":280},[10,623,624,625,628],{},"Could not rebase — conflicts in ",[66,626,627],{},"src\u002Flib\u002Fapi.ts",". Resolve them in the Explorer tab, then continue.",{"title":64,"searchDepth":98,"depth":98,"links":630},[631,632,633,634],{"id":581,"depth":98,"text":582},{"id":591,"depth":98,"text":592},{"id":598,"depth":98,"text":599},{"id":615,"depth":98,"text":616},"Plexus speaks worktrees natively, so the whole git workflow lives one keystroke away.","GitMerge",{},6,{"title":573,"description":635},"docs\u002Fgit","-840C8uwjQJDW_XjyO_mxAITPMdJWm4AoI4glHHp4gE",{"id":643,"title":644,"body":645,"description":689,"extension":105,"group":690,"icon":691,"meta":692,"navTitle":644,"navigation":109,"order":693,"path":694,"seo":695,"stem":696,"__hash__":697},"docs\u002Fdocs\u002Fdashboard.md","Dashboard",{"type":7,"value":646,"toc":684},[647,650,654,657,661,667,672,676],[10,648,649],{},"The dashboard is the bird's-eye view: every project and session across all workspaces in one sortable list.",[14,651,653],{"id":652},"the-global-view","The global view",[10,655,656],{},"Open the dashboard from the title bar (Dashboard) to see counts of working, waiting, and idle sessions, plus open and merged PRs at a glance.",[14,658,660],{"id":659},"sorting-filtering","Sorting & filtering",[10,662,663,664,666],{},"Sort by activity to keep the busiest work up top, or by name for a stable list. The most useful sort is ",[28,665,473],{},", which floats every waiting session to the top so nothing stalls on you.",[278,668,669],{},[10,670,671],{},"Counts use tabular numerals so the numbers never jitter as state changes.",[14,673,675],{"id":674},"jumping-to-work","Jumping to work",[10,677,678,679,683],{},"Click any row to jump straight into that session's view. Combined with the ",[52,680,682],{"href":681},"\u002Fdocs\u002Fshortcuts","command palette",", you can reach any agent in two keystrokes.",{"title":64,"searchDepth":98,"depth":98,"links":685},[686,687,688],{"id":652,"depth":98,"text":653},{"id":659,"depth":98,"text":660},{"id":674,"depth":98,"text":675},"The bird's-eye view — every project and session across all workspaces.","Reference","LayoutGrid",{},7,"\u002Fdocs\u002Fdashboard",{"title":644,"description":689},"docs\u002Fdashboard","iTrfBtzzgQv2ERu7koRoPlvw_c31HcfTz-H8U59wxAk",{"id":699,"title":700,"body":701,"description":755,"extension":105,"group":690,"icon":756,"meta":757,"navTitle":700,"navigation":109,"order":758,"path":681,"seo":759,"stem":760,"__hash__":761},"docs\u002Fdocs\u002Fshortcuts.md","Keyboard shortcuts",{"type":7,"value":702,"toc":749},[703,706,710,717,721,724,728,731,733,736],[10,704,705],{},"Plexus is keyboard-driven. Almost every action has a shortcut, and the command palette can reach the rest.",[14,707,709],{"id":708},"command-palette","Command palette",[10,711,712,713,716],{},"Press ",[66,714,715],{},"⌘K"," to open the palette. Type to fuzzy-find any project, session, or action and run it without lifting your hands from the keyboard.",[14,718,720],{"id":719},"global","Global",[436,722],{":rows":723},"[[\"⌘K\",\"Open the command palette\"],[\"⌘N\",\"New session\"],[\"⌘D\",\"Go to dashboard\"],[\"⌘,\",\"Open settings\"],[\"⌘\\\\\",\"Toggle the summary sidebar\"]]",[14,725,727],{"id":726},"within-a-session","Within a session",[436,729],{":rows":730},"[[\"⌘1–4\",\"Switch between Agent \u002F Review \u002F Explorer \u002F Git\"],[\"⌘J\",\"Toggle the terminal\"],[\"⌘Enter\",\"Send the current message to the agent\"],[\"⌘R\",\"Resume a paused session\"]]",[14,732,88],{"id":338},[436,734],{":rows":735},"[[\"⌘⇧M\",\"Merge the session branch\"],[\"⌘⇧P\",\"Create a pull request\"],[\"⌘⇧R\",\"Rebase onto the base branch\"]]",[278,737,738],{},[10,739,740,741,744,745,748],{},"Shortcuts respect your platform — ",[66,742,743],{},"⌘"," on macOS maps to ",[66,746,747],{},"Ctrl"," on Windows and Linux.",{"title":64,"searchDepth":98,"depth":98,"links":750},[751,752,753,754],{"id":708,"depth":98,"text":709},{"id":719,"depth":98,"text":720},{"id":726,"depth":98,"text":727},{"id":338,"depth":98,"text":88},"Plexus is keyboard-driven — almost every action has a shortcut.","Keyboard",{},8,{"title":700,"description":755},"docs\u002Fshortcuts","RsvrNekIlociUxDIhM0axogLI_tcBG4qiUOlNuSaw64",{"id":763,"title":764,"body":765,"description":852,"extension":105,"group":690,"icon":773,"meta":853,"navTitle":764,"navigation":109,"order":854,"path":855,"seo":856,"stem":857,"__hash__":858},"docs\u002Fdocs\u002Fconfiguration.md","Configuration & hooks",{"type":7,"value":766,"toc":846},[767,770,774,781,785,792,800,804,815,823,834,839,843],[10,768,769],{},"Plexus works with zero configuration, but a few settings and hooks let you tailor it to your workflow.",[14,771,773],{"id":772},"settings","Settings",[10,775,776,777,780],{},"Open settings with ",[66,778,779],{},"⌘,",". Configure your default agent, base branch naming, worktree location, and the icon\u002Ftheme preferences.",[14,782,784],{"id":783},"project-config","Project config",[10,786,787,788,791],{},"Drop a ",[66,789,790],{},".plexus.toml"," at a repo root to set per-project defaults:",[58,793,798],{"className":794,"code":796,"language":797,"meta":64},[795],"language-toml","[session]\nagent = \"claude-code\"\nbase_branch = \"main\"\nbranch_prefix = \"agent\u002F\"\n\n[worktrees]\ndir = \".plexus\u002Fwt\"\n","toml",[66,799,796],{"__ignoreMap":64},[14,801,803],{"id":802},"hooks","Hooks",[10,805,806,807,810,811,814],{},"Hooks run shell commands around a worktree's lifecycle — setup, run, and teardown. Use them to install dependencies when a worktree is created, prepare the environment before the agent runs, or clean up when it's removed. Edit them in ",[66,808,809],{},".plexus\u002Fhooks.json",", or set them up visually in ",[28,812,813],{},"Settings → Hooks"," with no file editing.",[58,816,821],{"className":817,"code":819,"language":820,"meta":64},[818],"language-json","{\n  \"create\": \"pnpm install\",\n  \"run\": \"cp .env.example .env\",\n  \"teardown\": \"docker compose down\"\n}\n","json",[66,822,819],{"__ignoreMap":64},[278,824,825],{},[10,826,827,828,830,831,833],{},"Every hook you add in ",[28,829,813],{}," is written straight to ",[66,832,809],{}," — the UI and the file are always in sync.",[278,835,836],{"tone":280},[10,837,838],{},"Hooks run on your machine with your permissions. Only enable hooks for repositories you trust.",[14,840,842],{"id":841},"theme","Theme",[10,844,845],{},"Plexus ships light and dark as equal peers and follows your system preference by default. Toggle it from the title bar or with the theme switch in settings — the same control you'll find in the top-right of this site.",{"title":64,"searchDepth":98,"depth":98,"links":847},[848,849,850,851],{"id":772,"depth":98,"text":773},{"id":783,"depth":98,"text":784},{"id":802,"depth":98,"text":803},{"id":841,"depth":98,"text":842},"A few settings and hooks let you tailor Plexus to your workflow.",{},9,"\u002Fdocs\u002Fconfiguration",{"title":764,"description":852},"docs\u002Fconfiguration","cTouykLGByPHMaTfI533DrH05BKKwc4Ukw9bD41JFd8",1782485240133]