Skip to content

[Feature] Rename frontend shell hooks from opencode to pawwork #365

@Astro-Han

Description

@Astro-Han

What task are you trying to do?

Clean up PawWork-owned frontend hook names that still use the old opencode-* namespace, starting with desktop shell and titlebar DOM hooks. This is developer-facing hygiene: future UI work and E2E tests should be easier to grep and should not confuse PawWork-owned app shell code with upstream OpenCode compatibility surfaces.

Target date: 2026-05-03.

Which area would this change affect?

UI or design system

What do you do today?

Some PawWork frontend shell hooks still use opencode names, for example:

  • #opencode-titlebar-left
  • #opencode-titlebar-center
  • #opencode-titlebar-right
  • related E2E selectors in packages/app/e2e/selectors.ts

This makes the code harder for humans and agents to read because opencode can mean either PawWork-owned legacy naming or true upstream/runtime compatibility.

What would a good result look like?

PawWork-owned frontend-only hooks use pawwork-* names, while true compatibility surfaces keep their existing names. The first pass should be a small, low-risk rename focused on app shell/titlebar DOM hooks and tests.

What would count as done?

  • Rename PawWork-owned titlebar DOM hook IDs from opencode-titlebar-* to pawwork-titlebar-*.
  • Update app code that mounts portals into those titlebar slots.
  • Update E2E selectors and shell-frame contract tests.
  • Verify the titlebar and settings title still render correctly.
  • Run the relevant app typecheck and titlebar/shell-frame tests.

What should stay out of scope?

  • Do not rename @opencode-ai/* package imports.
  • Do not rename virtual:opencode-server.
  • Do not rename OPENCODE_* env vars.
  • Do not rename opencode:// protocol links.
  • Do not rename provider IDs such as opencode or opencode-go.
  • Do not change localStorage or theme persistence keys in this pass.
  • Do not do a broad repository-wide string replacement.

Which audience does this matter to most?

Global users

Extra context

This came up while reviewing PR #360. The intent is to keep new or actively modified frontend code agent-readable: focused, easy to grep, and clear about PawWork-owned surfaces versus upstream compatibility surfaces.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low priorityenhancementNew feature or requesttaskNarrow execution, audit, spike, migration, tracking, or upstream follow-up workuiDesign system and user interface

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions