Skip to content

Add static CLI asset endpoint for runtime plugin front hot reload #61

@hachej

Description

@hachej

Context\n\nRuntime .pi/extensions front plugins currently hot-load through the Vite dev server /@fs transform path. This works in Vite hosts such as workspace-playground, but the packaged/static boring-ui CLI frontend does not provide a TS/TSX module transform endpoint for plugin front entries.\n\nTo avoid over-promising, the CLI frontend currently keeps frontPluginHotReload disabled; /reload still refreshes Pi resources/prompts/tools, but browser panels from .pi/extensions need a Vite host until this is implemented.\n\n## Desired behavior\n\nPackaged CLI users can author .pi/extensions//front/index.tsx, run /reload, and have the browser hot-load the updated panel/surface resolver without Vite.\n\n## Likely implementation\n\n- Add a workspace-owned module asset endpoint for plugin front entries, probably backed by esbuild/Vite transform.\n- Preserve React singleton behavior for hook panels.\n- Cache-bust imports per revision/salt like the Vite path.\n- Surface transform/import errors in the /reload/plugin update banner.\n- Keep server-side boring.server boot-time/static unless separately designed.\n\n## Acceptance\n\n- Packaged CLI can load a generated CSV/JSON visualizer front plugin after /reload.\n- Editing the plugin and running /reload updates the front module without full page reload.\n- Invalid TSX/import errors keep the previous version alive and surface a clear diagnostic.\n

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions