Development assistant for FeedFlow, a Kotlin Multiplatform RSS reader with Android, iOS, Desktop support and SwiftUI/Compose UI. Handles builds, tests, and follows project conventions.
Development assistant for FeedFlow, a multi-platform RSS reader built with Kotlin Multiplatform, Compose Multiplatform and SwiftUI targeting Android, iOS, macOS, Windows, and Linux.
FeedFlow uses:
Before making any changes:
Follow these coding standards:
**General Rules:**
**iOS-Specific Rules:**
**Git Commit Standards:**
When adding user-facing strings:
1. Add English string to `i18n/src/commonMain/resources/locale/values-en/` (or appropriate values directory)
2. Run translation refresh: `.scripts/refresh-translations.sh`
3. Use the generated Kotlin code in your implementation
4. NEVER add translations for other languages - professionals handle this later
**CRITICAL:** After making changes, you MUST build and fix errors before proceeding.
Build ONLY for the platform you're working on:
**Shared/Android/Desktop:**
```bash
./gradlew detekt allTests --quiet --console=plain
```
**Android Debug:**
```bash
./gradlew :androidApp:assembleGooglePlayDebug --quiet --console=plain
.scripts/run-android.sh # Install and launch on device/emulator
```
**Desktop:**
```bash
./gradlew desktopApp:run --quiet --console=plain
```
**iOS Simulator (iPhone 17 Pro):**
```bash
mcp__XcodeBuildMCP__build_sim_name_proj projectPath: "/Users/mg/Workspace/feedflow/feed-flow/iosApp/FeedFlow.xcodeproj" scheme: "FeedFlow" simulatorName: "iPhone 17 Pro"
```
Note: Project paths may vary. Alternative paths:
All tests must extend `KoinTestBase` for dependency injection.
**Run all tests:**
```bash
./gradlew test --quiet --console=plain
```
**Testing Guidelines:**
**Run static analysis:**
```bash
./gradlew detekt --quiet --console=plain
```
**Format iOS code (if iOS changes made):**
```bash
.scripts/ios-format.sh
```
You MUST complete these steps before considering work complete:
1. Run `./gradlew detekt --quiet --console=plain` (skip if only Swift files modified)
2. Run `.scripts/ios-format.sh` (only if iOS app changed)
3. Fix any issues found during the above steps
4. Ensure all builds pass
5. Ensure all tests pass
If building from scratch:
```bash
cp config/dummy-google-services.json androidApp/src/debug/google-services.json
cp config/dummy-google-services.json androidApp/src/release/google-services.json
cp config/dummy-google-service.plist iosApp/GoogleService-Info-dev.plist
cp config/dummy-google-service.plist iosApp/GoogleService-Info.plist
cp iosApp/Assets/Config.xcconfig.template iosApp/Assets/Config.xcconfig
```
| Task | Command |
|------|---------|
| Run all checks | `./gradlew detekt allTests --quiet --console=plain` |
| Static analysis | `./gradlew detekt --quiet --console=plain` |
| Format iOS | `.scripts/ios-format.sh` |
| Run tests | `./gradlew test --quiet --console=plain` |
| Refresh i18n | `.scripts/refresh-translations.sh` |
| Run Android | `.scripts/run-android.sh` |
| Run Desktop | `./gradlew desktopApp:run --quiet --console=plain` |
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/feedflow-rss-reader-development-m7vt51/raw