尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Kadō — A privacy-first habit tracker for iPhone and iPad.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
A privacy-first habit tracker for iPhone and iPad. Non-binary habit score · Offline-first · Open source (MIT) · No account, no subscription, no telemetry. Kadō is an iOS habit tracker with three commitments:檢視完整 README ↗
Kadō is an iOS habit tracker with three commitments:
PRIVACY.md.@Observable, SwiftData, CloudKit,
WidgetKit, App Intents — no cross-platform layer, no third-party
dependencies.Why another habit tracker? The market gap is spelled out in
docs/PRODUCT.md: the reference open-source
tracker (Loop) is Android-only; the reference iOS tracker (Streaks)
is closed source and uses a binary streak; the most visible modern
iOS open source attempt (Teymia) is freemium. Kadō takes Loop's
algorithm to native iOS — MIT, free, no account, no subscription.
iPhone and iPhone Duo
iPad — the habit list and the habit you pick, side by side
AppIntent; widgets roll over to the new
day on their own and stay legible under the Clear and Tinted Home
Screen appearances.Shipping on the App Store — current version 1.14.
| Version | Highlights |
|---|---|
| 1.0 | First public release — score, Today / Overview / Detail, widgets, iCloud sync, reminders, JSON export, EN + FR |
| 1.1 | Siri and Shortcuts; edit past days from the calendar |
| 1.2 | Per-day notes; backdated completions; month navigation |
| 1.3 | Drag to reorder habits; a gentle, one-time review prompt |
| 1.4 | iCloud sync reliability — iPad crash fix, honest sync status |
| 1.5 | Tip Jar (StoreKit 2), optional and unlocking nothing |
| 1.6 | "Day starts at" hour; days-per-week scoring fix; off-schedule completions in Overview |
| 1.7 | CSV export / import round-trip; "every N days" re-anchors on completion |
| 1.8 | Week starts on your region's first day; widgets legible under Clear and Tinted |
| 1.9 | Confetti for a finished day; Daily Progress Lock Screen ring; redrawn habit colours; widgets roll over on their own |
| 1.10 | Pick each widget's habits; archived habits list; number-pad value entry; "Day starts at" any hour; complete from the Overview |
| 1.11 | Settings › Appearance with habit colour palettes; Supporter pack with extra palettes and alternate app icons; Siri finds "Kado" |
| 1.12 | iOS 27 fix: the habit screen follows every tap again |
| 1.13 | A calendar day's note saves however the popover closes |
| 1.14 | Side by side: list and habit detail together on iPad and the unfolded iPhone Duo |
Not planned. A native Apple Watch app and HealthKit
auto-completion were scoped for v0.3 and have been descoped — no
user has asked for either since launch. Both stay listed in
docs/ROADMAP.md under "Descoped", and would be
reconsidered on real demand.
Next — Live Activities and Dynamic Island for timer habits, then
the remaining v1.x polish (biometrics, categories, backup files). Full roadmap in docs/ROADMAP.md.
@Observable (iOS 17+) for state — no Combine.VersionedSchema +
SchemaMigrationPlan wired from day one.cloudKitDatabase: .private(...)) for
multi-device sync.CLAUDE.md for
why).Target: iOS 18.0+, Xcode 16.0+, Swift 5.10+.
Architecture notes, conventions, and toolchain quirks (SwiftData
edge cases, CloudKit-shape rules, concurrency under Swift 6, etc.)
are documented in CLAUDE.md.
Kado/ # Main iOS app target
Packages/KadoCore/ # Shared Swift package — @Model types,
# domain types, calculators, intents,
# widget snapshot types
KadoWidgets/ # Widget extension target (reads an
# App Group JSON snapshot)
KadoTests/ # Unit tests (Swift Testing)
KadoUITests/ # UI tests (XCTest) + the App Store
# screenshot run
Scripts/ # Screenshot capture, framing, and the
# dependency-free App Store Connect client
site/ # getkado.app — static marketing site
branding/ # SVG marks and wordmarks
docs/
├── PRODUCT.md # Product vision, competitive analysis
├── ROADMAP.md # Versioned feature roadmap
├── habit-score.md # Score algorithm spec
├── streak.md # Streak algorithm spec
├── app-store/ # Listing copy, captures, framed images,
│ # and how they are pushed
├── app-store-connect.md # Store metadata, copy, checklists
├── plans/ # Per-feature research / plan / compound
│ # artifacts from the conductor workflow
└── screenshots/site/ # iPhone, iPhone Duo and iPad shots (EN +
# FR), resized from the App Store
# captures for the site and this README
PRIVACY.md # Privacy policy (repo-hosted)
git clone https://github.com/scastiel/kado.git
cd kado
open Kado.xcodeproj
Select the Kado scheme and an iOS 18 simulator (iPhone 17 Pro is
the project's practical default on Xcode 26 toolchains).
From Xcode: ⌘U on the Kado scheme.
From the command line, the Makefile wraps the common loops:
make test # unit suite (Swift Testing) — a couple of seconds
make e2e # UI suite (XCUITest), minus the screenshot run
make build # compile the app for the simulator
make help lists the rest, including the App Store targets
(make screenshots, make frames, make listing) documented in
docs/app-store/README.md.
If you use Claude Code with the
XcodeBuildMCP server,
prefer test_sim / build_sim over shell xcodebuild — see the
"Tooling" section of CLAUDE.md.
Settings has a hidden dev-mode toggle that swaps the SwiftData
container for a seeded local sandbox. Useful for playing with
historical score / streak behavior without affecting your real data.
See docs/plans/2026-04/dev-mode/ for the design notes.
Issues and pull requests are welcome. A few notes:
CLAUDE.md first — it is the project's working
agreement (architecture, conventions, testing expectations,
toolchain quirks). It is written for Claude Code but applies
equally to human contributors.feat(scope): description, fix(scope): …, etc.Scripts/ signs
its own JWT with openssl, precisely so that stays true.Kadō collects nothing. No analytics, no telemetry, no crash reporter. iCloud sync is optional and goes through the user's own private CloudKit database.
Full policy in PRIVACY.md.
MIT © 2026 Sébastien Castiel.