From db092c79a175e3283f479ee0b234b24bde3c736e Mon Sep 17 00:00:00 2001 From: soryu-co Date: Fri, 24 Apr 2026 13:15:29 +0000 Subject: Add Makima iOS app scaffold (M0 + M1 design system) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pure-native SwiftUI client for makima.jp under makima/ios/. M0 (scaffold) - XcodeGen project (iOS 18+, Swift 5.10, bundle co.soryu.makima) - Makefile targets: bootstrap, xcgen, ios-sim-fast, ios-device-fast, test, lint - GitHub Actions workflow ios-ci.yml — builds + runs XCTest on macos-14 - MIT repo root license already in place M1 (design system, web-aesthetic port) - Palette: #0c1729 background, #9bc3ff accent, #3f6fb3 border (ported from Tailwind) - Typography: SF Mono for chrome, uppercase tracked nav labels - Components: DashedBorder, GridOverlay, MastheadBar + WebSocketStatus pill, NavStripPlaceholder (NAV// prefix), JapaneseLongPressText (mobile analogue of JapaneseHoverText), Logo (reuses frontend/public/logo/makima-logo.svg with Canvas concentric-ring fallback), Badge - RootView demo screen: masthead, nav strip, logo, CONTROL SYSTEM badge, SYSTEM// status card, GLOSSARY// card with 命令/契約/聴取/史料 long-press terms Auth (v1 plan, not wired here): x-makima-api-key header — verified against src/server/auth.rs. Authorization: Bearer reserved for v1.1 Supabase OAuth. v1 plan doc: makima/ios/docs/ios-v1-plan.md Not in this PR: networking, WebSocket client, stores, feature surfaces (Home/Contracts/Tasks/Directives/Daemons/Listen), notifications. Those land across M2-M8 per the plan. --- makima/ios/project.yml | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 makima/ios/project.yml (limited to 'makima/ios/project.yml') diff --git a/makima/ios/project.yml b/makima/ios/project.yml new file mode 100644 index 0000000..5ec3eee --- /dev/null +++ b/makima/ios/project.yml @@ -0,0 +1,84 @@ +name: Makima +options: + bundleIdPrefix: co.soryu + deploymentTarget: + iOS: "18.0" + developmentLanguage: en + createIntermediateGroups: true + xcodeVersion: "16.0" + groupSortPosition: top + generateEmptyDirectories: true + +settings: + base: + SWIFT_VERSION: "5.10" + IPHONEOS_DEPLOYMENT_TARGET: "18.0" + ENABLE_USER_SCRIPT_SANDBOXING: YES + CURRENT_PROJECT_VERSION: "1" + MARKETING_VERSION: "0.1.0" + SWIFT_STRICT_CONCURRENCY: complete + CODE_SIGN_STYLE: Automatic + DEVELOPMENT_TEAM: "" + +targets: + Makima: + type: application + platform: iOS + sources: + - path: Sources/Makima + excludes: + - "**/.DS_Store" + resources: + - path: Sources/Makima/Resources + info: + path: Sources/Makima/App/Info.plist + properties: + CFBundleDisplayName: Makima + CFBundleShortVersionString: $(MARKETING_VERSION) + CFBundleVersion: $(CURRENT_PROJECT_VERSION) + LSRequiresIPhoneOS: true + UILaunchScreen: + UIColorName: BrandBackground + UISupportedInterfaceOrientations: + - UIInterfaceOrientationPortrait + UIUserInterfaceStyle: Dark + ITSAppUsesNonExemptEncryption: false + NSAppTransportSecurity: + NSAllowsArbitraryLoads: false + NSAllowsArbitraryLoadsForMedia: false + CFBundleURLTypes: + - CFBundleURLName: co.soryu.makima + CFBundleURLSchemes: + - makima + settings: + base: + PRODUCT_BUNDLE_IDENTIFIER: co.soryu.makima + TARGETED_DEVICE_FAMILY: "1" + ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME: BrandAccent + INFOPLIST_KEY_UIApplicationSceneManifest_Generation: YES + + MakimaTests: + type: bundle.unit-test + platform: iOS + sources: + - path: Tests/MakimaTests + dependencies: + - target: Makima + settings: + base: + PRODUCT_BUNDLE_IDENTIFIER: co.soryu.makima.tests + +schemes: + Makima: + build: + targets: + Makima: all + run: + config: Debug + test: + config: Debug + targets: + - MakimaTests + archive: + config: Release -- cgit v1.2.3