Skip to content

Lazurio shell slot: load /.lazurio/shell.js and place the rail, the app switch and Buddy (upstream look stays) #33

Description

@immakermatty

Goal

Chat and Automate are our forks of T3 Code and MausBot. Decided on 2026-10-03: until the upstream stable releases they keep the upstream look and branding (we keep saying it is T3 Code / MausBot), and the fork adds only the Lazurio shell: the rail on the left, the app switch at the top of the fork's own sidebar, and the floating Buddy chat bottom-right.

What to build (about 20 lines in about 3 files)

  • index.html: <script type="module" src="/.lazurio/shell.js"></script> (served by the Environment's Launchpad, Lazurio shell: serve /.lazurio/shell.js and /.lazurio/shell.json on every Environment app origin LazurioPlatform#135).
  • App root: <lazurio-rail> next to the app as position: fixed at the left edge, and #root { box-sizing: border-box; padding-left: var(--lazurio-rail-width, 0px) } (padding, not margin: upstream #root is width: 100% under an overflow-hidden body, so a margin would clip the right edge).
  • Sidebar: <lazurio-column-head> (the switch Chat · Apps · Automate) at the top, in place of the upstream logo.
  • Once anywhere in the root: <lazurio-buddy>.
  • Outside Lazurio the script does not exist, the elements stay undefined and nothing renders: the fork behaves like upstream.
  • Each changed file joins the fork's allowlist (allowed_upstream_changes) as its own exact path under one reason comment.
  • A check that keeps this slot across every upstream rebase (the index.html script tag and the column head in the sidebar).

Done when

On an Environment, the fork shows the same rail, switch and Buddy as the Launchpad, and the slot survives one rebase onto a new upstream version.

Depends on Lazurio/LazurioPlatform#135.

🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions