# Unneeded files
Things that do **not** belong in the malvin git tree. Keeping `prime:` working still means keeping bridge *source* (`prime-sdk-bridge/src/`, `package.json`, etc.) and building locally — not vendoring npm installs.
## Safe to delete from disk (regenerable)
| `prime-sdk-bridge/node_modules/` | `npm ci` install of `prime-agent` and deps (~288M). Includes shipped `SKILL.md` / skills — those live inside the package, not as malvin content. |
| `cursor-sdk-bridge/node_modules/` | Same for Cursor bridge (~70M). |
| `prime-sdk-bridge/dist/` | Build output (`npm run build`). Runtime needs it on disk after build; do not treat as source of truth. |
| `cursor-sdk-bridge/dist/` | Same. |
Restore with:
```bash
(cd prime-sdk-bridge && npm ci && npm run build)
(cd cursor-sdk-bridge && npm ci && npm run build)
```
## Accidentally tracked in git (should be removed from the index)
Commit `6e589f7a` added **47** files under `prime-sdk-bridge/node_modules/` (mostly `.rs` / `.py` from dependencies). Those should not be in git. Rest of `node_modules` is untracked, but this subset is committed.
```text
prime-sdk-bridge/node_modules/@mariozechner/clipboard/**/*.rs
prime-sdk-bridge/node_modules/koffi/lib/native/base/*_gen.py
prime-sdk-bridge/node_modules/prime-agent/dist/prime-agent-runtime/**/*.py
prime-sdk-bridge/node_modules/prime-agent/dist/skills/**/*.py
prime-sdk-bridge/node_modules/prime-agent/skills/**/*.py
```
(Full list: `git ls-files '**/node_modules/**'`.)
## Local junk / caches / logs (do not commit)
| `_logs/` | Local run logs |
| `_logs-prime/` | Local Prime run logs |
| `fast_tasks/*/workspace/.pytest_cache/` | Pytest cache |
| `.pytest_cache/`, `tests/.pytest_cache/`, `.ruff_cache/` | Tool caches |
| `o` | Scratch dump of `prime-agent model list` output |
| `missing` | Scratch path list |
| `workspace_test.txt` | Scratch |
| `prime.aux`, `prime.log`, `prime.out`, `prime.pdf` | LaTeX build artifacts |
| `report.tex` | Likely local paper draft (confirm before deleting) |
## `.gitignore` gaps (why this keeps happening)
Root `.gitignore` does **not** ignore `node_modules/`, `.pytest_cache/`, or bridge `dist/`. It does ignore `*.lock`, which also hides `package-lock.json` (usually you *want* that locked file in an npm project).
Suggested additions (not applied here):
```gitignore
node_modules/
**/node_modules/
.pytest_cache/
.ruff_cache/
_logs/
_logs-prime/
```
And consider narrowing `*.lock` so `package-lock.json` can be committed while still ignoring unwanted lockfiles.
## Keep (needed for `prime:` / `cursor:`)
Do **not** delete these if you want SDK backends to work:
- `prime-sdk-bridge/{src,package.json,package-lock.json,tsconfig.json,README.md}`
- `cursor-sdk-bridge/{src,package.json,package-lock.json,tsconfig.json,README.md}`
- `src/prime_sdk/`, `src/cursor_sdk/` (and their `mock_bridge.js` test helpers)
## Untracked local notes (decide case-by-case)
Not install artifacts; may be personal or WIP docs — not listed as “delete”, just not clearly product source:
`.cursor/`, `.cursorrules`, `.kpop/`, `.vscode/`, `agent-interface.md`, `eval_explain/`, `ideas.md`, `malvin-mini/`, `muse.md`, `plan.md`, `summary.md`, `well_written_papers.md`, `_prime_acp_wrapper.sh`, `run_all_fast_tasks.sh`, `fast_tasks/FT-24/reward.txt`, `fast_tasks/FT-30/workspace/.kissconfig`
[dsweet] Keep these, please.