ソース情報
- リポジトリ
- AzureFoxStudios/wabi
- ソースの最終更新活動
- 2026年8月28日 15:43
- 検出された SKILL.md の言語
- 英語
- スター
- 4
- フォーク
- 2
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/AzureFoxStudios/wabi --skill wabi-server-rail-chromeコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
SKILL.md を表示中
| name | wabi-server-rail-chrome |
| description | ServerRail density, side, popout, logo, persistence. |
| version | 1.0.0 |
| metadata | {"hermes":{"tags":["wabi","frontend","sveltekit","sidebar","rail","density","side"],"related_skills":["wabi-sidebar-channel-ia","wabi-sidebar-nav","wabi-frontend-architecture"]}} |
ServerRail.svelte is a server switcher — which community am I in. NOT a surface switcher (that lives in WorkspaceViewBar / ChatHeader). The two axes must NOT merge into one strip.
Top-to-bottom structure:
.rail-home — Wabi logo button (identity anchor, goes to hub or opens server switcher).rail-divider (desktop only).rail-list — {#each $savedServerRailItems}: saved servers + server folders with full drag-and-drop reorder, drop positions 'before' | 'after' | 'inside' (inside → creates folder)centerPanelView.set('admin'), + → opens server switcherCSS lives in frontend/src/styles/components/server-rail.css (no <style> block in component).
| State | Width | Behavior |
|---|---|---|
full (default) | 92px | icon + tooltip, server names in popout |
icons-only | 48px | tooltips on hover, no labels — the daily driver |
hidden | 0px | invisible; a thin 4px edge strip catches hover/swipe to reveal |
Hover-to-reject is wrong — it hides discoverability, breaks touch, triggers on mouse-accident. Discord's default is icons-only (always visible, compact).
CSS classes: .density-full, .density-icons-only, .density-hidden.
GET/PUT /api/user/layout (key railSide)..rail-right flips border-right → border-left..rail-right .folder-popout { left: auto; right: 100%; } so the popout doesn't overflow off-screen..mobile-folder-tray also flips.The logo is the identity anchor → should go to a server hub, not open a surface-switcher panel. Currently wired to dispatch('manage') (server switcher) until a center-stage hub view exists. The intent is "identity home," not "surface switch."
railDensity, railSide, railLayoutLoaded in layoutStoreStates.ts.frontend/src/lib/railLayout.ts — loadRailLayout() on mount, persistRailLayout() debounced on change.GET/PUT /api/user/layout endpoints in core/crates/wabi-server/src/api/user.rs. Validates JSON, allows only known keys (layout, theme, railDensity, railSide). Stored via UserLayout projection under index user_layouts.railDensity = 'full', railSide = 'left'.WorkspaceViewBar / ChatHeader (center-stage workspace pills). Merging them into the rail creates semantic collision — the user can't tell if a click switches community or view.wabi-sidebar-channel-iawabi-sidebar-navwabi-frontend-architecture