Backend Architecture
The backend is written in Go using the Wails framework. It handles data storage, clipboard operations, and file system watching.
File Structure
├── main.go Entry point, Wails configuration
├── app.go Core application logic, exposed APIs
├── database.go SQLite setup and migrations
├── watcher.go File system watching
├── backup.go ZIP backup and restore
├── plugin_service.go Plugin frontend API (Wails-bound)
├── plugins.go Plugin install/uninstall helpers
├── serve_manager.go Tag serve HTTP server lifecycle and routing
├── serve_json_api.go JSON API handler for served tags (/_api prefix)
├── serve_file_upload.go File upload handler for served tags (/_api/_upload)
├── serve_service.go Tag serve Wails service (start/stop/status)
├── api_manager.go REST API HTTP server and route registration
├── api_service.go REST API Wails service (start/stop/keys)
├── clipboard_service.go Clipboard copy service (Wails-bound)
├── clipboard_darwin.go macOS clipboard implementation
├── clipboard_windows.go Windows clipboard implementation