Documentation
¶
Overview ¶
Package bothy carries the data files compiled into the binary.
Templates and profiles are embedded rather than installed alongside the binary so that `bothy` is genuinely one file: there is no data directory to keep in sync, and no way for a partially-copied install to produce a partially-configured workspace.
This lives at the repository root because go:embed can only reach downwards from the package that declares it.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var Profiles embed.FS
Profiles holds the shipped layout profiles.
var Slots embed.FS
Slots holds the declarative tool and provider definitions. A tool bothy can supply is a file in here and nothing else — see docs/adding-a-provider.md.
var Templates embed.FS
Templates holds every config template, keyed by its path under templates/.
Functions ¶
Types ¶
This section is empty.
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
bothy
command
Command bothy sets up and launches a terminal workspace.
|
Command bothy sets up and launches a terminal workspace. |
|
internal
|
|
|
advice
Package advice holds install instructions for what bothy will not install itself: Ghostty, which ships no binaries and needs root; the agent, whose credentials are not bothy's business; and editors, which are personal.
|
Package advice holds install instructions for what bothy will not install itself: Ghostty, which ships no binaries and needs root; the agent, whose credentials are not bothy's business; and editors, which are personal. |
|
config
Package config is the user's answer to "what should my workspace be": slot choices, theme, and the machine-specific values such as container name and project directory.
|
Package config is the user's answer to "what should my workspace be": slot choices, theme, and the machine-specific values such as container name and project directory. |
|
confine
Package confine runs the agent pane inside a container.
|
Package confine runs the agent pane inside a container. |
|
doctor
Package doctor detects the ways this workspace is known to break.
|
Package doctor detects the ways this workspace is known to break. |
|
fetch
Package fetch downloads pinned release binaries and unpacks them.
|
Package fetch downloads pinned release binaries and unpacks them. |
|
install
Package install renders bothy's config tree.
|
Package install renders bothy's config tree. |
|
layout
Package layout turns a profile into a Zellij layout.
|
Package layout turns a profile into a Zellij layout. |
|
mux
Package mux arranges the workspace.
|
Package mux arranges the workspace. |
|
platform
Package platform detects everything about the machine that changes what bothy installs or writes.
|
Package platform detects everything about the machine that changes what bothy installs or writes. |
|
probe
Package probe answers questions about the running environment that cannot be decided from configuration alone.
|
Package probe answers questions about the running environment that cannot be decided from configuration alone. |
|
render
Package render turns templates into the config files bothy launches its tools against.
|
Package render turns templates into the config files bothy launches its tools against. |
|
slots
Package slots is what every provider declares about itself, across both of the dialects under slots/.
|
Package slots is what every provider declares about itself, across both of the dialects under slots/. |
|
state
Package state records which binaries bothy installed, and at what version and checksum.
|
Package state records which binaries bothy installed, and at what version and checksum. |
|
theme
Package theme resolves one 11-token Palette for the whole workspace, from the built-in open Dracula palette or a file the user points bothy at (custom.go, ADR-006).
|
Package theme resolves one 11-token Palette for the whole workspace, from the built-in open Dracula palette or a file the user points bothy at (custom.go, ADR-006). |
|
tools
Package tools decides, for each tool the workspace needs, whether the system's copy will do or bothy has to supply one.
|
Package tools decides, for each tool the workspace needs, whether the system's copy will do or bothy has to supply one. |