Skip to content

Build native setup and detail app #5

@cbusillo

Description

@cbusillo

Objective

Build the native macOS companion app surface for provider setup, multiple logins, credentials, refresh status, and detailed usage.

Finish Line

A local macOS app can add and manage multiple provider accounts, store credentials locally, show current snapshot state, surface refresh errors, and provide a detail view that the widget can deep-link into.

Current Status

State: Current branch has a native shell that reads account config and snapshots, but the app surface is not ready: setup is displayed as detail/debug content, sidebar selection only drives the right inspector, and the center pane is dominated by widget previews. Product direction now favors a real overview in the main window and standard macOS Settings for account management.
Next action: Implement #23 app information architecture reset, then #25 Settings-based setup.
Blocked by: Need layout decision on two-pane app versus retaining a right inspector.
Last verified: 2026-05-07.

Scope

  • SwiftUI macOS app target.
  • Account setup and editing.
  • Keychain-backed secret storage.
  • Refresh controls and diagnostics.
  • Provider/account detail pages with charts/history placeholders or first implementation.
  • Deep-link routing from widget interactions.

Acceptance Criteria

  • App can create, update, disable, and remove provider accounts.
  • Secrets are not stored in plaintext files or logs.
  • App can display current normalized snapshots from local storage.
  • Widget tap opens the relevant detail context in the app.

Relationships

Validation

  • scripts/commit-gate.sh passed locally with 40 tests.
  • swift run ContextPanelPreview launched locally and was visually inspected by screenshot.
  • Screenshot showed the shell rendering cached/setup state; sidebar contrast was adjusted after inspection.
  • Account configuration tests cover default config, round-trip persistence, corrupt files, disabled accounts, and missing Gemini env secrets.
  • PR Add OpenAI limit probe prototype #14 CI passed on commit cc40192.
  • PR Add OpenAI limit probe prototype #14 CodeQL passed on commit cc40192.

Decisions

Open Questions

  • Standard app window first, menu bar extra first, or both?

Metadata

Metadata

Assignees

No one assigned

    Labels

    planDurable planning issue

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions