migration start
Some checks failed
CI - Multi-Platform Native / Build iOS (RSSuper) (push) Has been cancelled
CI - Multi-Platform Native / Build macOS (push) Has been cancelled
CI - Multi-Platform Native / Build Android (push) Has been cancelled
CI - Multi-Platform Native / Build Linux (push) Has been cancelled
CI - Multi-Platform Native / Build Summary (push) Has been cancelled

This commit is contained in:
2026-03-29 14:12:17 -04:00
parent af87f9f571
commit d346b527e6
51 changed files with 4476 additions and 69 deletions

156
README.md
View File

@@ -1,56 +1,136 @@
# Welcome to your Expo app 👋
# RSSuper - Native Multi-Platform RSS Reader
This is an [Expo](https://expo.dev) project created with [`create-expo-app`](https://www.npmjs.com/package/create-expo-app).
A native RSS reader built for iOS, macOS, Android, Linux, and Windows.
## Get started
## Architecture
1. Install dependencies
RSSuper uses a native-first approach, building truly native applications for each platform:
```bash
npm install
```
| Platform | Language | UI Framework | Status |
|----------|----------|--------------|--------|
| iOS | Swift | SwiftUI | ✅ Active |
| macOS | Swift | SwiftUI | ✅ Active |
| Android | Kotlin | Jetpack Compose | 🚧 Setup |
| Linux | C/Vala | GTK4 + Libadwaita | 🚧 Setup |
| Windows | C# | WinUI 3 | 🔜 Planned |
2. Start the app
## Quick Start
```bash
npx expo start
```
In the output, you'll find options to open the app in a
- [development build](https://docs.expo.dev/develop/development-builds/introduction/)
- [Android emulator](https://docs.expo.dev/workflow/android-studio-emulator/)
- [iOS simulator](https://docs.expo.dev/workflow/ios-simulator/)
- [Expo Go](https://expo.dev/go), a limited sandbox for trying out app development with Expo
You can start developing by editing the files inside the **app** directory. This project uses [file-based routing](https://docs.expo.dev/router/introduction).
## Get a fresh project
When you're ready, run:
### Build All Platforms
```bash
npm run reset-project
./scripts/build.sh
```
This command will move the starter code to the **app-example** directory and create a blank **app** directory where you can start developing.
### Build Specific Platform
### Other setup steps
```bash
# iOS/macOS
./scripts/build.sh -p ios
- To set up ESLint for linting, run `npx expo lint`, or follow our guide on ["Using ESLint and Prettier"](https://docs.expo.dev/guides/using-eslint/)
- If you'd like to set up unit testing, follow our guide on ["Unit Testing with Jest"](https://docs.expo.dev/develop/unit-testing/)
- Learn more about the TypeScript setup in this template in our guide on ["Using TypeScript"](https://docs.expo.dev/guides/typescript/)
# Android
./scripts/build.sh -p android
## Learn more
# Linux
./scripts/build.sh -p linux
```
To learn more about developing your project with Expo, look at the following resources:
## Project Structure
- [Expo documentation](https://docs.expo.dev/): Learn fundamentals, or go into advanced topics with our [guides](https://docs.expo.dev/guides).
- [Learn Expo tutorial](https://docs.expo.dev/tutorial/introduction/): Follow a step-by-step tutorial where you'll create a project that runs on Android, iOS, and the web.
```
RSSuper/
├── native-route/ # Native platform projects
│ ├── ios/ # iOS/macOS Xcode project
│ ├── android/ # Android Gradle project
│ ├── linux/ # Linux Meson project
│ └── windows/ # Windows project (planned)
├── scripts/ # Build scripts
│ ├── build.sh # Main build orchestrator
│ ├── build-ios.sh # iOS/macOS builder
│ ├── build-android.sh # Android builder
│ ├── build-linux.sh # Linux builder
│ └── common.sh # Shared utilities
├── src/ # Expo/web project (legacy)
└── .github/workflows/ # CI configuration
```
## Join the community
## Build System
Join our community of developers creating universal apps.
The build system is adapted from the Nessa project, providing:
- [Expo on GitHub](https://github.com/expo/expo): View our open source platform and contribute.
- [Discord community](https://chat.expo.dev): Chat with Expo users and ask questions.
- **Cross-platform build orchestration**
- **Automatic Xcode version selection**
- **Build reports with error extraction**
- **GitHub Actions CI/CD**
- **Consistent build experience across platforms**
### Build Commands
```bash
# Build all platforms (debug)
./scripts/build.sh
# Build release
./scripts/build.sh -t release
# Build specific platforms
./scripts/build.sh -p ios,android
# Run tests
./scripts/build.sh --test
# Clean builds
./scripts/build.sh -a clean
```
### Individual Platform Scripts
```bash
# iOS/macOS
./scripts/build-ios.sh [Debug|Release] [iOS|macOS] [destination] [action]
# Android
./scripts/build-android.sh [debug|release] [assemble|build|test|clean]
# Linux
./scripts/build-linux.sh [debug|release] [build|install|test|clean|setup]
```
## CI/CD
GitHub Actions automatically builds all platforms on:
- Pull requests
- Pushes to main/develop branches
- Manual workflow dispatch
See `.github/workflows/ci.yml` for configuration.
## Platform Details
### iOS/macOS
- Swift + SwiftUI
- Xcode build system
- Minimum: iOS 16.0+
### Android
- Kotlin + Jetpack Compose
- Gradle build system
- Minimum: Android 7.0 (API 24)
### Linux
- C/Vala + GTK4 + Libadwaita
- Meson build system
- Requires: GTK4, Libadwaita, SQLite3
### Windows (Planned)
- C# + WinUI 3
- MSBuild/Cake build system
## Learn More
- [Native Route README](native-route/README.md) - Detailed platform documentation
- [Build Scripts](scripts/) - Build system source
## License
MIT