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