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 requesttaskMaintainer or agent execution taskuiDesign system and user interface

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions