@ad-preflight/cli
v2.0.2
Published
Validate, auto-fix, and package HTML5 ad creatives against IAB-standard sizes and Google display specs, with clickTag / Sizmek / Adform exit detection. CLI, CI/CD, and MCP server for Cursor.
Maintainers
Readme
Ad-Preflight
▶ Watch the full Deep Audit walkthrough (36s, on ad-preflight.com)
Stop getting HTML5 ads rejected. Validate, auto-fix, and package creatives before you upload - works with any platform that accepts HTML5 ads.
🔒 Everything runs on your machine
Creatives are never uploaded. No portals, no accounts. Every validation, auto-fix and package step is local - and so is the Pro Deep Audit, which drives a headless browser on your own computer.
Works with: Google Ads · DV360 · Doubleclick · Sizmek · Adform · and any platform following IAB HTML5 ad standards
Quick start
npx @ad-preflight/cli package ./my-ad --fix✔ Ad validated
✔ Auto-fixed: clickTag injected, ad.size meta added
✔ Zip created: compliance_my-ad.zip (48 KB - under 150 KB limit)
✔ Original backed up: my-ad_original.zipWhat it catches - and what it fixes
| Validation check | Auto-fix (--fix) |
|---|---|
| Missing or incorrect <meta name="ad.size"> | ✅ Injects from CSS dimensions |
| Missing click handler (clickTag, Enabler API, Exit API) | ✅ Injects clickTag variable |
| HTTP references (rejected by ad platforms) | ✅ Converts to HTTPS |
| Bundle exceeds size limit (150KB / 600KB / 5MB) | - |
| Non-standard IAB dimensions | - (warns; fails with --strict-dimensions) |
| Spoofed file extensions (magic-number check) | - |
With --fix, originals are backed up to {folder}_original.zip so nothing is lost.
Works wherever you work
| Use case | How | Guide |
|----------|-----|-------|
| Desktop app | Drop a folder in a window - no terminal, no Node, same verdicts | Desktop app |
| Terminal | npx @ad-preflight/cli package ./ad --fix - human-friendly output with optional browser preview | CLI guide |
| CI/CD | npx @ad-preflight/cli package ./ad --json - single JSON on stdout, exit codes 0/1/2/3, auto machine mode | CI/CD guide |
| AI agents (Cursor / MCP) | validate_ad_creative tool - agents validate and fix ads without leaving the editor | MCP setup |
Same validation logic everywhere. Output adapts automatically: human-friendly in a TTY, machine-readable JSON when piped or with --json.
Free vs Pro
| Capability | Free | Pro |
|---|:---:|:---:|
| Standard audit (meta tags, ClickTag, HTTPS, file types, size limits) | ✅ | ✅ |
| Auto-fix mode (--fix) | ✅ | ✅ |
| IAB dimension validation | ✅ | ✅ |
| ZIP packaging (upload-ready output) | ✅ | ✅ |
| CI/CD and MCP integration | ✅ | ✅ |
| Local preview (publisher-style page) | ✅ | ✅ |
| Deep Audit in a real browser (--deep) | - | ✅ |
| Runtime JavaScript error detection (with file:line) | - | ✅ |
| CPU profiling & Google Heavy Ad risk (low-end device emulation) | - | ✅ |
| Network waterfall, HTTPS & load-budget analysis | - | ✅ |
| Visual checks: screenshots, blank render, slot overflow, border rule | - | ✅ |
| Animation limit (30s) & auto-redirect/popup detection | - | ✅ |
| Multi-size pack reports + shareable PDF report (--report) | - | ✅ |
Get started free. Upgrade when you need runtime validation.
npx @ad-preflight/cli buyor visit ad-preflight.com
License management:
npx @ad-preflight/cli buy # How to buy
npx @ad-preflight/cli plugin-install <token> # Install the Pro plugin on this machine
npx @ad-preflight/cli license # Check license status
npx @ad-preflight/cli recover-license <email> # Lost your token? Get it emailed
npx @ad-preflight/cli plugin-uninstall # Remove and free this machine's seatPlans, pricing and machine limits: ad-preflight.com. Core (static) features are free forever. Full guide: Deep Audit.
Try Deep Audit free
Installing the CLI gives you all the free static tools right away. The Deep Audit
(--deep) - real-browser CPU / network / visual checks plus the shareable PDF report - is
Pro, but you can try it free, no purchase:
# 1. Get your trial token at https://ad-preflight.com - we email it to you
npx @ad-preflight/cli trial <token> # 2. activate the trial on this machine
npx @ad-preflight/cli package ./my-ad --deep # 3. run your first Deep AuditThe trial needs an internet connection; its limits and terms are on
ad-preflight.com. Running --deep without the plugin also
prints these steps.
Ready for whole-campaign (multi-size) audits and clean, unwatermarked reports? See plans and pricing at ad-preflight.com.
Installation
Global (recommended):
npm install -g @ad-preflight/cli
ad-preflight --helpProject dependency:
npm install --save-dev @ad-preflight/cli
npx @ad-preflight/cli package ./adnpx @ad-preflight/cli works with either install - and with none at all (npx fetches
the package on first use).
For pipeline setup, see the CI/CD guide. For Cursor/MCP, see MCP setup. For Pro runtime validation, see Deep Audit.
Documentation
- Desktop app - Install, licence and seats, Deep Audit, reports
- CLI guide - Commands, options, examples, local preview
- Deep Audit (Pro) - What
--deepchecks, install, reports, troubleshooting - CI/CD guide - Machine mode, exit codes, JSON schema, pipeline examples
- MCP setup - Config,
validate_ad_creativetool, Cursor examples
License
See LICENSE.md.
