


# 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`)