Skip to content

Redesign the registry as a living terminal index - #10

Open
HANCORE-linux wants to merge 6 commits into
omacom:mainfrom
HANCORE-linux:redesign/plugin-registry
Open

Redesign the registry as a living terminal index#10
HANCORE-linux wants to merge 6 commits into
omacom:mainfrom
HANCORE-linux:redesign/plugin-registry

Conversation

@HANCORE-linux

@HANCORE-linux HANCORE-linux commented Sep 4, 2026

Copy link
Copy Markdown

Summary

Redesign the Omarchy Plugin Registry as a responsive, terminal-native “living registry” while preserving Rails-native navigation and progressive enhancement.

  • make server-rendered search authoritative, with Fish-style completion, URL/history restoration, stable nine-card Browse pagination, and keyboard navigation
  • add a fixed Most Wanted 1+4 module and a separate right-moving Recently Added stream
  • add canonical plugin-link copying, detail overlays, provenance, and viewport-fixed feedback
  • project Omarchy System and manual themes through exact ANSI slots, with bounded local synchronization and navigation-safe persistence
  • redesign authenticated Account, Governance, Publishing, Audit, publisher, and plugin-detail surfaces in the same terminal system
  • add the staged Tree Build Hero, responsive whole-pixel Omarchy wordmark, install-command ticker, and theme-native shadows
  • add a four-destination mobile navigation and compact mobile layouts without the Hero ticker or Pacman details

Search and discovery behavior

  • Search remains server-authoritative and works as a native GET form without JavaScript.
  • With focus in Search, the first Enter accepts an available completion; the next Enter presents and scrolls to Browse results without opening a plugin. Outside Search, Enter opens the selected Browse card.
  • Browse always renders nine slots and uses normal pagination; there is no Browse All mode.
  • With JavaScript enhancement, plugin names copy canonical URLs; without JavaScript they remain ordinary detail links, while the rest of each discovery card opens details.

Accessibility and resilience

  • preserve semantic links, forms, native selects, visible focus, no-JavaScript navigation, and 44px mobile targets
  • keep theme, search, selection, and section state correct across Turbo navigation, history traversal, BFCache restoration, and viewport changes
  • run the desktop install ticker continuously without a visible dedicated toggle; pause it on pointer hover or keyboard focus, render it static for Reduced Motion, and omit it on compact mobile
  • keep animated transforms and clipping off shadow-owning surfaces so elevation survives animation and navigation
  • run CI system tests sequentially with PARALLEL_WORKERS=1

Security

  • keep Omarchy theme synchronization local-only, bounded, allowlisted, and fail-closed
  • never execute theme or plugin repository code
  • use complete SQL literals for JSON taxonomy suggestion identifiers while keeping user search values bound and escaped
  • retain bounded preview, manifest, and search payload handling

Verification

  • bin/rails db:test:prepare test — 354 runs in parallel, 1,881 assertions, 0 failures
  • PARALLEL_WORKERS=1 bin/rails test:system — 111 runs, 1,561 assertions, 0 failures
  • bin/rubocop — 214 files, 0 offenses
  • bin/brakeman --no-pager — 0 warnings, exit 0
  • bin/bundler-audit — no vulnerabilities
  • bin/importmap audit — no vulnerable packages
  • JavaScript syntax checks — passed
  • git diff --check — passed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant