reez avatar

bitcoinui

Bitcoin UI review (iOS)

作者 reez|オープンソース

BitcoinUI Review

Overview

Review iOS SwiftUI code and screens for Bitcoin-specific UX correctness, iOS HIG alignment, and accessibility. Prefer suggesting BitcoinUI components when they match the pattern.

Quick Start

  • If $ARGUMENTS is a file or list of files, review those directly.
  • If $ARGUMENTS is a folder, review all SwiftUI .swift files in that folder (recursive). If the folder is large, ask to narrow the scope.
  • If $ARGUMENTS is empty, ask: "Using the bitcoinui skill for an iOS review. Which file(s) or folder should I review?" Do not scan the whole repo without user consent.

Review Workflow

  1. Read the target file(s) before commenting.
  2. Apply the rubric in references/bitcoinui-rubric.md.
  3. Report issues by severity with line numbers, a short snippet, and a concrete fix. Include a direct URL in each Ref line.
  4. For Bitcoin-specific issues, include at least one Bitcoin Design Guide or BIP URL in the Ref line.
  5. Suggest BitcoinUI components when they would reduce errors or improve consistency.
  6. Omit any severity section with 0 findings (including Low).
  7. Low is for optional polish/consistency notes; skip it if there are no meaningful suggestions.
  8. Do not modify code unless the user asks; offer to fix if appropriate.

Output Format

Start directly with the BITCOINUI block; do not add any preamble text before it. If a folder is reviewed, list each file as its own section (file path + findings + severities). Omit any file section with 0 findings (do not list zero-findings files). Omit any severity section with 0 findings (including Low).

BITCOINUI

SendFeeView.swift
Findings: 0 high, 2 medium, 0 low

Medium
1) [UX L88] Fee picker lacks a high-fee warning
   Fix: Add a warning when fee >= 50% of amount.
   Ref: Bitcoin Design Guide — Send fees https://bitcoin.design/guide/daily-spending-wallet/sending/send-fees/
2) [A11Y L42] Icon-only close button has no label
   Fix: Add accessibilityLabel("Close")
   Ref: iOS HIG — Accessibility https://developer.apple.com/design/human-interface-guidelines/accessibility

ReceiveView.swift
Findings: 0 high, 1 medium, 0 low

Medium
1) [QR L19] QR payload uses uri directly; bech32 should be uppercased for QR only
   Fix: Uppercase only the bech32 address for QR encoding.
   Ref: BIP173 https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki

References

Use references/bitcoinui-rubric.md for Bitcoin-specific heuristics and iOS HIG checks. Load only the sections needed for the current review.