Skip to content

v0.3.0 — Smart ignore: LaTeX build artifacts + .olignore

Choose a tag to compare

@aloth aloth released this 27 Apr 09:23
e0c039d

⚠ Behavior change

push and sync now filter local files through a built-in ignore list before uploading to Overleaf. LaTeX build artifacts (.aux, .bbl, .log, .out, .fls, .fdb_latexmk, .synctex.gz, beamer/biber/glossaries/minted intermediates, etc.) and OS noise (.DS_Store, Thumbs.db, *.swp) are no longer uploaded.

Previously, locally compiling a project (e.g. with pdflatex or latexmk) would upload dozens of build artifacts to Overleaf, which could break Overleaf's own compile (stale .aux / .bbl) or pollute the remote project.

PDF special rule: X.pdf is ignored only if a same-named X.tex (or .ltx) exists in the same folder. Hand-uploaded figures/diagram.pdf is still synced.

To restore the old behavior on a per-run basis: --no-default-ignore (only .olignore applies) or --no-ignore (uploads everything).

Added

  • .olignore file support — gitignore-style syntax for project-level ignore patterns. Negation (!important.aux) supported.
  • .olignore.local file support — machine-specific patterns that should not be committed to version control.
  • olcli ignored [dir] command — lists all ignore patterns currently in effect, grouped by source.
  • push --no-default-ignore / sync --no-default-ignore — disable built-in defaults (only .olignore applies).
  • push --no-ignore / sync --no-ignore — disable all ignore filtering (escape hatch).
  • push --show-ignored / sync --show-ignored — print files skipped by ignore rules.
  • New dependency: ignore (~30KB, zero deps, gitignore-compatible matcher used by ESLint/Prettier).

Fixed

  • #19sync no longer uploads LaTeX build artifacts that break Overleaf compile.

Internal

  • New module src/ignore.ts with DEFAULT_IGNORE_PATTERNS, loadIgnore(), shouldIgnore(), and buildTexSiblingSet().
  • New e2e test test/e2e-ignore.sh (31 assertions) covering defaults, .olignore, .olignore.local, negation, the PDF sibling rule, the --no-* escape hatches, and a real round-trip upload smoke test.
  • README, SKILL.md, and docs/index.html updated to document both v0.2.0 deletion propagation and v0.3.0 ignore subsystem.

Full Changelog: v0.2.0...v0.3.0