{ "nodes": [ { "id": "bread-daemon", "label": "Bread Daemon (breadd)", "type": "tool", "description": "Long-running Rust process that ingests signals, maintains runtime state, and dispatches events to Lua modules.", "source_location": "README.md:17" }, { "id": "bread-cli", "label": "Bread CLI", "type": "tool", "description": "Command-line interface that communicates with the daemon over a Unix socket.", "source_location": "README.md:29" }, { "id": "bread-lua-runtime", "label": "Lua Runtime", "type": "tool", "description": "Dedicated thread inside the daemon that executes automation logic and loads user modules.", "source_location": "Documentation.md:28" }, { "id": "bread-automation-api-v1", "label": "Bread Automation API v1", "type": "documentation", "description": "The versioned, stable contract covering Lua API, IPC methods, event vocabulary, and runtime-state schema.", "source_location": "Documentation.md:36" }, { "id": "adapter-hyprland", "label": "Hyprland Adapter", "type": "tool", "description": "Adapter that interfaces with Hyprland compositor IPC to deliver compositor events and state.", "source_location": "Documentation.md:31" }, { "id": "adapter-udev", "label": "Udev Adapter", "type": "tool", "description": "Adapter that interfaces with Linux udev to deliver hardware hotplug and device events.", "source_location": "Documentation.md:31" }, { "id": "adapter-power", "label": "Power Adapter", "type": "tool", "description": "Adapter that monitors power state via UPower and sysfs.", "source_location": "Documentation.md:31" }, { "id": "adapter-network", "label": "Network Adapter", "type": "tool", "description": "Adapter that monitors network state via rtnetlink and sysfs.", "source_location": "Documentation.md:31" }, { "id": "adapter-bluetooth", "label": "Bluetooth Adapter", "type": "tool", "description": "Adapter that interfaces with BlueZ to manage Bluetooth devices and events.", "source_location": "Documentation.md:31" }, { "id": "bread-module", "label": "Bread Module", "type": "concept", "description": "A Lua script that implements automation logic, loaded from ~/.config/bread/modules/.", "source_location": "Documentation.md:84" }, { "id": "bread-module-manifest", "label": "bread.module.toml", "type": "configuration", "description": "Manifest file that declares a module's name, version, description, author, and installation metadata.", "source_location": "Documentation.md:141" }, { "id": "event-subscription", "label": "Event Subscription (bread.on)", "type": "function", "description": "Core API to subscribe to matching events with a callback function.", "source_location": "Documentation.md:184" }, { "id": "event-once", "label": "One-time Event (bread.once)", "type": "function", "description": "Subscribe to an event once; the handler is removed after the first match.", "source_location": "Documentation.md:196" }, { "id": "event-pattern-matching", "label": "Event Pattern Matching", "type": "concept", "description": "Wildcard matching for events using *, **, and ? in dot-separated event names.", "source_location": "Documentation.md:862" }, { "id": "bread-wait", "label": "Coroutine Wait (bread.wait)", "type": "function", "description": "Coroutine-only helper that suspends until a matching event arrives, with optional timeout.", "source_location": "Documentation.md:218" }, { "id": "bread-wait-any", "label": "Wait Any (bread.wait_any)", "type": "function", "description": "Coroutine-only wait that resolves on the first of several event patterns to match.", "source_location": "Documentation.md:233" }, { "id": "bread-wait-all", "label": "Wait All (bread.wait_all)", "type": "function", "description": "Coroutine-only wait that resolves once every listed pattern has fired at least once.", "source_location": "Documentation.md:248" }, { "id": "bread-spawn", "label": "Spawn Coroutine (bread.spawn)", "type": "function", "description": "Spawn a coroutine and surface errors if it fails, required for using bread.wait.", "source_location": "Documentation.md:230" }, { "id": "bread-workflow-define", "label": "Workflow Definition (bread.workflow.define)", "type": "function", "description": "Register a multi-step automation workflow body under a name.", "source_location": "Documentation.md:255" }, { "id": "bread-workflow-start", "label": "Start Workflow (bread.workflow.start)", "type": "function", "description": "Run a registered workflow as a coroutine with optional deadline and arguments.", "source_location": "Documentation.md:258" }, { "id": "bread-workflow-step", "label": "Workflow Step (bread.workflow.step)", "type": "function", "description": "Record current step label in a running workflow for observability.", "source_location": "Documentation.md:268" }, { "id": "bread-workflow-status", "label": "Workflow Status (bread.workflow.status)", "type": "function", "description": "Query the current status of a named workflow including state, step, and error information.", "source_location": "Documentation.md:271" }, { "id": "bread-widget-register", "label": "Register Widget (bread.widget.register)", "type": "function", "description": "Register a declarative widget with a typed node tree for rendering in sibling apps like breadbar.", "source_location": "Documentation.md:296" }, { "id": "bread-widget-update", "label": "Update Widget (bread.widget.update)", "type": "function", "description": "Patch an already-registered widget, replacing the root tree or updating metadata.", "source_location": "Documentation.md:362" }, { "id": "bread-widget-remove", "label": "Remove Widget (bread.widget.remove)", "type": "function", "description": "Remove a widget registered by the calling module.", "source_location": "Documentation.md:371" }, { "id": "bread-widget-node-types", "label": "Widget Node Types", "type": "concept", "description": "Typed node vocabulary for widgets: box, label, icon, progress with style and click handlers.", "source_location": "Documentation.md:310" }, { "id": "bread-widget-style", "label": "Widget Style Vocabulary", "type": "configuration", "description": "Bounded, typed vocabulary for node appearance: color, weight, size, align, background, radius, padding.", "source_location": "Documentation.md:342" }, { "id": "bread-state-get", "label": "Read State (bread.state.get)", "type": "function", "description": "Read a state subtree by dotted path from the runtime state.", "source_location": "Documentation.md:391" }, { "id": "bread-state-watch", "label": "Watch State (bread.state.watch)", "type": "function", "description": "Watch a state path for changes and receive (new_value, old_value) on each change.", "source_location": "Documentation.md:411" }, { "id": "bread-state-typed-shorthands", "label": "State Typed Shorthands", "type": "function", "description": "Convenience functions like bread.state.monitors(), power(), network(), etc.", "source_location": "Documentation.md:399" }, { "id": "bread-profile-activate", "label": "Activate Profile (bread.profile.activate)", "type": "function", "description": "Activate a named profile and emit a profile.activated event.", "source_location": "Documentation.md:424" }, { "id": "bread-exec", "label": "Execute Command (bread.exec)", "type": "function", "description": "Run a shell command asynchronously (fire-and-forget, does not block Lua).", "source_location": "Documentation.md:429" }, { "id": "bread-exec-capture", "label": "Execute and Capture (bread.exec_capture)", "type": "function", "description": "Run a shell command and return its exit status and captured stdout, blocks Lua.", "source_location": "Documentation.md:432" }, { "id": "bread-notify", "label": "Send Notification (bread.notify)", "type": "function", "description": "Send a desktop notification via notify-send with optional title, urgency, timeout, and icon.", "source_location": "Documentation.md:457" }, { "id": "bread-timer-after", "label": "Timer After (bread.after)", "type": "function", "description": "Run a callback once after a specified delay in milliseconds.", "source_location": "Documentation.md:473" }, { "id": "bread-timer-every", "label": "Timer Every (bread.every)", "type": "function", "description": "Run a callback on a repeating interval in milliseconds.", "source_location": "Documentation.md:476" }, { "id": "bread-debounce", "label": "Debounce Function (bread.debounce)", "type": "function", "description": "Return a wrapper function that fires only after specified milliseconds of quiet time.", "source_location": "Documentation.md:484" }, { "id": "bread-logging", "label": "Logging Functions", "type": "function", "description": "bread.log(), bread.warn(), and bread.error() for outputting to daemon logs.", "source_location": "Documentation.md:494" }, { "id": "bread-machine-name", "label": "Machine Name (bread.machine.name)", "type": "function", "description": "Get the system hostname, with optional override from ~/.config/bread/sync.toml.", "source_location": "Documentation.md:499" }, { "id": "bread-machine-tags", "label": "Machine Tags (bread.machine.tags)", "type": "function", "description": "Get machine tags from sync.toml for conditional behavior across multiple systems.", "source_location": "Documentation.md:504" }, { "id": "bread-fs-operations", "label": "Filesystem Operations", "type": "function", "description": "bread.fs functions: write, read, exists, readlink, expand for file operations.", "source_location": "Documentation.md:511" }, { "id": "bread-json-decode", "label": "JSON Decode (bread.json.decode)", "type": "function", "description": "Parse a JSON string into a Lua table, returns nil on malformed input.", "source_location": "Documentation.md:529" }, { "id": "bread-hyprland-api", "label": "Hyprland API (bread.hyprland.*)", "type": "tool", "description": "Namespace providing compositor bindings: dispatch, keyword, state queries, and raw event subscription.", "source_location": "Documentation.md:536" }, { "id": "bread-bluetooth-api", "label": "Bluetooth API (bread.bluetooth.*)", "type": "tool", "description": "Control local Bluetooth adapter and paired devices via BlueZ D-Bus with graceful degradation.", "source_location": "Documentation.md:560" }, { "id": "bread-module-lifecycle-hooks", "label": "Module Lifecycle Hooks", "type": "concept", "description": "Optional callbacks: on_load, on_reload, on_unload, on_error for module behavior control.", "source_location": "Documentation.md:635" }, { "id": "bread-module-storage", "label": "Module Storage (M.store)", "type": "function", "description": "Per-module key-value storage that survives hot reload but not daemon restart.", "source_location": "Documentation.md:659" }, { "id": "builtin-monitors-module", "label": "Built-in: monitors Module", "type": "tool", "description": "High-level declarative monitor event handlers with layout registration and application.", "source_location": "Documentation.md:676" }, { "id": "builtin-devices-module", "label": "Built-in: devices Module", "type": "tool", "description": "Device connection rules with name-based matching from devices.lua.", "source_location": "Documentation.md:702" }, { "id": "builtin-workspaces-module", "label": "Built-in: workspaces Module", "type": "tool", "description": "Workspace-to-monitor assignment and app pinning for Hyprland.", "source_location": "Documentation.md:809" }, { "id": "builtin-binds-module", "label": "Built-in: binds Module", "type": "tool", "description": "Runtime keybind management via Hyprland dispatch with add, remove, replace operations.", "source_location": "Documentation.md:826" }, { "id": "event-system-startup", "label": "System Startup Event", "type": "concept", "description": "bread.system.startup event fired when Bread starts up.", "source_location": "Documentation.md:873" }, { "id": "event-device-connection", "label": "Device Connection Events", "type": "concept", "description": "bread.device.connected/disconnected events for USB and Bluetooth devices with full metadata.", "source_location": "Documentation.md:880" }, { "id": "event-monitor-connection", "label": "Monitor Connection Events", "type": "concept", "description": "bread.monitor.connected/disconnected events for display connections.", "source_location": "Documentation.md:917" }, { "id": "event-window-management", "label": "Window Management Events", "type": "concept", "description": "bread.window events for focus, open, close, and move operations.", "source_location": "Documentation.md:920" }, { "id": "event-power-management", "label": "Power Events", "type": "concept", "description": "bread.power events for AC connection, battery state, and low battery warnings.", "source_location": "Documentation.md:927" }, { "id": "event-network-status", "label": "Network Events", "type": "concept", "description": "bread.network.connected/disconnected events with online status and interface info.", "source_location": "Documentation.md:939" }, { "id": "event-system-events", "label": "System Events", "type": "concept", "description": "bread.profile.activated, bread.notify.sent, and bread.state.changed.* events.", "source_location": "Documentation.md:945" }, { "id": "event-widget-events", "label": "Widget Events", "type": "concept", "description": "bread.widget.* events for registered, updated, removed, and cleared widgets.", "source_location": "Documentation.md:953" }, { "id": "event-terminal-events", "label": "Terminal Events", "type": "concept", "description": "bread.terminal.command.* and bread.terminal.cwd.* events from shell precmd/preexec hooks.", "source_location": "Documentation.md:964" }, { "id": "event-git-events", "label": "Git Events", "type": "concept", "description": "bread.git.commit.created, bread.git.state.*, and ahead_behind changes from git hooks and polling.", "source_location": "Documentation.md:976" }, { "id": "event-container-events", "label": "Container Events", "type": "concept", "description": "bread.container events for Podman container lifecycle and health changes.", "source_location": "Documentation.md:1012" }, { "id": "bread-namespace-convention", "label": "Namespace Convention (bread..*)", "type": "concept", "description": "Reserved naming convention for events published by sibling bread* applications.", "source_location": "Documentation.md:1037" }, { "id": "bread-command-convention", "label": "Command Convention (bread.command..)", "type": "concept", "description": "Convention for outbound commands to sibling applications, best-effort delivery.", "source_location": "Documentation.md:1038" }, { "id": "bread-runtime-state-schema", "label": "Runtime State Schema", "type": "configuration", "description": "The complete JSON schema for RuntimeState including monitors, workspaces, devices, network, power, and more.", "source_location": "Documentation.md:1061" }, { "id": "bread-ipc-protocol", "label": "IPC Protocol", "type": "tool", "description": "JSON-RPC over Unix socket at $XDG_RUNTIME_DIR/bread/breadd.sock with methods for state, modules, profiles, events.", "source_location": "Documentation.md:1146" }, { "id": "bread-ipc-methods", "label": "IPC Methods", "type": "concept", "description": "Available IPC methods: ping, health, state.get, state.dump, modules.list, profile.activate, events.subscribe, emit, workflows.list, widgets.list.", "source_location": "Documentation.md:1162" }, { "id": "config-breadd-toml", "label": "breadd.toml Configuration", "type": "configuration", "description": "Daemon configuration file at ~/.config/bread/breadd.toml with optional settings for adapters, events, modules.", "source_location": "README.md:117" }, { "id": "config-init-lua", "label": "init.lua Entry Point", "type": "configuration", "description": "Lua entry point at ~/.config/bread/init.lua loaded first before modules.", "source_location": "Documentation.md:51" }, { "id": "config-devices-lua", "label": "devices.lua Device Mapping", "type": "configuration", "description": "User-defined device name to hardware mapping for stable device identification.", "source_location": "Documentation.md:706" }, { "id": "config-modules-directory", "label": "modules/ Directory", "type": "configuration", "description": "Directory at ~/.config/bread/modules/ where modules are auto-discovered and loaded.", "source_location": "Documentation.md:52" }, { "id": "workflow-example-dock-connected", "label": "Example: Dock Connected Workflow", "type": "documentation", "description": "Multi-step automation workflow for dock connection with monitor setup, profile activation, and notifications.", "source_location": "Examples.md:182" }, { "id": "example-keyboard-display-watcher", "label": "Example 1: Keyboard and Display Watcher", "type": "documentation", "description": "Port of shell script for Redox keyboard detection and external monitor handling.", "source_location": "Examples.md:7" }, { "id": "example-autostart", "label": "Example 2: Autostart", "type": "documentation", "description": "System startup sequence with multiple commands executed on bread.system.startup.", "source_location": "Examples.md:93" }, { "id": "example-monitors", "label": "Example 3: Display Monitors", "type": "documentation", "description": "Monitor layout management using Hyprland keywords and monitor connection events.", "source_location": "Examples.md:130" }, { "id": "example-widget-cpu-temp", "label": "Example 5: CPU Temperature Widget", "type": "documentation", "description": "Live widget in breadbar showing CPU temperature with color styling and progress visualization.", "source_location": "Examples.md:241" }, { "id": "example-module-low-battery", "label": "Module: Low Battery Warning", "type": "documentation", "description": "Critical notification when battery runs low, resets on AC power.", "source_location": "examples/modules/README.md:21" }, { "id": "example-module-pause-media", "label": "Module: Pause Media on Headphone Unplug", "type": "documentation", "description": "Runs playerctl pause when headphone/earbud device disconnects.", "source_location": "examples/modules/README.md:22" }, { "id": "example-module-dock-monitors", "label": "Module: Dock Monitors Layout", "type": "documentation", "description": "Applies multi-monitor layout when external display connects, reverts when removed.", "source_location": "examples/modules/README.md:23" }, { "id": "example-module-active-window-widget", "label": "Module: Active Window Widget", "type": "documentation", "description": "Shows focused window next to workspace pills in breadbar using bread.widget and bread.state.watch.", "source_location": "examples/modules/README.md:24" }, { "id": "example-module-cpu-temp-widget", "label": "Module: CPU Temp Widget", "type": "documentation", "description": "Live CPU temperature readout in breadbar's stats area with hwmon file reading.", "source_location": "examples/modules/README.md:25" }, { "id": "example-module-bluetooth-toggle", "label": "Module: Bluetooth Toggle Widget", "type": "documentation", "description": "One-click Bluetooth power toggle in breadbar's tray with click event handling.", "source_location": "examples/modules/README.md:26" }, { "id": "example-module-focus-mode", "label": "Module: Focus Mode Widget", "type": "documentation", "description": "Click-to-toggle Focus profile that mutes audio, syncs with profile changes.", "source_location": "examples/modules/README.md:27" }, { "id": "example-module-workflow-status", "label": "Module: Workflow Status Widget", "type": "documentation", "description": "Surfaces bread.workflow.list() in breadbar tray showing running or failed workflows.", "source_location": "examples/modules/README.md:28" }, { "id": "example-module-git-branch", "label": "Module: Git Branch Widget", "type": "documentation", "description": "Shows repo and branch of focused kitty tab with dirty state indicator.", "source_location": "examples/modules/README.md:29" }, { "id": "ci-dev-release-workflow", "label": "CI: dev-release Workflow", "type": "workflow", "description": "Triggered on push to main; builds, tests, and publishes dev-track build with auto-computed version.", "source_location": ".forgejo/workflows/dev-release.yml:1" }, { "id": "ci-rc-release-workflow", "label": "CI: rc-release Workflow", "type": "workflow", "description": "Triggered on vX.Y.Z-rc.N tag push; builds and publishes beta-track RC build.", "source_location": ".forgejo/workflows/rc-release.yml:1" }, { "id": "ci-release-workflow", "label": "CI: release Workflow", "type": "workflow", "description": "Triggered on vX.Y.Z tag push; builds, tests, publishes stable release, and uploads to GitHub.", "source_location": ".forgejo/workflows/release.yml:1" }, { "id": "release-track-dev", "label": "Release Track: dev", "type": "configuration", "description": "Bleeding-edge track published on every push to main with auto-computed version.", "source_location": "CONTRIBUTING.md:55" }, { "id": "release-track-beta", "label": "Release Track: beta", "type": "configuration", "description": "Latest release candidate track published from vX.Y.Z-rc.N tags.", "source_location": "CONTRIBUTING.md:54" }, { "id": "release-track-stable", "label": "Release Track: stable", "type": "configuration", "description": "Latest stable release published from vX.Y.Z tags.", "source_location": "CONTRIBUTING.md:53" }, { "id": "bakery-package-manager", "label": "Bakery Package Manager", "type": "tool", "description": "Distribution and package management system for bread releases across multiple channels.", "source_location": "CONTRIBUTING.md:32" }, { "id": "version-semver", "label": "Semantic Versioning", "type": "concept", "description": "Version format vX.Y.Z for stable, vX.Y.Z-rc.N for release candidates, X.Y.Z-dev.TIMESTAMP+SHA for dev builds.", "source_location": "CONTRIBUTING.md:59" }, { "id": "branch-main", "label": "Main Branch", "type": "configuration", "description": "Single long-lived branch where all day-to-day work lands; every push publishes dev-track build.", "source_location": "CONTRIBUTING.md:10" }, { "id": "branch-feature-pattern", "label": "Feature Branch Pattern", "type": "configuration", "description": "Short-lived feature/ branches for new features, merged to main via PR and deleted.", "source_location": "CONTRIBUTING.md:18" }, { "id": "branch-fix-pattern", "label": "Fix Branch Pattern", "type": "configuration", "description": "Short-lived fix/ branches for bug fixes, merged to main via PR and deleted.", "source_location": "CONTRIBUTING.md:19" }, { "id": "ci-self-hosted-runner", "label": "Self-hosted Runner (hestia)", "type": "tool", "description": "Custom runner used for all CI jobs to avoid unnecessary external build overhead.", "source_location": ".forgejo/workflows/dev-release.yml:12" }, { "id": "distribution-dl-breadway-dev", "label": "Distribution Point: dl.breadway.dev", "type": "tool", "description": "Central distribution server for all bread release tracks (dev, beta, stable).", "source_location": ".forgejo/workflows/dev-release.yml:55" }, { "id": "distribution-github-release", "label": "GitHub Release Upload", "type": "tool", "description": "Optional GitHub release mirror for stable releases, requires GH_RELEASE_TOKEN.", "source_location": ".forgejo/workflows/release.yml:55" }, { "id": "breadd-service-unit", "label": "systemd User Service (breadd.service)", "type": "tool", "description": "systemd user service unit that starts breadd after graphical session is available.", "source_location": "packaging/README.md:9" }, { "id": "breadd-service-installation", "label": "systemd Service Installation", "type": "process", "description": "Manual installation and enablement of breadd service with optional debug configuration.", "source_location": "packaging/README.md:17" }, { "id": "bread-ecosystem-repository", "label": "bread-ecosystem Repository", "type": "tool", "description": "Central ecosystem repository containing shared scripts, docs, and release infrastructure.", "source_location": "CONTRIBUTING.md:79" }, { "id": "bread-shared-crate", "label": "bread-shared Crate", "type": "tool", "description": "Shared Rust types and definitions: RawEvent, BreadEvent, AdapterSource, KNOWN_APPS.", "source_location": "README.md:47" }, { "id": "bread-utils-crate", "label": "bread-utils Crate", "type": "tool", "description": "Utilities crate with bread-client feature for IPC communication from sibling apps.", "source_location": "Documentation.md:1050" }, { "id": "breadclip-integration", "label": "Breadclip Integration Reference", "type": "documentation", "description": "Reference implementation for integrating a bread* app with EVENTS.md documenting published events and commands.", "source_location": "Documentation.md:1047" }, { "id": "api-stability-policy", "label": "API Stability Policy", "type": "documentation", "description": "Additive-only within v1, deprecation window, since-markers, and version discovery via api_version.", "source_location": "Documentation.md:38" }, { "id": "hyprland-compositor", "label": "Hyprland Compositor", "type": "tool", "description": "Wayland compositor used as primary target for Bread desktop automation.", "source_location": "README.md:61" }, { "id": "wayland-protocol", "label": "Wayland Protocol", "type": "tool", "description": "Modern display server protocol underlying Hyprland and other Linux desktop environments.", "source_location": "README.md:61" }, { "id": "linux-system", "label": "Linux System", "type": "tool", "description": "Primary platform for Bread automation with Arch Linux recommended.", "source_location": "README.md:62" }, { "id": "rust-toolchain", "label": "Rust Toolchain", "type": "tool", "description": "Required stable Rust toolchain (2021 edition) for building Bread.", "source_location": "README.md:64" }, { "id": "udev-system", "label": "udev System", "type": "tool", "description": "Device event system required on systemd-based Linux distributions.", "source_location": "README.md:65" }, { "id": "upower-service", "label": "UPower Service", "type": "tool", "description": "Optional D-Bus service for battery and power events, falls back to sysfs without it.", "source_location": "README.md:68" }, { "id": "rtnetlink-socket", "label": "rtnetlink Socket", "type": "tool", "description": "Optional netlink socket for network events, falls back to sysfs polling without it.", "source_location": "README.md:69" }, { "id": "bluez-service", "label": "BlueZ Service", "type": "tool", "description": "Optional Bluetooth daemon for device events and Bluetooth control.", "source_location": "README.md:70" }, { "id": "cli-command-ping", "label": "CLI: ping", "type": "tool", "description": "Check daemon connectivity.", "source_location": "README.md:175" }, { "id": "cli-command-health", "label": "CLI: health", "type": "tool", "description": "Show daemon version, uptime, and PID.", "source_location": "README.md:176" }, { "id": "cli-command-doctor", "label": "CLI: doctor", "type": "tool", "description": "Diagnose daemon and module health with JSON output option.", "source_location": "README.md:177" }, { "id": "cli-command-reload", "label": "CLI: reload", "type": "tool", "description": "Hot-reload Lua modules with optional --watch for auto-reload.", "source_location": "README.md:181" }, { "id": "cli-command-state", "label": "CLI: state", "type": "tool", "description": "Dump or query full runtime state as JSON with optional path filtering.", "source_location": "README.md:185" }, { "id": "cli-command-events", "label": "CLI: events", "type": "tool", "description": "Stream live events with filtering, replay, and field selection options.", "source_location": "README.md:188" }, { "id": "cli-command-emit", "label": "CLI: emit", "type": "tool", "description": "Manually fire an event for testing purposes.", "source_location": "README.md:193" }, { "id": "cli-command-profile-list", "label": "CLI: profile-list", "type": "tool", "description": "List defined profiles.", "source_location": "README.md:196" }, { "id": "cli-command-profile-activate", "label": "CLI: profile-activate", "type": "tool", "description": "Activate a named profile.", "source_location": "README.md:197" }, { "id": "cli-command-modules-list", "label": "CLI: modules list", "type": "tool", "description": "List installed modules and their daemon status.", "source_location": "README.md:200" }, { "id": "cli-command-modules-install", "label": "CLI: modules install", "type": "tool", "description": "Install a module from a local directory.", "source_location": "README.md:201" }, { "id": "cli-command-modules-remove", "label": "CLI: modules remove", "type": "tool", "description": "Remove an installed module with optional --yes confirmation skip.", "source_location": "README.md:202" }, { "id": "cli-command-modules-info", "label": "CLI: modules info", "type": "tool", "description": "Show full manifest and daemon status for a module.", "source_location": "README.md:203" } ], "edges": [ { "source": "bread-daemon", "target": "bread-lua-runtime", "relationship": "contains", "confidence": "high" }, { "source": "bread-daemon", "target": "adapter-hyprland", "relationship": "depends-on", "confidence": "high" }, { "source": "bread-daemon", "target": "adapter-udev", "relationship": "depends-on", "confidence": "high" }, { "source": "bread-daemon", "target": "adapter-power", "relationship": "depends-on", "confidence": "high" }, { "source": "bread-daemon", "target": "adapter-network", "relationship": "depends-on", "confidence": "high" }, { "source": "bread-daemon", "target": "adapter-bluetooth", "relationship": "depends-on", "confidence": "high" }, { "source": "bread-daemon", "target": "bread-ipc-protocol", "relationship": "implements", "confidence": "high" }, { "source": "bread-cli", "target": "bread-daemon", "relationship": "depends-on", "confidence": "high" }, { "source": "bread-cli", "target": "bread-ipc-protocol", "relationship": "uses", "confidence": "high" }, { "source": "bread-lua-runtime", "target": "bread-module", "relationship": "contains", "confidence": "high" }, { "source": "bread-lua-runtime", "target": "event-subscription", "relationship": "implements", "confidence": "high" }, { "source": "bread-module", "target": "bread-module-manifest", "relationship": "uses", "confidence": "high" }, { "source": "bread-module", "target": "bread-module-lifecycle-hooks", "relationship": "implements", "confidence": "high" }, { "source": "bread-module", "target": "bread-module-storage", "relationship": "uses", "confidence": "high" }, { "source": "event-subscription", "target": "event-pattern-matching", "relationship": "uses", "confidence": "high" }, { "source": "bread-wait", "target": "bread-spawn", "relationship": "depends-on", "confidence": "high" }, { "source": "bread-wait-any", "target": "bread-spawn", "relationship": "depends-on", "confidence": "high" }, { "source": "bread-wait-all", "target": "bread-spawn", "relationship": "depends-on", "confidence": "high" }, { "source": "bread-workflow-define", "target": "bread-workflow-start", "relationship": "relates-to", "confidence": "high" }, { "source": "bread-workflow-start", "target": "bread-spawn", "relationship": "uses", "confidence": "high" }, { "source": "bread-workflow-step", "target": "bread-workflow-status", "relationship": "relates-to", "confidence": "high" }, { "source": "bread-widget-register", "target": "bread-widget-node-types", "relationship": "uses", "confidence": "high" }, { "source": "bread-widget-node-types", "target": "bread-widget-style", "relationship": "uses", "confidence": "high" }, { "source": "bread-widget-update", "target": "bread-widget-register", "relationship": "relates-to", "confidence": "high" }, { "source": "bread-state-watch", "target": "bread-state-get", "relationship": "relates-to", "confidence": "high" }, { "source": "bread-hyprland-api", "target": "adapter-hyprland", "relationship": "uses", "confidence": "high" }, { "source": "bread-bluetooth-api", "target": "adapter-bluetooth", "relationship": "uses", "confidence": "high" }, { "source": "builtin-monitors-module", "target": "adapter-hyprland", "relationship": "uses", "confidence": "high" }, { "source": "builtin-devices-module", "target": "adapter-udev", "relationship": "uses", "confidence": "high" }, { "source": "builtin-workspaces-module", "target": "adapter-hyprland", "relationship": "uses", "confidence": "high" }, { "source": "builtin-binds-module", "target": "adapter-hyprland", "relationship": "uses", "confidence": "high" }, { "source": "bread-automation-api-v1", "target": "api-stability-policy", "relationship": "documents", "confidence": "high" }, { "source": "bread-automation-api-v1", "target": "bread-ipc-methods", "relationship": "documents", "confidence": "high" }, { "source": "bread-automation-api-v1", "target": "bread-runtime-state-schema", "relationship": "documents", "confidence": "high" }, { "source": "config-breadd-toml", "target": "adapter-hyprland", "relationship": "configures", "confidence": "high" }, { "source": "config-breadd-toml", "target": "adapter-udev", "relationship": "configures", "confidence": "high" }, { "source": "config-breadd-toml", "target": "adapter-power", "relationship": "configures", "confidence": "high" }, { "source": "config-breadd-toml", "target": "adapter-network", "relationship": "configures", "confidence": "high" }, { "source": "config-init-lua", "target": "bread-lua-runtime", "relationship": "configures", "confidence": "high" }, { "source": "config-devices-lua", "target": "adapter-udev", "relationship": "configures", "confidence": "high" }, { "source": "config-modules-directory", "target": "bread-module", "relationship": "contains", "confidence": "high" }, { "source": "ci-dev-release-workflow", "target": "release-track-dev", "relationship": "triggers", "confidence": "high" }, { "source": "ci-rc-release-workflow", "target": "release-track-beta", "relationship": "triggers", "confidence": "high" }, { "source": "ci-release-workflow", "target": "release-track-stable", "relationship": "triggers", "confidence": "high" }, { "source": "ci-dev-release-workflow", "target": "ci-self-hosted-runner", "relationship": "uses", "confidence": "high" }, { "source": "ci-rc-release-workflow", "target": "ci-self-hosted-runner", "relationship": "uses", "confidence": "high" }, { "source": "ci-release-workflow", "target": "ci-self-hosted-runner", "relationship": "uses", "confidence": "high" }, { "source": "ci-dev-release-workflow", "target": "distribution-dl-breadway-dev", "relationship": "publishes-to", "confidence": "high" }, { "source": "ci-rc-release-workflow", "target": "distribution-dl-breadway-dev", "relationship": "publishes-to", "confidence": "high" }, { "source": "ci-release-workflow", "target": "distribution-dl-breadway-dev", "relationship": "publishes-to", "confidence": "high" }, { "source": "ci-release-workflow", "target": "distribution-github-release", "relationship": "publishes-to", "confidence": "high" }, { "source": "release-track-dev", "target": "version-semver", "relationship": "uses", "confidence": "high" }, { "source": "release-track-beta", "target": "version-semver", "relationship": "uses", "confidence": "high" }, { "source": "release-track-stable", "target": "version-semver", "confidence": "high" }, { "source": "branch-main", "target": "ci-dev-release-workflow", "relationship": "triggers", "confidence": "high" }, { "source": "branch-feature-pattern", "target": "branch-main", "relationship": "merges-into", "confidence": "high" }, { "source": "branch-fix-pattern", "target": "branch-main", "relationship": "merges-into", "confidence": "high" }, { "source": "bakery-package-manager", "target": "release-track-dev", "relationship": "distributes", "confidence": "high" }, { "source": "bakery-package-manager", "target": "release-track-beta", "relationship": "distributes", "confidence": "high" }, { "source": "bakery-package-manager", "target": "release-track-stable", "relationship": "distributes", "confidence": "high" }, { "source": "breadd-service-unit", "target": "bread-daemon", "relationship": "manages", "confidence": "high" }, { "source": "breadd-service-installation", "target": "breadd-service-unit", "relationship": "configures", "confidence": "high" }, { "source": "bread-ecosystem-repository", "target": "ci-dev-release-workflow", "relationship": "supports", "confidence": "high" }, { "source": "bread-ecosystem-repository", "target": "ci-rc-release-workflow", "relationship": "supports", "confidence": "high" }, { "source": "bread-ecosystem-repository", "target": "ci-release-workflow", "relationship": "supports", "confidence": "high" }, { "source": "bread-shared-crate", "target": "bread-daemon", "relationship": "used-by", "confidence": "high" }, { "source": "bread-utils-crate", "target": "bread-daemon", "relationship": "used-by", "confidence": "high" }, { "source": "breadclip-integration", "target": "bread-namespace-convention", "relationship": "implements", "confidence": "high" }, { "source": "breadclip-integration", "target": "bread-command-convention", "relationship": "implements", "confidence": "high" }, { "source": "bread-daemon", "target": "hyprland-compositor", "relationship": "depends-on", "confidence": "high" }, { "source": "hyprland-compositor", "target": "wayland-protocol", "relationship": "implements", "confidence": "high" }, { "source": "bread-daemon", "target": "linux-system", "relationship": "runs-on", "confidence": "high" }, { "source": "bread-daemon", "target": "rust-toolchain", "relationship": "built-with", "confidence": "high" }, { "source": "bread-daemon", "target": "udev-system", "relationship": "depends-on", "confidence": "high" }, { "source": "adapter-power", "target": "upower-service", "relationship": "depends-on", "confidence": "medium" }, { "source": "adapter-network", "target": "rtnetlink-socket", "relationship": "depends-on", "confidence": "medium" }, { "source": "adapter-bluetooth", "target": "bluez-service", "relationship": "depends-on", "confidence": "high" }, { "source": "workflow-example-dock-connected", "target": "bread-workflow-define", "relationship": "documents", "confidence": "high" }, { "source": "workflow-example-dock-connected", "target": "bread-workflow-start", "relationship": "documents", "confidence": "high" }, { "source": "example-keyboard-display-watcher", "target": "adapter-udev", "relationship": "documents", "confidence": "high" }, { "source": "example-autostart", "target": "event-system-startup", "relationship": "documents", "confidence": "high" }, { "source": "example-monitors", "target": "event-monitor-connection", "relationship": "documents", "confidence": "high" }, { "source": "example-widget-cpu-temp", "target": "bread-widget-register", "relationship": "documents", "confidence": "high" }, { "source": "example-module-low-battery", "target": "event-power-management", "relationship": "documents", "confidence": "high" }, { "source": "example-module-pause-media", "target": "event-device-connection", "relationship": "documents", "confidence": "high" }, { "source": "example-module-dock-monitors", "target": "event-monitor-connection", "relationship": "documents", "confidence": "high" }, { "source": "example-module-active-window-widget", "target": "bread-widget-register", "relationship": "documents", "confidence": "high" }, { "source": "example-module-cpu-temp-widget", "target": "bread-widget-register", "relationship": "documents", "confidence": "high" }, { "source": "example-module-bluetooth-toggle", "target": "bread-widget-register", "relationship": "documents", "confidence": "high" }, { "source": "example-module-focus-mode", "target": "bread-profile-activate", "relationship": "documents", "confidence": "high" }, { "source": "example-module-workflow-status", "target": "bread-workflow-status", "relationship": "documents", "confidence": "high" }, { "source": "example-module-git-branch", "target": "bread-exec-capture", "relationship": "documents", "confidence": "high" } ], "input_tokens": 0, "output_tokens": 0 }