Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .agents/commands/pr.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ If no base branch argument provided, detect the repo's default branch:
- Fetch 10 most recent PRs (open or closed) from the extracted repo for writing style reference
- Run `git log $base..HEAD --oneline` for commit messages
- Run `git diff $base...HEAD --stat` for understanding scope of changes
- Read `docs/screens-map.md` as the starting point for locating relevant Figma frames when the diff has user-visible UI changes
- **If custom instructions provided:**
- If instructions reference a specific commit SHA (pattern like `commit [a-f0-9]{7,40}`):
- Read full commit message: `git log -1 --format='%B' <commit_sha>`
Expand Down Expand Up @@ -157,6 +158,15 @@ When the user provides custom instructions after `--`:
- Use screen names from code, formatted as separate words without the `Screen` suffix, for example `SendAmountScreen` becomes `Send Amount`.
- Use short-form wording like `in-sheet` for sheet screens, `nav` for navigation, `back` for back nav, and `LN` for Lightning Network.

**Design Section:**
Always include `### Design` and apply exactly one case:
- User-visible UI changes with an existing design: link the relevant Figma frames. Start with `docs/screens-map.md` for mapped screens; link known handoff frames directly for sheets, dialogs, reusable views, and other UI outside the map.
- UI changes mapped to `todo` or `n/a`, or other UI changes without an available design, including new features: write `N/A — no design available.` Creating a design is never required.
- Changes without user-visible UI changes: write `N/A — no UI changes.`
- Genuinely uncertain frame matches: report the uncertainty honestly; never invent links.

Reviewers may make at most one advisory request per PR when an existing-design UI link is omitted or an out-of-map `N/A — no design available.` claim is unverified. Valid mapped `todo`/`n/a` cases and `N/A — no UI changes.` require no request. Missing links never block approval, CI, PR creation, or review readiness.

**For library repos (has `bindings/` directory or `Cargo.toml`):**
Structure manual QA around integration validation only. Automated checks belong under `#### Automated Checks`.

Expand Down
4 changes: 4 additions & 0 deletions .agents/commands/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,10 @@ Bump version to {newVersionName} (build {newVersionCode}) for release.
- `versionCode`: {oldVersionCode} → {newVersionCode}
- `versionName`: {oldVersionName} → {newVersionName}

### Design

N/A — no UI changes.

### Preview

N/A
Expand Down
7 changes: 7 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,13 @@

<!-- Extended summary of the changes, can be a list. -->

### Design

<!-- User-visible UI change with an existing design: link the relevant Figma frame(s). Start with docs/screens-map.md for mapped screens; link known handoff frames directly for sheets, dialogs, reusable views, and other UI outside the map. -->
<!-- UI change mapped to todo or n/a, or other UI change without an available design, including a new feature: N/A — no design available. Creating a design is not required. -->
<!-- No user-visible UI change: N/A — no UI changes. -->
<!-- Genuinely uncertain frame match: state that honestly; never invent a link. -->

### Preview

<!-- Insert relevant screenshot / recording -->
Expand Down
6 changes: 6 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,12 @@ suspend fun getData(): Result<Data> = withContext(Dispatchers.IO) {
- ALWAYS follow Material3 design guidelines for UI components
- When building from a Figma frame, reuse only scaffolding (sheet host, `SheetTopBar`, buttons, typography); NEVER swap a design-specific illustration/animation for a lookalike. Export the frame's assets via the Figma MCP and read animation timing/easing/direction from prototype reactions (`use_figma` → `node.reactions`)
- ALWAYS resolve a changed `*Screen.kt` to its Figma frame through `docs/screens-map.md` (`Flow › Frame` on the latest `Bitkit - Handoff vNN` page). When adding or removing a `*Screen.kt`, add or drop its row there (`todo` when the design does not exist yet); `ScreensMapTest` fails otherwise
- ALWAYS fill the PR `### Design` section:
- User-visible UI changes with an existing design: link the relevant Figma frames. Start with `docs/screens-map.md` for mapped screens; link known handoff frames directly for sheets, dialogs, reusable views, and other UI outside the map.
- UI changes mapped to `todo` or `n/a`, or other UI changes without an available design, including new features: use `N/A — no design available.`; creating a design is never required.
- Changes without user-visible UI changes: use `N/A — no UI changes.`
- Genuinely uncertain frame matches: report the uncertainty honestly; never invent links.
- Code review may make at most one advisory request per PR when an existing-design UI link is omitted or an out-of-map `N/A — no design available.` claim is unverified. Valid mapped `todo`/`n/a` cases and `N/A — no UI changes.` require no request. Missing links never block approval or CI.
- ALWAYS ensure proper error handling in coroutines
- ALWAYS acknowledge datastore async operations run synchronously in a suspend context
- NEVER use `runBlocking` in suspend functions
Expand Down
7 changes: 7 additions & 0 deletions docs/screens-map.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ Frame names are stable across handoff iterations; node ids are not, so the map l
| Android | Figma |
| - | - |
| CreatePaymentRequestScreen.kt | Payment Request (from Receive > Contacts OR Contact profile OR Payment Requests) › Request payment enter amount |
| IncomingPaymentRequestDetailsScreen.kt | Subscriptions › Payment Request Details |
| PaymentRequestsScreen.kt | Payment Requests › Payment Requests |

## ui/screens/profile
Expand Down Expand Up @@ -116,6 +117,12 @@ Frame names are stable across handoff iterations; node ids are not, so the map l
| shopDiscover/ShopDiscoverScreen.kt | Shop (Bitrefill & BTCMaps) › Shop Discover |
| shopWebView/ShopWebViewScreen.kt | Shop (Bitrefill & BTCMaps) › Shop Gift Cards |

## ui/screens/subscriptions

| Android | Figma |
| - | - |
| SubscriptionsScreen.kt | Subscriptions › Subscriptions overview |

## ui/screens/transfer

| Android | Figma |
Expand Down