Understand the Shotgun App Architecture
mainShotgun App is a cross-platform desktop application built using Wails (v2) and Vue.js (v3). It uses a split architecture to leverage the strengths of both Go and web technologies:
- Backend (Go): Responsible for heavy-duty operations including filesystem access, logic for file/folder exclusion, and the generation of the textual "Shotgun" context. It manages application state, settings, and filesystem watching.
- Frontend (Vue.js): A Single Page Application (SPA) built with Vite and Tailwind CSS. It provides the user interface for directory selection, file tree manipulation (marking items to exclude), prompt composition, and viewing generated output.
- Integration (Wails): Acts as the bridge, allowing the Vue.js frontend to call Go functions directly and subscribe to backend events (like progress updates or file changes).