Skip to content

AE Scraper

NeuralIO444 edited this page Sep 29, 2026 · 1 revision

AE Scraper

The scraper reads your open After Effects project and writes a single JSON receipt. It cannot modify your project — this is proven by an automated guard, not just promised.

Run it

  1. Open your project in After Effects.
  2. File → Scripts → Run Script File…
  3. Navigate to integrations/after-effects/MographJailed_ProjectScraper.jsx in your MographJailed checkout and open it.
  4. Pick the folder where the receipt should be saved.
  5. Done. You'll get a file like MyProject.20260929T150000Z.scrape.json.

No installation, no restart, no preferences changed. Your project is exactly as it was — the scraper has no code path that saves, closes, or edits anything.

What's in the receipt

  • Project name, path, After Effects version, scrape timestamp
  • Every comp (up to 200): name, size, frame rate, duration
  • Every layer (up to 500 per comp): name, type
  • Expressions on animated properties (capped at 2,000 characters each)
  • Effects applied per layer
  • Fonts used
  • Footage items (up to 2,000): name, path, missing/unlinked flags
  • Truncation flags if any bound was hit, so you know the receipt is partial

The full field list is in docs/MJ_PROJECT_SCRAPE_1.md in the repo.

Bounds (so it can't run away)

Bound Value
Comps 200
Layers per comp 500
Footage items 2,000
Expression length 2,000 chars
Total receipt ~5 MB

Everything is traversed in deterministic order, so two scrapes of an unchanged project produce identical receipts.

The read-only proof

scripts/check-scraper-readonly.sh in the repo statically scans the scraper for every After Effects DOM mutation pattern — save, remove, add, replace, setValue, addKey, duplicate, project close, undo groups, app.executeCommand, and more. If any appear, the build fails. Run it yourself:

bash scripts/check-scraper-readonly.sh
# → SCRAPER_READONLY_OK

What to do with the receipt

Feed it to the CLI:

mj project.ingest path=/path/to/MyProject.20260929T150000Z.scrape.json
mj expression.lint path=/path/to/MyProject.20260929T150000Z.scrape.json

Or point the Dashboard at your receipts folder and watch it light up. Details: Tier 0 Observer.

Clone this wiki locally