@ondeinference / klepon / commits / 2a1d016

Tighten README copy

Seto Elkahfi committed May 15, 2026 at 08:21 UTC 2a1d016367b7e0caafc1153fc6ce0480c7112c8c
1 file changed +27 -138
README.md
+27 -138
@@ -1,164 +1,53 @@
1 -# Klepon: Taste of Indonesia
1 +<h1 align="center">Klepon</h1>
2
3 -[![Join the Klepon TestFlight](https://img.shields.io/badge/TestFlight-Join%20beta-0A84FF?logo=apple&logoColor=white)](https://testflight.apple.com/join/CRRpT6a5)
3 +<p align="center">
4 + <strong>Taste of Indonesia.</strong>
5 +</p>
6
5 -Klepon is an iPhone-first SwiftUI app for exploring Indonesian dishes, ingredients, and food traditions. The app is built to feel warm, simple, and curated rather than like a generic chatbot or a giant food database.
7 +<p align="center">
8 + <a href="https://apps.apple.com/us/app/klepon-taste-of-indonesia/id6769424800"><img src="https://img.shields.io/badge/App%20Store-Download-235843?style=flat-square&labelColor=17211D" alt="App Store"></a>
9 + <a href="https://testflight.apple.com/join/CRRpT6a5"><img src="https://img.shields.io/badge/TestFlight-Join%20beta-235843?style=flat-square&labelColor=17211D" alt="TestFlight"></a>
10 +</p>
11
7 -## Why this project exists
12 +Klepon is a small SwiftUI guide to Indonesian dishes, ingredients, and food traditions.
13
9 -Indonesian food deserves better than scattered search results and shallow summaries.
14 +## What it does
15
11 -Klepon is a small, focused app project built to help people:
16 +- curated local content
17 +- private on-device follow-up answers with [Onde Inference](https://ondeinference.com)
18 +- search, saved items, and recently viewed
19 +- watchOS companion support
20
13 -- discover Indonesian dishes with context
14 -- understand ingredients and food traditions
15 -- browse locally bundled content with a calmer reading experience
16 -- ask follow-up questions privately on-device
21 +## Repo
22
18 -## Project status
23 +- `Klepon/` app source
24 +- `Klepon.xcodeproj/` Xcode project
25 +- `Scripts/validate_content.py` content validation
26 +- `AppStore/` store assets and release notes
27
20 -This repo is under active development, but the V1 direction is already in place:
28 +## Build
29
22 -- curated Indonesian food content bundled locally
23 -- private on-device follow-up answers powered by [Onde Inference](https://ondeinference.com).
24 -- iPhone-first SwiftUI UI and interaction model
25 -- watchOS companion support for quick browse-first dish notes
26 -- local search, saved items, recent searches, and recently viewed continuity
27 -
28 -## Repository layout
29 -
30 -- `Klepon/` — the iOS app source
31 -- `Klepon.xcodeproj/` — the Xcode project
32 -- `Scripts/validate_content.py` — validates bundled content integrity
33 -- `SECURITY.md` — security handling and disclosure guidance
34 -- `AppStore/` — App Store metadata, screenshot plan, and release checklists
35 -
36 -## Tech stack
37 -
38 -- SwiftUI
39 -- local JSON content
40 -- small Python utility for content validation
41 -
42 -## Getting started
43 -
44 -### Requirements
45 -
46 -- macOS
47 -- Xcode 26+
48 -- Python 3 if you want to run the content validation script
49 -- an Apple Developer signing setup if you want to run on a physical iPhone
50 -
51 -### Open the project
52 -
53 -Open:
54 -
55 -- `Klepon.xcodeproj`
56 -
57 -### Build on simulator
30 +Open `Klepon.xcodeproj` in Xcode.
31
32 +iOS simulator:
33 ```/dev/null/sh#L1-1
34 xcodebuild -project Klepon.xcodeproj -scheme Klepon -destination 'generic/platform=iOS Simulator' CODE_SIGNING_ALLOWED=NO build
35 ```
36
63 -### Build the watchOS target
64 -
37 +watchOS simulator:
38 ```/dev/null/sh#L1-1
39 xcodebuild -project Klepon.xcodeproj -scheme 'Klepon Watch' -destination 'generic/platform=watchOS Simulator' CODE_SIGNING_ALLOWED=NO build
40 ```
41
69 -### Validate bundled content
70 -
42 +Validate bundled content:
43 ```/dev/null/sh#L1-1
44 python3 Scripts/validate_content.py
45 ```
46
75 -## Open-source signing notes
76 -
77 -This repository is published as source code, so you should expect to adapt signing-related settings for your own Apple Developer account.
78 -
79 -### Bundle identifier
80 -
81 -The project currently uses:
82 -
83 -- `ai.splitfire.klepon`
84 -
85 -If you fork this project for your own team, change that bundle identifier to one you control.
86 -
87 -### Entitlements and App Group
88 -
89 -The project includes an App Group entitlement and an increased memory entitlement so the app can manage on-device model files more reliably on iPhone.
90 -
91 -If you run your own fork under your own Apple Developer account, you will usually want to replace the App Group identifier with one you control.
92 -
93 -## Security and secrets
47 +## Signing
48
95 -I checked the repository for common secret-leak patterns before updating this README.
96 -
97 -That included scans for things like:
98 -
99 -- API keys
100 -- private keys
101 -- password-like values
102 -- provisioning material
103 -- hardcoded team identifiers in the active project
104 -
105 -No real secrets were found in the tracked project files.
106 -
107 -### What should never be committed
108 -
109 -- API keys
110 -- private keys or certificates
111 -- provisioning profiles
112 -- local-only xcconfig files with secrets
113 -- `.env` files with credentials
114 -
115 -### Practical security rules for this repo
116 -
117 -1. Keep local credentials local.
118 -2. Never hardcode tokens or keys in Swift, JSON, or Xcode project settings.
119 -3. Treat bundle IDs and App Groups as identifiers, not secrets.
120 -4. Replace shared signing identifiers with your own if you are running a fork.
121 -5. Re-check diffs before pushing anything that touches auth, signing, or deployment.
122 -
123 -The `.gitignore` already excludes the main categories of files that should stay off Git:
124 -
125 -- local env files
126 -- local xcconfig overrides
127 -- signing keys and certificates
128 -- provisioning profiles
129 -- editor and user-state files
130 -- Python cache files
131 -
132 -For more detail, see `SECURITY.md`.
133 -
134 -## Contributing
135 -
136 -Contributions are welcome, especially around:
137 -
138 -- content quality and cultural accuracy
139 -- SwiftUI product polish
140 -- accessibility
141 -- app performance and memory behavior
142 -
143 -Before opening a PR:
144 -
145 -1. build the app
146 -2. run `python3 Scripts/validate_content.py` if you changed bundled content
147 -3. make sure you did not add secrets, signing material, or local machine artifacts
148 -
149 -## Responsible disclosure
150 -
151 -If you find a security issue, please avoid posting exploit details in a public issue before maintainers have had a chance to triage it.
49 +If you run your own fork, change the bundle identifier and App Group to values you control.
50
51 ## License
52
155 -Klepon is dual-licensed under **MIT** and **Apache 2.0**. You can use either one.
156 -
157 -- [MIT License](LICENSE-MIT)
158 -- [Apache License 2.0](LICENSE-APACHE)
159 -
160 ----
161 -
162 -## Copyright
163 -
164 -© 2026 [Onde Inference](https://ondeinference.com) (Splitfire AB).
53 +Dual-licensed under [MIT](LICENSE-MIT) or [Apache 2.0](LICENSE-APACHE).