How antony-collika/clipnest works
ClipNest is an Android clipboard vault and personal notes app. Users capture clipboard text through the app or capture notification, then manage saved cards in the vault; they can also create and edit notes, search content, configure settings, and use AI assistance. The sampled sources show capture persistence, local database setup, file handling, and AI provider resolution. The README is empty, so other product areas are represented only where supported by the source index; several UI and domain relationships remain unverified.
Main entry points: MainActivity.kt App navigation · AppDatabase.kt Local database · TransparentCaptureActivity.kt Clipboard capture · AiRepository.kt AI coordinator
Components 29
App entry and capture
- App navigation
app/src/main/java/com/clipnest/MainActivity.kt - Clipboard capture
app/src/main/java/com/clipnest/service/TransparentCaptureActivity.kt - Capture notification
app/src/main/java/com/clipnest/service/CaptureNotificationManager.kt - Quick Settings tile
app/src/main/java/com/clipnest/service/ClipboardTileService.kt
Clipboard and notes
- Clipboard repository
app/src/main/java/com/clipnest/data/repository/ClipboardRepository.kt - Local database
app/src/main/java/com/clipnest/data/local/AppDatabase.kt - Clipboard data access
app/src/main/java/com/clipnest/data/local/ClipboardDao.kt - Note data access
app/src/main/java/com/clipnest/data/local/NoteDao.kt - Topic data access
app/src/main/java/com/clipnest/data/local/TopicDao.kt - Content models
app/src/main/java/com/clipnest/data/model - Notes interface
app/src/main/java/com/clipnest/ui/note/NoteScreen.kt - Clipboard vault
app/src/main/java/com/clipnest/ui/vault/VaultScreen.kt - Vault backup codec
app/src/main/java/com/clipnest/data/repository/VaultBackupCodec.kt
Editing and files
- Editor state
app/src/main/java/com/clipnest/ui/editor/EditorViewModel.kt - Editor interface
app/src/main/java/com/clipnest/ui/editor/EditorScreen.kt - Native text editor
app/src/main/java/com/clipnest/ui/editor/NativeEditorView.kt - Document files
app/src/main/java/com/clipnest/data/local/FileManager.kt
AI assistance
- AI coordinator
app/src/main/java/com/clipnest/data/repository/AiRepository.kt - Provider resolver
app/src/main/java/com/clipnest/ai/AiProviderResolver.kt - Provider factory
app/src/main/java/com/clipnest/ai/ProviderFactory.kt - Gemini adapter
app/src/main/java/com/clipnest/ai/GeminiAdapter.kt - Vercel adapter
app/src/main/java/com/clipnest/ai/VercelAdapter.kt - AI generation API
api/ai/generate.ts
Settings and security
- Settings interface
app/src/main/java/com/clipnest/ui/settings/SettingsScreen.kt - Settings state
app/src/main/java/com/clipnest/ui/settings/SettingsViewModel.kt - Preferences store
app/src/main/java/com/clipnest/data/local/SettingsDataStore.kt - Secure API keys
app/src/main/java/com/clipnest/security/SecureApiKeyStore.kt
Other components
- User
- AI provider
Connections 33
- User → App navigation: opens
app/src/main/java/com/clipnest/MainActivity.kt - App navigation → Local database: initializes
app/src/main/java/com/clipnest/MainActivity.kt - App navigation → Preferences store: initializes
app/src/main/java/com/clipnest/MainActivity.kt - App navigation → Clipboard repository: creates
app/src/main/java/com/clipnest/MainActivity.kt - App navigation → Capture notification: configures
app/src/main/java/com/clipnest/MainActivity.kt - User → Capture notification: starts capture
app/src/main/java/com/clipnest/service/CaptureNotificationManager.kt - Capture notification → Clipboard capture: launches
app/src/main/java/com/clipnest/service/CaptureNotificationManager.kt - Quick Settings tile → Clipboard capture: launches
app/src/main/java/com/clipnest/service/ClipboardTileService.kt - Clipboard capture → Clipboard repository: saves text
app/src/main/java/com/clipnest/service/TransparentCaptureActivity.kt - Clipboard capture → Local database: opens
app/src/main/java/com/clipnest/service/TransparentCaptureActivity.kt - Clipboard repository → Clipboard data access: reads and writes
app/src/main/java/com/clipnest/data/repository/ClipboardRepository.kt - Local database → Clipboard data access: provides
app/src/main/java/com/clipnest/data/local/AppDatabase.kt - Local database → Note data access: provides
app/src/main/java/com/clipnest/data/local/AppDatabase.kt - Local database → Topic data access: provides
app/src/main/java/com/clipnest/data/local/AppDatabase.kt - Local database → Content models: stores
app/src/main/java/com/clipnest/data/local/AppDatabase.kt - App navigation → Notes interface: shows
app/src/main/java/com/clipnest/MainActivity.kt - App navigation → Clipboard vault: shows
app/src/main/java/com/clipnest/MainActivity.kt - App navigation → Editor interface: shows
app/src/main/java/com/clipnest/MainActivity.kt - Editor interface → Editor state: uses
- Editor state → Native text editor: controls
- Editor state → Document files: uses
- App navigation → Vault backup codec: uses
app/src/main/java/com/clipnest/MainActivity.kt - App navigation → Settings interface: shows
app/src/main/java/com/clipnest/MainActivity.kt - Settings interface → Settings state: uses
app/src/main/java/com/clipnest/ui/settings/SettingsScreen.kt - App navigation → Settings state: creates
app/src/main/java/com/clipnest/MainActivity.kt - AI coordinator → Preferences store: reads settings
app/src/main/java/com/clipnest/data/repository/AiRepository.kt - AI coordinator → Provider resolver: resolves provider
app/src/main/java/com/clipnest/data/repository/AiRepository.kt - AI coordinator → Provider factory: constructs providers
app/src/main/java/com/clipnest/data/repository/AiRepository.kt - Provider resolver → Gemini adapter: selects
- Provider resolver → Vercel adapter: selects
- Gemini adapter → Secure API keys: reads keys
app/src/main/java/com/clipnest/ai/GeminiAdapter.kt - Gemini adapter → AI provider: requests generation
- Vercel adapter → AI generation API: requests generation