Spaces:
Running on CPU Upgrade
Running on CPU Upgrade
| # Terminal Corruption Prevention Guide | |
| ## What Happened | |
| Terminal pagers (like `less`, `more`) use an "alternate screen buffer" that can get corrupted, causing command output to be written as files in your current directory. This is compounded when you're in the wrong directory (like `frontend/`). | |
| ## Symptoms | |
| Random files appearing with names like: | |
| - `= f.readlines()` | |
| - `245 fluoride bills across all 50 states (was only 5 states)` | |
| - `lativesession s ON b.legislative_session_id = s.id` | |
| These are fragments of command output or SQL queries. | |
| ## Immediate Fix | |
| **1. Clean up garbage files:** | |
| ```bash | |
| bash scripts/cleanup_frontend_junk.sh | |
| ``` | |
| **2. Reset your terminal:** | |
| ```bash | |
| reset | |
| cd /home/developer/projects/open-navigator | |
| ``` | |
| ## Prevention (CRITICAL) | |
| **Add to your `~/.bashrc` or `~/.zshrc`:** | |
| ```bash | |
| # Prevent pager corruption | |
| export PAGER=cat | |
| export GIT_PAGER=cat | |
| export PSQL_PAGER= | |
| export SYSTEMD_PAGER=cat | |
| # Git config | |
| git config --global core.pager cat | |
| ``` | |
| **Then reload your shell:** | |
| ```bash | |
| source ~/.bashrc # or source ~/.zshrc | |
| ``` | |
| ## Best Practices | |
| 1. **Always check your working directory:** | |
| ```bash | |
| pwd # Before running commands | |
| ``` | |
| 2. **Run commands from project root:** | |
| ```bash | |
| cd /home/developer/projects/open-navigator | |
| # NOT from frontend/, api/, etc. | |
| ``` | |
| 3. **Use `--no-pager` flags:** | |
| ```bash | |
| git log --no-pager | |
| psql --no-pager | |
| ``` | |
| 4. **If terminal gets corrupted:** | |
| ```bash | |
| reset && stty sane | |
| ``` | |
| ## Updated Files | |
| - ✅ `frontend/.gitignore` - Ignores garbage files | |
| - ✅ `scripts/cleanup_frontend_junk.sh` - Cleanup script | |
| - ✅ `scripts/prevent_terminal_corruption.sh` - Prevention config | |
| ## Why This Happens | |
| 1. **Alternate screen buffer** - Commands like `less`, `more`, `git log`, `psql` output | |
| 2. **Terminal state corruption** - Buffer doesn't close properly | |
| 3. **Wrong working directory** - Your psql terminal had `cwd: frontend/` | |
| 4. **Output redirection** - Corrupted state writes output as files | |
| ## Never Again | |
| Run this once: | |
| ```bash | |
| source scripts/prevent_terminal_corruption.sh | |
| ``` | |
| Add to your shell profile permanently: | |
| ```bash | |
| echo 'export PAGER=cat' >> ~/.bashrc | |
| ``` | |