Directory Structure

The .botster/ directory holds all project and device configuration. It can exist at two levels.

Device level

~/.botster/
  shared/                            # Merged into every profile
    workspace_include                # Files to copy into worktrees
    workspace_teardown               # Cleanup script
    sessions/
      agent/                         # Required session (always index 0)
        initialization               # Startup script
    plugins/
      my-plugin/
        init.lua

  profiles/
    standard/
      sessions/
        server/
          initialization
          port_forward               # Enables port forwarding
      plugins/
        another-plugin/
          init.lua

Repo level

your-repo/.botster/
  shared/                            # Same structure as device shared
  profiles/
    web/
      sessions/
        agent/initialization
        server/
          initialization
          port_forward

Repo-level config overrides device-level config for the same keys. This lets you commit project-specific agent setup while keeping personal defaults at the device level.