Skip to content

Commit 7ea1e2b

Browse files
committed
Initial commit: SwiftUI Indie Stack
Production-ready iOS app template with offline-first architecture. Features: - Offline-first with optional Firebase backend - RevenueCat subscription integration - TelemetryDeck privacy-preserving analytics - Streak system with widgets - GitHub-based CMS for content - Apple/Google Sign-In support
0 parents  commit 7ea1e2b

91 files changed

Lines changed: 20364 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
build-ios:
11+
name: Build iOS App
12+
runs-on: macos-latest
13+
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v4
17+
18+
- name: Select Xcode
19+
run: sudo xcode-select -s /Applications/Xcode.app
20+
21+
- name: Build
22+
run: |
23+
cd ios
24+
xcodebuild -project MyApp.xcodeproj \
25+
-scheme MyApp \
26+
-sdk iphonesimulator \
27+
-destination 'platform=iOS Simulator,name=iPhone 16' \
28+
-quiet \
29+
build
30+
31+
build-firebase-functions:
32+
name: Build Firebase Functions
33+
runs-on: ubuntu-latest
34+
35+
defaults:
36+
run:
37+
working-directory: firebase-functions/functions
38+
39+
steps:
40+
- name: Checkout
41+
uses: actions/checkout@v4
42+
43+
- name: Setup Node.js
44+
uses: actions/setup-node@v4
45+
with:
46+
node-version: '18'
47+
cache: 'npm'
48+
cache-dependency-path: firebase-functions/functions/package-lock.json
49+
50+
- name: Install dependencies
51+
run: npm ci
52+
53+
- name: Build
54+
run: npm run build
55+
56+
- name: Lint
57+
run: npm run lint

.gitignore

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# Xcode
2+
*.xcuserstate
3+
*.xcworkspace
4+
xcuserdata/
5+
DerivedData/
6+
*.xccheckout
7+
*.moved-aside
8+
*.hmap
9+
*.ipa
10+
*.dSYM.zip
11+
*.dSYM
12+
13+
# Swift Package Manager
14+
.build/
15+
.swiftpm/
16+
Packages/
17+
Package.resolved
18+
19+
# CocoaPods (if used)
20+
Pods/
21+
Podfile.lock
22+
23+
# Carthage (if used)
24+
Carthage/Build/
25+
Carthage/Checkouts/
26+
27+
# macOS
28+
.DS_Store
29+
.AppleDouble
30+
.LSOverride
31+
._*
32+
33+
# Node.js (Firebase Functions)
34+
node_modules/
35+
npm-debug.log
36+
yarn-error.log
37+
firebase-functions/functions/lib/
38+
39+
# Firebase
40+
.firebase/
41+
*.log
42+
43+
# Environment files
44+
.env
45+
.env.local
46+
.env.*.local
47+
GoogleService-Info.plist
48+
49+
# IDE
50+
.idea/
51+
.vscode/
52+
*.swp
53+
*.swo
54+
*~
55+
56+
# AI Assistant configs (keep project-agnostic)
57+
CLAUDE.md
58+
.claude/
59+
.cursor/
60+
.aider/
61+
62+
# Build artifacts
63+
build/
64+
*.app
65+
*.framework
66+
*.dylib
67+
*.a
68+
69+
# Test artifacts
70+
*.xcresult
71+
coverage/
72+
73+
# Archives
74+
*.xcarchive
75+
76+
# Secrets (never commit)
77+
*.pem
78+
*.p12
79+
*.p8
80+
secrets/
81+
credentials/

0 commit comments

Comments
 (0)