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