How claration/feather works
Feather is an iOS sideloading app for signing and installing apps with developer certificates. The main user journey is to browse AltStore-compatible sources or import an app, download it, configure signing and optional tweaks, sign it, then package and install it. The repository also includes certificate and source management, update discovery, and app customization. Edges are limited to relationships shown in the README or source index; several README-listed capabilities have no sampled implementation detail, so those links are marked unverified.
Main entry points: InstallPreviewView.swift Install preview · UpdateManager.swift Update discovery · LibraryView.swift App library · SigningHandler.swift Signing handler
Components 26
Sources and discovery
- Source browsing
Feather/Views/Sources - Source view model
Feather/Views/Sources/SourcesViewModel.swift - Repository model
AltSourceKit/Sources/AltSourceKit/Models/ASRepository.swift - JSON fetch
NimbleKit/Sources/NimbleJSON/NBFetchService.swift - Update discovery
Feather/Backend/Observable/UpdateManager.swift
App acquisition and install
- Download view
Feather/Views/Download/DownloadHeaderView.swift - Download manager
Feather/Backend/Observable/DownloadManager.swift - App library
Feather/Views/Library/LibraryView.swift - Archive handler
Feather/Utilities/Handlers/ArchiveHandler.swift - Install preview
Feather/Views/Library/Install/InstallPreviewView.swift - Server installer
Feather/Backend/Server/ServerInstaller.swift - Install status
Feather/Backend/Observable/InstallerStatusViewModel.swift - Background downloads
Feather/Utilities/BackgroundTaskManager.swift - Background audio
Feather/Utilities/BackgroundAudioManager.swift
Signing and customization
- Signing options UI
Feather/Views/Signing/SigningView.swift - Signing options
Feather/Backend/Observable/OptionsManager.swift - Signing handler
Feather/Utilities/Handlers/SigningHandler.swift - Tweak injection
Feather/Utilities/Handlers/TweakHandler.swift - Zsign adapter
Feather/Utilities/Handlers/ZsignHandler.swift
Local state
- Core Data storage
Feather/Backend/Storage/Storage.swift - Certificate storage
Feather/Backend/Storage/Storage+Certificate.swift - Source provenance
Feather/Backend/Storage/Storage+SourceMetadata.swift - Certificate reader
Feather/Utilities/CertificateReader/CertificateReader.swift
App interface and shared UI
- Feather app
Feather/FeatherApp.swift - Shared button
NimbleKit/Sources/NimbleViews/Views/NBButton.swift
Other components
- User
Connections 35
- User → Feather app: uses
- Feather app → Download view: shows
Feather/FeatherApp.swift - Feather app → Core Data storage: uses
Feather/FeatherApp.swift - Feather app → Source browsing: shows
- User → Source browsing: browses
- Source browsing → Source view model: uses
- Source view model → Repository model: handles
- Update discovery → JSON fetch: fetches with
Feather/Backend/Observable/UpdateManager.swift - Update discovery → Repository model: parses
Feather/Backend/Observable/UpdateManager.swift - Update discovery → Core Data storage: reads
Feather/Backend/Observable/UpdateManager.swift - Feather app → Update discovery: uses
- Download view → Download manager: observes
Feather/Views/Download/DownloadHeaderView.swift - App library → Download manager: uses
Feather/Views/Library/LibraryView.swift - App library → Update discovery: uses
Feather/Views/Library/LibraryView.swift - App library → Core Data storage: reads
Feather/Views/Library/LibraryView.swift - App library → Install preview: opens
Feather/Views/Library/LibraryView.swift - Install preview → Archive handler: packages via
Feather/Views/Library/Install/InstallPreviewView.swift - Install preview → Server installer: starts
Feather/Views/Library/Install/InstallPreviewView.swift - Install preview → Install status: updates
Feather/Views/Library/Install/InstallPreviewView.swift - Install preview → Background audio: starts and stops
Feather/Views/Library/Install/InstallPreviewView.swift - Download manager → Background downloads: tracks
Feather/Backend/Observable/DownloadManager.swift - Download manager → Background audio: controls
Feather/Backend/Observable/DownloadManager.swift - User → Signing options UI: configures
- Signing options UI → Signing options: edits
- Signing handler → Signing options: reads
Feather/Utilities/Handlers/SigningHandler.swift - Signing handler → Tweak injection: injects with
Feather/Utilities/Handlers/SigningHandler.swift - Signing handler → Zsign adapter: signs with
Feather/Utilities/Handlers/SigningHandler.swift - Signing handler → Core Data storage: saves signed app
Feather/Utilities/Handlers/SigningHandler.swift - App library → Signing options UI: opens
Feather/Views/Library/LibraryView.swift - Signing handler → Certificate reader: reads certificate
Feather/Utilities/Handlers/SigningHandler.swift - Certificate storage → Core Data storage: persists
Feather/Backend/Storage/Storage+Certificate.swift - Certificate storage → Certificate reader: decodes via
Feather/Backend/Storage/Storage+Certificate.swift - Source provenance → Core Data storage: persists
Feather/Backend/Storage/Storage+SourceMetadata.swift - Update discovery → Source provenance: uses provenance
Feather/Backend/Observable/UpdateManager.swift - Install preview → Shared button: renders
Feather/Views/Library/Install/InstallPreviewView.swift