Kotlin Multiplatform task manager with AI assistance. Targets Android and JVM Desktop (no iOS).
概览
Kotlin Multiplatform task manager with AI assistance. Targets Android and JVM Desktop (no iOS). : Compose Multiplatform · Room · Koin · Kermit · Supabase · Koog AI framework This is an project. The split is real, not aspirational, and it is verified by a gate on every commit. A default build contains no pro code at all. settings.gradle.kts includes :pro only when the build is run with -PwithPro=true, so: scripts/check-pro-licence-boundary.py enforces the direction of the dependency (no Apache-2.0 file imports com.singularity.todo.pro), the absence of non-OSI vendor dependencies from the free build, and that the free artifact really is free — --verify-apk inspects a built APK at the dex level. A licence split asserted only in a document is a claim the project cannot honour. Under FSL-1.1-ALv2 the pro/ modules convert to Apache-2.0 two years after they are last used commercially.
README
以下为原文 README 节选,完整内容请查看原文。
Singularity Todo
Kotlin Multiplatform task manager with AI assistance. Targets Android and JVM Desktop (no iOS).
Stack: Compose Multiplatform · Room · Koin · Kermit · Supabase · Koog AI framework
CI: ci.yml on main
Features
| Area | What’s there |
|---|---|
| Tasks | Create, edit, delete, search, filter by status/project/tag, recurring tasks, reminders |
| Notes | Rich-text WYSIWYG editor (bold/italic/code/lists), export to HTML |
| Projects | Folder-like grouping, color + icon, task counts |
| Tags | Global tags, per-profile isolation |
| Agenda | Calendar view, daily/weekly schedule |
| AI Assistant | 44 Koog-powered tools: refine, decompose, cluster, generate descriptions, weekly planning |
| Sync | Supabase backend, HLC conflict resolution, offline-first |
| Backup | JSON export/import, per-profile |
| MCP Server | AI agent control via stdio (44 read/write/list tools) |
| Multi-profile | Isolated data per profile (Personal, AI Agent, etc.) |
Licensing
This is an open-core project. The split is real, not aspirational, and it is verified by a gate on every commit.
| Licence | Built by default? | |
|---|---|---|
Everything outside pro/ |
Apache-2.0 | Yes |
pro/ |
FSL-1.1-ALv2 | No — needs -PwithPro=true |
A default build contains no pro code at all. settings.gradle.kts includes
:pro only when the build is run with -PwithPro=true, so:
./gradlew :androidApp:assembleDebug # Apache-2.0 only
./gradlew :androidApp:assembleDebug -PwithPro=true # includes pro/
scripts/check-pro-licence-boundary.py enforces the direction of the dependency
(no Apache-2.0 file imports com.singularity.todo.pro), the absence of
non-OSI vendor dependencies from the free build, and that the free artifact
really is free — --verify-apk inspects a built APK at the dex level. A licence
split asserted only in a document is a claim the project cannot honour.
Under FSL-1.1-ALv2 the pro/ modules convert to Apache-2.0 two years after they
are last used commercially.
Provenance
Some code here is derived from other projects, and saying so is part of the
推荐工具
换一个关键词,或者移除筛选条件。
安装
npx skillfish add gazon1/sing