{"id":"paseo-helper-demo","repo":"xpufx/paseo","url":"https://github.com/xpufx/paseo/tree/main/plugins/demo","name":"paseo-helper-demo","description":"This plugin is a demo for showcasing some of the capabilities of [`paseo-plugin-helper`](https://github.com/xpufx/paseo-plugin-helper) ([npm](https://www.npmjs.com/package/paseo-plugin-helper)), namely the UI design system, lifecycle primitives, and daemon utilities for building Paseo plugins. It does not necessarily do anything useful to end users. Install this one to see every pattern running li","categories":["other"],"platforms":["linux"],"caveats":["Tested on Linux only."],"images":["https://raw.githubusercontent.com/xpufx/paseo/1081ca07f26e8e87a947410676743b824ea8f127/plugins/demo/screenshots/helper-visual-flair.png","https://raw.githubusercontent.com/xpufx/paseo/1081ca07f26e8e87a947410676743b824ea8f127/plugins/demo/screenshots/helper-metric-gauges.png","https://raw.githubusercontent.com/xpufx/paseo/1081ca07f26e8e87a947410676743b824ea8f127/plugins/demo/screenshots/helper-about.png"],"health":{"manifestValid":true,"hasReadme":true,"hasLicense":true,"hasTests":false,"hasTypecheckScript":true,"updatedRecently":true},"scannedAt":"2026-09-15T17:03:43.821Z","addedAt":"2026-09-15T18:20:35+03:00","path":"plugins/demo","version":"0.2.0","security":{"status":"passed","blockingFindings":0,"advisoryFindings":0,"scannedAt":"2026-09-15T17:00:48.859Z","commit":"1081ca07f26e8e87a947410676743b824ea8f127"},"paseoVersionRequirement":">=0.8.0","manifest":{"id":"paseo-helper-demo","requirements":{"paseo":">=0.8.0"}},"repoMeta":{"stars":0,"defaultBranch":"main","pushedAt":"2026-09-15T15:07:33Z"},"owner":{"login":"xpufx","avatarUrl":"https://avatars.githubusercontent.com/u/25581961?v=4"},"readmeText":"# paseo-helper-demo\n\nThis plugin is a demo for showcasing some of the capabilities of\n[`paseo-plugin-helper`](https://github.com/xpufx/paseo-plugin-helper) ([npm](https://www.npmjs.com/package/paseo-plugin-helper)),\nnamely the UI design system, lifecycle primitives, and daemon utilities for\nbuilding Paseo plugins. It does not necessarily do anything useful to end\nusers. Install this one to see every pattern running live; depend on the\nhelper to build your own.\n\nThe helper package and demo are together a demonstration of an idea: that\nthe plugin ecosystem can benefit from a common library, not necessarily this\ncommon library, rather than solving the same issues again and again.\n\n<p align=\"center\">\n  <a href=\"screenshots/helper-visual-flair.png\">\n    <img src=\"screenshots/helper-visual-flair.png\" alt=\"Visual Flair Studio\" />\n  </a>\n</p>\n\n| System Metrics | About Plugin |\n| :---: | :---: |\n| <a href=\"screenshots/helper-metric-gauges.png\"><img src=\"screenshots/helper-metric-gauges.png\" alt=\"System Metrics\" /></a> | <a href=\"screenshots/helper-about.png\"><img src=\"screenshots/helper-about.png\" alt=\"About Plugin\" /></a> |\n\n> [!NOTE]\n> **Prerequisites & Platform Support**:\n> - Zero install requirements: the helper runtime is vendored (`client|server|shared/vendor/paseo-plugin-helper/`, pinned helper 0.4.0-beta.12), so Paseo installs this plugin with no build step and no npm/registry access. For local development (`typecheck`/`test`), Node.js (v18+) is enough.\n> - The composer pill shows live host CPU; the modal covers metrics, actions, tables, beacons, settings, diagnostics, and logs.\n\n## Showcase tabs\n\n| Tab | Pattern it teaches |\n| :--- | :--- |\n| Gauges & Hardware | `MetricGauge`, `ProgressBar`, `KeyValueGroup`, auto-refresh polling with selectable cadence |\n| Visual Flair Studio | Live theme/flair customizer (`radius`, `density`, `surface`, `borderWidth`, `accentColor`) backed by atomic settings |\n| Data Table | `DataTable` + `SearchInput` over live daemon items, with `EmptyState` |\n| Interactive Controls | `Button`, `Toggle`, `TextInput`, `FormRow`, haptics + toast feedback |\n| Attention & Beacons | `AttentionBeacon` modes/tones plus workspace beacon RPCs (set/blink/clear) and agent identity inspection |\n| Plugin Settings | Type-safe Zod settings with optimistic React Query updates, navigation-style switch (tabs/dropdown) |\n| Network Diagnostics | `CodeBlock` host details, daemon port, platform |\n| System Logs | Copyable log view fed by the daemon tick counter |\n| About Plugin | `AboutSection` reference (version, repo, issues, license, extras) |\n\n## Navigation styles\n\nThe modal navbar renders two ways, switchable in the Settings tab (`navigationStyle`):\n\n- **Tabs** (default): sliding single-row `<Tabs mode=\"scroll\">`, pinned above the scroller (`headerMode=\"pinned\"`).\n- **Dropdown**: in-flow dropdown trigger + menu inside the `ModalBody` header, scrolling with the content (`headerMode=\"scroll\"`, see `resolveDemoHeaderMode` in `shared/demo.ts`). The open menu resets on navigation-style switches and on pull-to-refresh.\n\n## RPC contracts (`shared/demo.ts`)\n\n- `helper-demo-v8.get-data`: hostname, platform, CPU model/usage, memory, load averages, uptime, daemon port, background ticks, service items.\n- `helper-demo-v8.trigger-action`: background action demo with success/error toast + haptic feedback.\n- `helper-demo-v8.agent-identity`: active agent identity/session for self-inspection.\n- `helper-demo-v8.beacon-set` / `beacon-blink` / `beacon-clear`: workspace status beacon control.\n- `helper-demo-v8.settings`: persisted settings (`showCpuUsage`, `accentPillLabel`, `pollingRate`, `navigationStyle`, `highCpuThreshold`, flair fields).\n"}