the signals and their derived score are provisional and subject to change.
validate manually before sharing.
9831702d3f4b44e0077657bc3ed6a035a3f82726a7e3bbb428174 weeks agoCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>99bd8c5c90974 weeks agoCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>fbb6a1cf51b04 weeks agoCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>535caea307134 weeks agoCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>4ee620fc55432 months agoCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>cb7778e4144e10 months agoCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>1e6a37ea046810 months agoCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>cbdff29eb99a1 year ago🤖 Generated with [Claude Code](https://claude.com/claude-code)AGENTS.mdname: Claude Code Review
on:
pull_request:
types: [review_requested]
# Optional: Only run on specific file changes
# paths:
# - "src/**/*.ts"
# - "src/**/*.tsx"
# - "src/**/*.js"
# - "src/**/*.jsx"
jobs:
claude-review:
# Only run if reviewer is 'claude'
if: contains(github.event.pull_request.requested_reviewers.*.login, 'claude')
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
issues: read
id-token: wriname: Claude Code
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]
jobs:
claude:
if: |
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review' && contains(github.event.r{
"mcpServers": {
"compose-hot-reload": {
"command": "./gradlew",
"args": [
"--no-daemon",
"--quiet",
"--console=plain",
":desktopApp:hotMcpServerJvm"
]
}
}
}
---
name: translation-release-audit
description: Audit FeedFlow localization, store listing, live App Store/Play Store listing state, and screenshot-copy changes. Use when checking whether new app translations were added or completed, whether store copy/localized listings changed, whether live store metadata is stale, or whether screenshots need to be regenerated or uploaded.
---
# Translation Release Audit
Run this audit when the user wants a release-readiness signal for translations, live store listings---
name: store-changelog
description: Generate, translate, and write FeedFlow release notes for every store (Google Play, App Store iOS, App Store macOS, Microsoft Store, Flatpak) from git history since a tag. Use when the user asks for changelogs, release notes, "what's new", or store descriptions for a release.
---
# Store Changelog Generator
Generate release notes for every FeedFlow store from the git history since a tag, get the user's approval, then translate them and write them into the repo files ---
name: validate-cloud-sync
description: Validate FeedFlow cloud-backup sync across supported platforms or onboard a new cloud provider using the shared regression harness and the real-device runbook.
---
# Validate cloud sync
Use the repository's two maintained references:
- [CLOUD_SYNC_TESTING.md](../../../docs/CLOUD_SYNC_TESTING.md) for the deterministic harness, supported source sets, provider boundaries and `allTests`.
- [CLOUD_SYNC_LIVE_TESTING.md](../../../docs/CLOUD_SYNC_LIVE_TESTING.md) for li---
name: update-play-listing
description: Update Google Play listing files (title, short description, full description) from storecopy source assets. Use when the user wants to update Play Store listings for a specific language or all languages, sync store copy to listing files, or refresh Play Store translations.
---
# Update Play Listing
Sync Google Play listing files from the storecopy source of truth.
## Source Files
All source data lives in `assets/storecopy/`:
- `{lang}/store_listing.json` — co---
name: update-microsoft-store-listing
description: Read or change FeedFlow's Microsoft Store listing with pcenter — listing text, screenshots, locales, submissions and rollouts. Use when inspecting live Store copy, syncing listing text from assets/storecopy, replacing Store screenshots, adding or removing a Store listing language, or rescuing a stuck submission or package rollout.
---
# Update the Microsoft Store listing
The Store is driven by [`pcenter`](https://github.com/prof18/pcenter-cli). Insta---
name: render-store-screenshots
description: Render FeedFlow store screenshots for one or more locales from repo copy, and verify every screen keeps its breathing room — top padding, gaps, and a full-size headline. Use when new translations land in assets/screenshotcopy, when screenshot copy changes, or when checking that a language still fits before a store upload.
---
# Render store screenshots
Generates the App Store / Play Store screenshots from the copy in this repo.
No design tool is involved ---
name: update-store-release-notes
description: Update and localize FeedFlow release notes when the user provides platform-specific changelog copy. Use for Android Google Play, iOS App Store, macOS App Store, and Windows Microsoft Store release-note updates, including requests to translate notes for every configured store locale.
---
# Update FeedFlow Store Release Notes
Use the user-provided copy as the source of truth. Preserve platform-specific wording; do not force one platform's copy onto another.
---
name: run-maestro-release-tests
description: Run the full FeedFlow Maestro release validation suite and produce HTML and Markdown pass/fail reports. Use when the user asks to run all Maestro tests, validate E2E coverage before release, check Android and iOS Maestro flows, or summarize failed FeedFlow E2E flows.
---
# Run Maestro Release Tests
Run FeedFlow's full local Maestro release gate across Android and iOS, then report what passed, what failed, and where the logs are.
## Workflow
1. Confirm the---
name: sentry-note-crash-fix
description: Investigate and fix FeedFlow crashes from Sentry triage notes. Use when the user provides a local note path, note URL, Gmail-exported note, Sentry issue URL, Sentry issue ID, or event ID and asks to check why a crash is happening, explain the root cause, propose or implement a fix, validate it, commit it, or close/resolve the Sentry issue.
---
# Sentry Note Crash Fix
## Workflow
1. Read the user-provided note or Sentry URL first.
- Extract `sentry_issue_id`---
name: verify-flatpak
description: Regenerate and verify FeedFlow's Flatpak offline build in a local UTM arm64 Linux VM. Generates the Maven sources files from feed-flow inside the Flatpak SDK, syncs the Flathub packaging repo into the VM, runs flatpak-builder, collects missing Maven coordinates, checks x64/arm64 native parity, download-checks x86_64-only sources and smoke-launches the app. Use when the user asks to verify, test or check the Flatpak build, update or regenerate the Flatpak sources, or pre# AGENTS.md
## Maestro E2E
Follow `e2e/maestro/maestro-e2e-guide.md` when writing, changing, or running Maestro flows.
Keep `e2e/maestro/maestro-e2e-tests.md` updated when adding, removing, renaming, or materially reshaping a flow. If the physical YAML inventory changes, update `e2e/maestro/maestro-e2e-tests.html` too.
Use platform-specific flows under:
- `android/smoke/` or `android/regression/`
- `ios/smoke/` or `ios/regression/`
Smoke and regression flows must be deterministic: use debug seed deep # AGENTS.md
## Project Overview
FeedFlow is a multi-platform RSS reader built with Kotlin Multiplatform, Compose Multiplatform and SwiftUI.
It targets Android, iOS, macOS, Windows, and Linux.
The app uses SwiftUI for iOS-specific UI components and Compose for all other platforms.
All the business logic is shared via Kotlin Multiplatform.
## Project Structure & Module Organization
### Module Structure
- **core/**: Core domain models and utilities shared across all platforms
- **shared/**: Main business l../AGENTS.mdnone