Skip to content

Releases: Open330/barshelf

BarShelf 0.1.3

Choose a tag to compare

@jiunbae jiunbae released this 15 Jul 11:14
08f6b62

BarShelf 0.1.3

This release focuses on launch trust, safer third-party widgets, and
the first-run/authoring experience.

Requires macOS 13+ on Apple Silicon. Script widgets need
Deno (brew install deno); exec and workflow widgets do
not.

Highlights

  • Fail-closed permissions — exec and workflow commands now require an exact
    allowlist match. File reads, thumbnails, drag items, and open/reveal actions
    are restricted to approved readPaths, including symlink-escape checks.
  • Clearer onboarding — permission-free widgets open immediately; privileged
    widgets show file roots, network hosts, environment values, storage, and
    command access before approval.
  • Safer installs and updates — remote installs require HTTPS, redirects stay
    on an approved origin, and widget updates are staged before the live package
    is replaced.
  • Keyboard and VoiceOver polish — search fields keep their navigation keys,
    actionable containers use real buttons, and SDK accessibility label/hint/value
    metadata reaches the native renderer.
  • Authoring contract repair — official schema URLs are publishable from the
    project site, SDK container/grid types match the renderer, and unsafe entry
    paths are rejected by validation and runtime.
  • Release gate — public packaging now requires Developer ID signing,
    notarization, stapling, Gatekeeper assessment, and matching app/CLI versions.

bsf ships as the short alias; commands and documentation use the canonical
barshelf name.

Full changelog: v0.1.2...v0.1.3

BarShelf 0.1.2

Choose a tag to compare

@jiunbae jiunbae released this 12 Jul 07:42
9603fba

BarShelf 0.1.2

This release makes external widgets first-class, improves the native widget
gallery, and prevents usage widgets from polling while their popup is closed.

Requires macOS 13+ on Apple Silicon. Script widgets need
Deno (brew install deno); exec and workflow widgets do
not.

Highlights

  • Popup-only refresh policy — widgets can declare popupOnly so interval,
    wake/deadline, watcher, and event refresh paths remain dormant until the
    BarShelf popup is visible. This is especially useful for rate-limited usage
    APIs.
  • External widget ownership — custom widgets install directly from their
    own repository URL, including GitHub /tree/{branch}/{subdirectory} links.
    Widget packages no longer need to be copied into the BarShelf registry.
  • Native aas Usage adapter — additive support for the aas usage --json
    contract, rendered as compact Claude/Codex quota cards with reset times and
    vector provider marks. The widget package itself now lives in the
    aas repository.
  • Gallery and visual polish — a shelved gallery layout, two-column usage
    meters, larger menu-bar mark, and refreshed light/dark product screenshots.
  • Native muxa rows — muxa Watch uses compact two-line native rows instead
    of a terminal-style table.

Install the aas widget

barshelf install https://github.com/Open330/aas/tree/main/widgets/barshelf-aas-usage

The older mbk executable remains available as a compatibility alias; new
commands and documentation use barshelf.

Full changelog: v0.1.1...v0.1.2

BarShelf 0.1.1

Choose a tag to compare

@jiunbae jiunbae released this 10 Jul 10:01
523b745

BarShelf 0.1.1

A big quality pass on top of 0.1.0: a curated set of native-looking widgets, a
much more capable visual builder, clickable widgets, and a lot of polish. The
app is Developer ID–signed and Apple-notarized — double-click to open.

Requires macOS 13+ on Apple Silicon. Script widgets need Deno
(brew install deno); exec and workflow widgets work without it.

Highlights

  • Native widget gallery — a curated set styled like real macOS/iOS widgets:
    content-based color, per-widget accent, and a Fit / fixed-height layout.
    Today · Calendar · Clock · Weather · Exchange · Stock · Battery · System ·
    Network · Recent Files · aas Usage · OTP Codes · muxa Watch · Downloads ·
    GitHub Status · Reminders · Now Playing.
  • Clickable widgets — like a real widget, clicking a card opens its companion
    app or page (Today → Calendar, System → Activity Monitor, Stock → Yahoo
    Finance, Weather → Weather app, …) via a new openApp action.
  • In-app management — hub window, drag to reorder / reposition widgets,
    per-card edit button, pin, disable, move-to-panel, and independently
    configurable duplicate instances of the same widget package.
  • One muxa source per card — duplicate muxa Watch into separate Local or
    SSH-host cards, each with its own settings and latest-activity rows. Explicit
    barshelf://refresh links refresh every instance even while the popover is
    closed.
  • OTP service icons — OTP Codes rows lead with the service's favicon
    (letter-tile fallback), fetched only through the widget's declared network
    allowlist and switchable off with a "Show service icons" setting.

Visual builder

  • More sources — run a command, a shell pipeline (now correctly run under
    /bin/sh -c), an HTTP JSON endpoint with request headers, a watched folder, or
    pasted/static JSON.
  • Richer displays — list, table, single value, plain text, and meters:
    add multiple meters, each a Bar or Ring, grouped into a panel.
  • Native list rows — an optional secondary line (subtitle) and trailing
    right-aligned value, plus a local search field that filters rows without a
    re-run.
  • Refine — filter / sort / limit and a per-row click action.
  • Readable permissions — the approval card summarizes what a widget runs
    (e.g. "Run system tools: df, top, memory_pressure") instead of a raw script.

Workflow engine

  • Per-widget storage / persistence (KV + TTL), a switch conditional node,
    logic & arithmetic functions, string literals, and array-index paths.

Fixes

  • Shell ${var} no longer collides with workflow ${expr} interpolation.
  • Shell/exec widgets get a sane PATH; battery/system/network/calendar use
    absolute tool paths and read reliably.
  • Removed the duplicated card header; reliable card heights across sizes.
  • Drag-to-reorder now shows a preview and a drop indicator.

Notes

  • The bundled CLI is now barshelf (was mbk).

Full changelog: v0.1.0...v0.1.1

BarShelf 0.1.0

Choose a tag to compare

@jiunbae jiunbae released this 08 Jul 02:13
0d9b93f

BarShelf — 스크립터블 macOS 메뉴바 위젯 플랫폼. Developer ID 서명 + Apple 공증 완료 (더블클릭으로 바로 실행).

설치

BarShelf-0.1.0-arm64.zip → 압축 해제 → /Applications로 이동 → 더블클릭.
(공증되어 Gatekeeper 우회 조작이 필요 없습니다.)
상세: docs/INSTALL.md

구성

  • BarShelf.app — 메뉴바 앱 (macOS 13+, Apple Silicon)
  • mbk — 위젯 제작 CLI (install/new/validate/pack/list)
  • SHA256SUMS

하이라이트

  • 실행 계층 3층: exec(CLI→뷰트리) / workflow(선언적 DSL) / script(Deno JSON-RPC)
  • Shortcuts 스타일 위젯 빌더, 위젯 갤러리, URL 설치(GitHub/zip/딥링크)
  • 앱 설정(메뉴바 아이콘·성능·모니터링), 첫 실행 온보딩
  • 번들 위젯: hello, aas-usage, otpeek, recent-files, clock-script

🤖 Generated with Claude Code