# Create Branch for refactoring git switch -c refactor/simplified-schema-modules # new Architecture ![New Architecture ](./images/image-02.png) # Proposed new structure ![Proposed new structure](./images/image-03.png) # Starting refactoring # How to start using uv (139_spanish-voice-trainer) stephenlohning@Scotty 139_spanish-voice-trainer % uv run main.py To trim non-relevant files from your directory tree (such as build artifacts, cache files, and non-source assets), you can configure flags for the `tree` command itself or use git-based filtering. **Tree Command Options** * **`-I pattern` (Ignore matching patterns):** Exclude build directories, caches, virtual environments, binaries, and temporary files. * **`-d` (Directories only):** Show only directory structures if file-level detail is unnecessary. * **`-L level` (Limit depth):** Limit how deep `tree` traverses (e.g., `-L 2` or `-L 3`) to prevent showing deep PyInstaller distribution bundles like `dist/` or `build/`. * **`--gitignore`:** Automatically respects your `.gitignore` rules (supported in modern `tree` versions). --- **Recommended Command Patterns** **1. Ignore standard build & cache artifacts** ```bash tree -I "__pycache__|*.pyc|build|dist|*.app|*.iconset|*.png|*.pdf|*.jpg|database_legacy" ``` **2. Combine pattern filtering with limited depth** ```bash tree -L 2 -I "__pycache__|build|dist|database_legacy" ``` **3. Use `.gitignore` directly** If you already have build outputs, images, and backups ignored in `.gitignore`: ```bash tree --gitignore ``` --- **Summary of Files/Folders to Exclude** * **Build & Bundle Outputs:** `build/`, `dist/`, `main.app` * **Python Caches:** `__pycache__/`, `*.pyc` * **Static / Temp Media:** `*.png`, `*.jpg`, `*.pdf`, `app_icon.iconset/` * **Legacy / Backups:** `database_legacy/` (containing database backups like `*.db`)