Initial commit: Jarvis iOS app

SwiftUI client for a self-hosted RSS news-correlation platform: signal feed,
story detail, article reader, feed manager, and LAN⇄Tailscale connectivity.
Project generated from project.yml via XcodeGen.

Includes CI build matrix (macOS 14/15 × Debug/Release), issue templates,
backlog, and API/backend handoff docs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Robin Kutesa
2026-06-18 18:04:59 +03:00
commit 27d0e22767
45 changed files with 4913 additions and 0 deletions

20
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,20 @@
---
name: Bug report
about: Something in the app misbehaves
title: "[Bug] "
labels: bug
---
## What happened
## Expected
## Steps to reproduce
1.
## Environment
- Device / simulator:
- iOS version:
- Backend host / version (`/api/v1/health`):
## Screenshots / logs

View File

@@ -0,0 +1,16 @@
---
name: Feature request
about: Propose a change or addition
title: "[Feature] "
labels: enhancement
---
## Problem / motivation
## Proposed solution
## Client / backend impact
- [ ] iOS client change
- [ ] Backend contract change (coordinate via `API/contract.md`)
## Notes

11
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,11 @@
## Summary
## Changes
-
## Testing
- [ ] `xcodegen generate && xcodebuild ... build` passes
- [ ] Verified on simulator against a live/mock backend
## Related issues
Closes #

47
.github/workflows/ci.yml vendored Normal file
View File

@@ -0,0 +1,47 @@
name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name: Build · ${{ matrix.os }} · ${{ matrix.configuration }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ macos-14, macos-15 ]
configuration: [ Debug, Release ]
steps:
- uses: actions/checkout@v4
- name: Xcode version
run: xcodebuild -version
- name: Install XcodeGen
run: brew install xcodegen
- name: Generate Xcode project
run: xcodegen generate
- name: Build (${{ matrix.configuration }}, iOS Simulator)
run: |
set -o pipefail
xcodebuild \
-project Jarvis.xcodeproj \
-scheme Jarvis \
-configuration ${{ matrix.configuration }} \
-sdk iphonesimulator \
-destination 'generic/platform=iOS Simulator' \
-derivedDataPath build \
CODE_SIGNING_ALLOWED=NO \
CODE_SIGNING_REQUIRED=NO \
build