@ad-preflight/cli
v1.0.1
Published
Validate, auto-fix, and package HTML5 ad creatives for Google Ads, DV360, Doubleclick, Sizmek, Adform, and any IAB-standard platform. CLI, CI/CD, and MCP server for Cursor.
Maintainers
Readme
Ad-Preflight
Stop getting HTML5 ads rejected. Validate, auto-fix, and package creatives before you upload — works with any platform that accepts HTML5 ads.
Works with: Google Ads · DV360 · Doubleclick · Sizmek · Adform · and any platform following IAB HTML5 ad standards
Quick start
npm install -g @ad-preflight/cli
ad-preflight 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 |
|----------|-----|-------|
| Terminal | ad-preflight package ./ad --fix — human-friendly output with optional browser preview | CLI guide |
| CI/CD | ad-preflight package ./ad --json — single JSON on stdout, exit codes 0/1/2, 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 |
|---|:---:|:---:|
| Static validation (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) | ✅ | ✅ |
| Headless browser validation (--deep) | — | ✅ |
| CPU & performance profiling | — | ✅ |
| Network waterfall analysis | — | ✅ |
| Visual snapshots | — | ✅ |
Get started free. Upgrade when you need runtime validation.
ad-preflight buyor visit ad-preflight.com
License management:
ad-preflight buy # Purchase or join waitlist
ad-preflight activate <license-key> # Activate on this machine
ad-preflight license # Check license statusEach Pro license supports up to 2 machines. Core features remain free forever.
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 ./adFor pipeline setup, see the CI/CD guide. For Cursor/MCP, see MCP setup.
Documentation
- CLI guide — Commands, options, examples, local preview
- CI/CD guide — Machine mode, exit codes, JSON schema, pipeline examples
- MCP setup — Config,
validate_ad_creativetool, Cursor examples
License
See LICENSE.md.
