docs: MIT license, open-source README
Some checks failed
Build & Release APK / build (push) Failing after 55m38s

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WontRuPqKcod9XK4ZN9MXv
This commit is contained in:
marcuspaico
2026-09-07 17:17:09 +10:00
parent 2d74b7d152
commit de0ad23f16
2 changed files with 40 additions and 4 deletions

View File

@@ -1,7 +1,14 @@
# Kegel
# Kegel — "Him: Kegel Exercises for Men"
Pelvic floor trainer for sexual performance — a free, local-only take on what
Stamina was before it went paid. Expo / React Native, Android + iOS.
Free, open-source pelvic floor trainer. A local-only take on what Stamina was
before it went paid: no account, no ads, no analytics, no network. Expo /
React Native, Android + iOS.
- **App Store**: https://apps.apple.com/app/id6809350427 (once approved)
- **Android APK**: releases on this repo, installable via Obtainium
- **Google Play**: coming
- **Privacy policy**: https://rehbock.xyz/kegel/privacy.html
- **License**: MIT — see `LICENSE`. Fork it, ship your own, no strings.
## How it works
@@ -36,6 +43,12 @@ npm run typecheck
npm test # node --test over src/lib/*.test.ts
```
## Contributing
Issues and PRs welcome. Keep the app offline-only and dependency-light; the
whole point is that it never phones home. Run `npm run typecheck && npm test`
before opening a PR.
## Release
### Android APK (Gitea / Obtainium)
@@ -50,7 +63,9 @@ building. Keystore: `~/.android-keys/kegel-release.jks` (repo secrets
### App Store / Google Play (EAS)
Store builds run on EAS (project `@mrmen23/kegel`, profile `production`,
Only the maintainer can publish to the stores; `eas.json` references an App
Store Connect API key by key ID / issuer ID, which are identifiers, not
secrets — the `.p8` private key is never committed. Store builds run on EAS (project `@mrmen23/kegel`, profile `production`,
version source remote with auto-increment). The EAS-managed Android keystore
differs from the Gitea one, so Play and Obtainium installs can't update over
each other.