Core Module Map (SearchEngine and Major Systems)
This document maps runtime modules to concrete directories and files so you can locate implementations quickly.
Core Module Map (SearchEngine and Major Systems)
This document maps runtime modules to concrete directories and files so you can locate implementations quickly.
1. Entry and Module System
Responsibility: app bootstrap, module orchestration, channel initialization, event bus.
Code locations:
- Entry:
apps/core-app/src/main/index.ts - TouchApp:
apps/core-app/src/main/core/touch-app.ts - Factory:
apps/core-app/src/main/core/index.ts - ModuleManager:
apps/core-app/src/main/core/module-manager.ts - ChannelCore:
apps/core-app/src/main/core/channel-core.ts - EventBus:
apps/core-app/src/main/core/eventbus/touch-event.ts - BaseModule:
apps/core-app/src/main/modules/abstract-base-module.ts
2. Module Load Order (Main)
Responsibility: boot core modules after Electron is ready.
Order & files:
- DatabaseModule →
apps/core-app/src/main/modules/database/index.ts - StorageModule →
apps/core-app/src/main/modules/storage/index.ts - ShortcutModule →
apps/core-app/src/main/modules/global-shortcon.ts - ExtensionLoaderModule →
apps/core-app/src/main/modules/extension-loader.ts - CommonChannelModule →
apps/core-app/src/main/channel/common.ts - PluginModule →
apps/core-app/src/main/modules/plugin/plugin-module.ts - PluginLogModule →
apps/core-app/src/main/service/plugin-log.service.ts - CoreBoxModule →
apps/core-app/src/main/modules/box-tool/core-box/index.ts - TrayHolderModule →
apps/core-app/src/main/modules/tray-holder.ts - AddonOpenerModule →
apps/core-app/src/main/modules/addon-opener.ts - ClipboardModule →
apps/core-app/src/main/modules/clipboard.ts - TuffDashboardModule →
apps/core-app/src/main/modules/system/tuff-dashboard.ts - FileSystemWatcherModule →
apps/core-app/src/main/modules/box-tool/file-system-watcher/file-system-watcher.ts - FileProtocolModule →
apps/core-app/src/main/modules/file-protocol/index.ts - TerminalModule →
apps/core-app/src/main/modules/terminal/terminal.manager.ts
3. CoreBox & SearchEngine
Responsibility: unified search entry, aggregation, window behavior, UI integration.
CoreBox locations:
- Module:
apps/core-app/src/main/modules/box-tool/core-box/index.ts - Window:
apps/core-app/src/main/modules/box-tool/core-box/window.ts - Manager:
apps/core-app/src/main/modules/box-tool/core-box/manager.ts - IPC:
apps/core-app/src/main/modules/box-tool/core-box/ipc.ts - Input/Key Transport:
apps/core-app/src/main/modules/box-tool/core-box/input-transport.ts,apps/core-app/src/main/modules/box-tool/core-box/key-transport.ts - Meta Overlay:
apps/core-app/src/main/modules/box-tool/core-box/meta-overlay.ts - CoreBox Transport:
apps/core-app/src/main/modules/box-tool/core-box/transport/core-box-transport.ts - Item SDK:
apps/core-app/src/main/modules/box-tool/item-sdk/box-item-manager.ts
SearchEngine locations:
- Search Core:
apps/core-app/src/main/modules/box-tool/search-engine/search-core.ts - Engine entry:
apps/core-app/src/main/modules/box-tool/search-engine/index.ts - Sorting/Scoring:
apps/core-app/src/main/modules/box-tool/search-engine/sort/index.ts - Providers:
apps/core-app/src/main/modules/box-tool/search-engine/providers/ - Recommendation:
apps/core-app/src/main/modules/box-tool/search-engine/recommendation/ - Types:
apps/core-app/src/main/modules/box-tool/search-engine/types.ts - Search logger:
apps/core-app/src/main/modules/box-tool/search-engine/search-logger.ts
File providers (SearchEngine subsystem):
- Everything Provider (Windows) →
apps/core-app/src/main/modules/box-tool/addon/files/everything-provider.ts - File Provider (macOS/Linux) →
apps/core-app/src/main/modules/box-tool/addon/files/file-provider.ts - App Provider →
apps/core-app/src/main/modules/box-tool/addon/apps/app-provider.ts - FileSystemWatcher →
apps/core-app/src/main/modules/box-tool/file-system-watcher/file-system-watcher.ts
4. Plugin System (Manifest/Prelude/Surface)
Responsibility: plugin loading, permission gating, isolated IPC, UI view mounting.
Code locations:
- PluginModule:
apps/core-app/src/main/modules/plugin/plugin-module.ts - Plugin runtime:
apps/core-app/src/main/modules/plugin/plugin.ts - Provider registry:
apps/core-app/src/main/modules/plugin/providers/registry.ts - Dev server monitor:
apps/core-app/src/main/modules/plugin/dev-server-monitor.ts - Features adapter:
apps/core-app/src/main/modules/plugin/adapters/plugin-features-adapter.ts - Widget manager:
apps/core-app/src/main/modules/plugin/widget/widget-manager.ts - UI utils:
apps/core-app/src/main/modules/plugin/plugin-ui-utils.ts - Built-in plugins:
apps/core-app/src/main/plugins/internal/ - SDK version gate:
packages/utils/plugin/sdk-version.ts - Plugin SDK:
packages/utils/plugin/sdk/ - Plugin types/helpers:
packages/utils/plugin/ - Examples:
plugins/touch-translation/,plugins/touch-music/,plugins/touch-image/
5. Channel / Transport
Responsibility: IPC abstraction between main, renderer, and plugin processes.
Code locations:
- Main channel:
apps/core-app/src/main/core/channel-core.ts - Common channel module:
apps/core-app/src/main/channel/common.ts - Renderer channel:
apps/core-app/src/renderer/src/modules/channel/channel-core.ts - Renderer main/plugin channels:
apps/core-app/src/renderer/src/modules/channel/main/,apps/core-app/src/renderer/src/modules/channel/plugin-core/ - Storage channel:
apps/core-app/src/renderer/src/modules/channel/storage/ - Transport events:
packages/utils/transport/events/,packages/utils/transport/event/ - Channel types:
packages/utils/channel/
6. Storage & Config
Responsibility: config persistence, cache/LRU, broadcast updates, plugin storage isolation.
Code locations:
- Storage module:
apps/core-app/src/main/modules/storage/index.ts - Storage submodules:
apps/core-app/src/main/modules/storage/storage-cache.ts,storage-lru-manager.ts,storage-frequency-monitor.ts,storage-polling-service.ts - Registry:
apps/core-app/src/main/modules/storage/main-storage-registry.ts - Common storage entities:
packages/utils/common/storage/ - Renderer storage channel:
apps/core-app/src/renderer/src/modules/channel/storage/
7. Database
Responsibility: structured storage and scheduled writes.
Code locations:
- DatabaseModule:
apps/core-app/src/main/modules/database/index.ts - Schema:
apps/core-app/src/main/db/schema.ts - Write scheduler:
apps/core-app/src/main/db/db-write-scheduler.ts - SQLite retry:
apps/core-app/src/main/db/sqlite-retry.ts - DB utils:
apps/core-app/src/main/db/utils.ts
8. Renderer Structure
Responsibility: Vue 3 app entry, state, UI components, views.
Code locations:
- Entry:
apps/core-app/src/renderer/src/main.ts - Root component:
apps/core-app/src/renderer/src/App.vue - Views:
apps/core-app/src/renderer/src/views/ - Components:
apps/core-app/src/renderer/src/components/ - Stores:
apps/core-app/src/renderer/src/stores/ - Modules:
apps/core-app/src/renderer/src/modules/
9. System Services & Capabilities
Responsibility: permissions, logging, notifications, tray, AI/Intelligence, etc.
Code locations:
- Permission:
apps/core-app/src/main/modules/permission/index.ts,permission-guard.ts,permission-store.ts - Logging:
apps/core-app/src/main/service/plugin-log.service.ts - Notification:
apps/core-app/src/main/modules/notification.ts - Tray:
apps/core-app/src/main/modules/tray-holder.ts,apps/core-app/src/main/modules/tray/ - AI/Intelligence:
apps/core-app/src/main/modules/ai/ - Sentry:
apps/core-app/src/main/modules/sentry/sentry-service.ts - Analytics:
apps/core-app/src/main/modules/analytics/ - DivisionBox:
apps/core-app/src/main/modules/division-box/
10. UI & i18n
Responsibility: shared UI library and localization.
Code locations:
- Tuffex components:
packages/tuffex/packages/components/ - TuffIcon:
packages/tuffex/packages/components/src/icon/src/TxIcon.vue - i18n core:
packages/utils/i18n/ - Renderer locales:
apps/core-app/src/renderer/src/locales/
Related Docs
- Everything integration:
docs/everything-integration.md