https://github.com/getappz/pageflare-cli
Optimize static sites for PageSpeed — HTML, CSS, JS minification, image optimization, font subsetting, critical CSS, and more.
https://github.com/getappz/pageflare-cli
core-web-vitals lighthouse pagespeed performance static-site-optimization web-performance wordpress
Last synced: about 1 month ago
JSON representation
Optimize static sites for PageSpeed — HTML, CSS, JS minification, image optimization, font subsetting, critical CSS, and more.
- Host: GitHub
- URL: https://github.com/getappz/pageflare-cli
- Owner: getappz
- License: mit
- Created: 2026-03-19T08:21:28.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-04-14T08:16:33.000Z (4 months ago)
- Last Synced: 2026-05-03T04:06:46.365Z (3 months ago)
- Topics: core-web-vitals, lighthouse, pagespeed, performance, static-site-optimization, web-performance, wordpress
- Language: JavaScript
- Homepage: https://pageflare.dev
- Size: 19.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# @pageflare/cli
Optimize static site output for PageSpeed. Pageflare processes your SSG build output (HTML, CSS, JS, images) and applies production-grade optimizations.
## GitHub Action
Add one step to your workflow — no install needed:
```yaml
- uses: getappz/pageflare-cli@v1
```
With options:
```yaml
- uses: getappz/pageflare-cli@v1
with:
args: "dist -o optimized --platform vercel"
```
| Input | Default | Description |
|-------|---------|-------------|
| `version` | `latest` | CLI version to install |
| `args` | | Arguments passed to `pageflare optimize` |
## Install
```bash
npm install -g @pageflare/cli
```
Or as a dev dependency:
```bash
npm install -D @pageflare/cli
```
## Usage
```bash
# Optimize current directory
pageflare
# Optimize a specific build directory
pageflare dist
# Write optimized files to a separate output directory
pageflare dist -o optimized
# Optimize the build directory in place (overwrite files in dist/)
pageflare dist -o dist
# Wipe the output directory before writing (full reset; refuses if input == output)
pageflare dist -o optimized --clean-output
# Build pipeline integration — opt into GEO + SEO + audit during optimize
pageflare dist -o dist --with-geo --with-seo --with-audit
pageflare dist -o dist --with-pwa # generate manifest/SW/icons too
pageflare dist -o dist --fail-on-broken-refs # exit non-zero on internal 404s
# Skip the browser-driven extractor (for CI environments without Chrome)
pageflare dist --no-browser
# Generate a config file
pageflare init
# Output manifest as JSON
pageflare dist --json
# Audit site for performance issues
pageflare audit dist
# Audit AI-readiness (GEO score) — auto-classifies as Content / API / All
pageflare geo audit --path dist/
pageflare geo audit --url https://example.com
pageflare geo audit --path dist/ --format github --badge
# Force a profile, or explain which signals drove auto-classification
pageflare geo audit --path dist/ --profile content
pageflare geo audit --path dist/ --explain-profile
# Auto-fix GEO issues (deterministic, no API key — requires Solo license)
pageflare geo fix dist/ --auto
pageflare geo fix dist/ --auto --profile api # API/app sites only get API/MCP/agent-card templates
# Audit SEO (technical SEO score, free)
pageflare seo audit dist/
# Auto-fix SEO issues (deterministic — requires Solo license)
pageflare seo fix dist/ --auto
# PWA: generate manifest + service worker + icons locally (free)
pageflare pwa build
# Update to the latest version
pageflare upgrade
```
## Reference
**Command Overview:**
* [`pageflare`↴](#pageflare)
* [`pageflare optimize`↴](#pageflare-optimize)
* [`pageflare audit`↴](#pageflare-audit)
* [`pageflare init`↴](#pageflare-init)
* [`pageflare login`↴](#pageflare-login)
* [`pageflare logout`↴](#pageflare-logout)
* [`pageflare upgrade`↴](#pageflare-upgrade)
* [`pageflare geo`↴](#pageflare-geo)
* [`pageflare geo audit`↴](#pageflare-geo-audit)
* [`pageflare geo fix`↴](#pageflare-geo-fix)
* [`pageflare geo run`↴](#pageflare-geo-run)
* [`pageflare seo`↴](#pageflare-seo)
* [`pageflare seo audit`↴](#pageflare-seo-audit)
* [`pageflare seo fix`↴](#pageflare-seo-fix)
* [`pageflare sites`↴](#pageflare-sites)
* [`pageflare sites add`↴](#pageflare-sites-add)
* [`pageflare sites list`↴](#pageflare-sites-list)
* [`pageflare sites remove`↴](#pageflare-sites-remove)
* [`pageflare sites prune`↴](#pageflare-sites-prune)
* [`pageflare sites set`↴](#pageflare-sites-set)
* [`pageflare sites pages`↴](#pageflare-sites-pages)
* [`pageflare sites pages list`↴](#pageflare-sites-pages-list)
* [`pageflare sites pages label`↴](#pageflare-sites-pages-label)
* [`pageflare sites pages exclude`↴](#pageflare-sites-pages-exclude)
* [`pageflare schedule`↴](#pageflare-schedule)
* [`pageflare schedule add`↴](#pageflare-schedule-add)
* [`pageflare schedule list`↴](#pageflare-schedule-list)
* [`pageflare schedule remove`↴](#pageflare-schedule-remove)
* [`pageflare schedule pause`↴](#pageflare-schedule-pause)
* [`pageflare schedule resume`↴](#pageflare-schedule-resume)
* [`pageflare studio`↴](#pageflare-studio)
* [`pageflare speed`↴](#pageflare-speed)
* [`pageflare pwa`↴](#pageflare-pwa)
* [`pageflare pwa init`↴](#pageflare-pwa-init)
* [`pageflare pwa build`↴](#pageflare-pwa-build)
* [`pageflare pwa config`↴](#pageflare-pwa-config)
* [`pageflare pwa config set`↴](#pageflare-pwa-config-set)
* [`pageflare pwa disable`↴](#pageflare-pwa-disable)
* [`pageflare pwa push`↴](#pageflare-pwa-push)
* [`pageflare pwa push send`↴](#pageflare-pwa-push-send)
* [`pageflare pwa push list`↴](#pageflare-pwa-push-list)
* [`pageflare pwa stats`↴](#pageflare-pwa-stats)
* [`pageflare deploy`↴](#pageflare-deploy)
## `pageflare`
Optimize static site output for PageSpeed
**Usage:** `pageflare [OPTIONS] [COMMAND]`
With no subcommand, runs 'optimize' by default.
Examples:
pageflare Optimize current directory
pageflare init Generate config file
pageflare optimize --help Show optimize options
pageflare upgrade Upgrade to latest version
pageflare speed https://example.com Measure page speed
###### **Subcommands:**
* `optimize` — Optimize a static site directory (default)
* `audit` — Audit a static site (performance + SEO + GEO)
* `init` — Generate a pageflare.jsonc config file
* `login` — Authenticate and activate a Pro license
* `logout` — Remove license and deactivate this machine
* `upgrade` — Upgrade to the latest version of pageflare
* `geo` — Audit and fix AI-readiness (GEO)
* `seo` — SEO audit and fix tools
* `sites` — Manage monitored sites
* `schedule` — Manage scan schedules
* `studio` — Launch Pageflare Studio dashboard
* `speed` — Measure page speed via Google PageSpeed Insights
* `pwa` — PWA configuration and management
* `deploy` — Optimize and deploy to platform (vercel, netlify, cloudflare-pages)
###### **Options:**
* `--log ` — Set log level (off, error, warn, info, debug, trace)
Default value: `warn`
* `--json` — Output results as JSON
## `pageflare optimize`
Optimize a static site directory (default)
**Usage:** `pageflare optimize [OPTIONS] [INPUT]`
###### **Arguments:**
* `` — Path to the SSG output directory to process
Default value: `.`
###### **Options:**
* `-o`, `--output ` — Output directory. If omitted, writes to `/.appz/output/static/`
* `--json` — Output manifest as JSON instead of summary table
* `--force` — Force reprocessing even if no files have changed
* `--clean-output` — Clean the output directory before writing. Removes every file and subdirectory inside the output dir at the start of the run. Use after pageflare-side changes that rename or drop files (e.g. content-hashed filenames, framework upgrade) to avoid stale leftovers from prior builds. Refuses to run when output is in-place — that would nuke the source
* `-c`, `--config ` — Path to config file. Defaults to `/pageflare.jsonc`
* `--login` — Log in to activate your Pro license
* `--platform ` — Deployment platform for image optimization (auto, vercel, netlify, cloudflare-pages, none)
* `--prod` — Production build. Enables platform CDN image rewrites
* `--no-progress` — Disable progress spinners (auto-detected in non-TTY environments)
* `--with-geo` — Run GEO (agent-readiness + crawler discovery) optimizations: - /sitemap.xml - /robots.txt + /llms.txt + /llms-full.txt + per-page .md - /.well-known/agent-card.json (A2A) - /.well-known/mcp/server-card.json - /.well-known/agent-skills/index.json - /.well-known/api-catalog (RFC 9727) - /ai/summary.json + /ai/faq.json
Default optimize is a pagespeed optimizer; this flag is needed unless you explicitly enable sitemap/llm in your pageflare.jsonc. Non-destructive — skips any file already present in the source.
* `--with-seo` — Run SEO HTML injections during build (idempotent — never overwrites author-supplied tags): - when missing - when missing - derived from page url - basic OG tags (og:title, og:url, og:type) from page title
Page-level only. Title text and meta-description content are author concerns — use `pageflare seo fix` for LLM-driven content fixes.
* `--with-audit` — Run audit checks during build and emit `audit.json` to the output dir. Idempotent — overwrites previous audit.json
* `--with-pwa` — Run PWA build (manifest, service worker, icons) after the main pipeline finishes. Reads `pageflare.pwa.json` from the project root
* `--fail-on-broken-refs` — Exit with non-zero status when broken references (404 internal links) are detected. Off by default so CI doesn't break on legacy content; turn on to gate deploys on link integrity
* `--no-browser` — Disable all browser-rendering features unconditionally. Forces pageflare onto the heuristic fallback paths — byte-position LCP detection, source-order font preload, legacy critical-CSS inliner — regardless of which features would otherwise run. Use this in environments where no browser is available, when CI restrictions block the auto-install prompt, or to deliberately compare optimized output against the heuristic baseline.
When set, this suppresses the default critical-CSS apply pass and forces every render-pass-driven config flag off (`font_preload_from_render`, `image_preload_from_render`, `content_visibility_lazy_render`). The static-analysis fallback paths (critters-rs critical CSS, byte-position LCP heuristic, source-order font preload) take over.
## `pageflare audit`
Audit a static site (performance + SEO + GEO)
**Usage:** `pageflare audit [OPTIONS] [INPUT]`
###### **Arguments:**
* `` — Path to the static site output directory
Default value: `.`
###### **Options:**
* `--json` — Output findings as JSON instead of terminal summary
* `--no-report` — Skip HTML report generation
* `-o`, `--output ` — Custom path for HTML report
* `-c`, `--config ` — Path to config file
* `--platform ` — Deployment platform (auto, vercel, netlify, cloudflare-pages, none)
* `--fail-under ` — Exit with code 2 if any audit score falls below this threshold
* `--fail-on-finding ` — Exit with code 2 when any performance finding at or above this severity exists. One of: error, warning, info. Independent of --fail-under (which gates SEO/GEO scores)
Possible values: `error`, `warning`, `info`
* `--no-save` — Skip auto-saving to monitor DB
## `pageflare init`
Generate a pageflare.jsonc config file
**Usage:** `pageflare init [INPUT]`
###### **Arguments:**
* `` — Path to the directory to generate config in
Default value: `.`
## `pageflare login`
Authenticate and activate a Pro license
**Usage:** `pageflare login`
## `pageflare logout`
Remove license and deactivate this machine
**Usage:** `pageflare logout`
## `pageflare upgrade`
Upgrade to the latest version of pageflare
**Usage:** `pageflare upgrade [OPTIONS]`
**Command Alias:** `up`
###### **Options:**
* `--force` — Force reinstall even if already on latest version
## `pageflare geo`
Audit and fix AI-readiness (GEO)
**Usage:** `pageflare geo `
###### **Subcommands:**
* `audit` — Audit site for AI-readiness score
* `fix` — Fix GEO issues using an LLM (Pro license)
* `run` — Audit + apply deterministic fixes in one step (equivalent to `geo fix --auto`). For LLM-driven patches, use `geo fix`
## `pageflare geo audit`
Audit site for AI-readiness score
**Usage:** `pageflare geo audit [OPTIONS] [INPUT]`
###### **Arguments:**
* `` — Path to the site directory (project root or build output)
Default value: `.`
###### **Options:**
* `--url ` — Single URL to audit (fetches live, overrides path input)
* `--base-url ` — Base URL for path mode (for robots.txt/llms.txt checks)
* `--max-pages ` — Maximum number of pages to audit
* `--format ` — Output format: json, table, markdown, github, html, sarif
Default value: `table`
* `-o`, `--output ` — Write report to file instead of stdout
* `--fail-under ` — Exit code 2 if score is below this threshold (for CI)
* `--verbose` — Show all rules including passed ones
* `--badge` — Output badge snippets (Markdown, HTML) after the audit
* `--no-save` — Skip auto-saving to monitor DB
* `--fail-on-finding ` — Exit with code 2 when any finding at or above this severity exists. One of: critical, warning, info. Independent of --fail-under (which gates on score)
Possible values: `critical`, `warning`, `info`
* `--profile ` — Profile filter: auto (classify), all, content, api
Default value: `auto`
Possible values: `auto`, `all`, `content`, `api`
* `--explain-profile` — Print resolved profile + classifier signals to stderr
## `pageflare geo fix`
Fix GEO issues using an LLM (Pro license)
**Usage:** `pageflare geo fix [OPTIONS] [INPUT]`
###### **Arguments:**
* `` — Path to the site directory (project root or build output)
Default value: `.`
###### **Options:**
* `-o`, `--output ` — Output directory. If omitted, uses resolved output dir
* `--auto` — Run deterministic fixes without LLM (free, no API key needed)
* `--audit-report ` — Path to JSON audit report (runs audit if omitted)
* `--model ` — LLM model identifier
* `--provider ` — LLM provider: openai, anthropic, custom
Default value: `anthropic`
* `--max-fixes ` — Maximum pages to fix
Default value: `10`
* `--profile ` — Profile filter: auto (classify), all, content, api
Default value: `auto`
Possible values: `auto`, `all`, `content`, `api`
* `--explain-profile` — Print resolved profile + classifier signals to stderr
## `pageflare geo run`
Audit + apply deterministic fixes in one step (equivalent to `geo fix --auto`). For LLM-driven patches, use `geo fix`
**Usage:** `pageflare geo run [OPTIONS] [INPUT]`
###### **Arguments:**
* `` — Path to the site directory (project root or build output)
Default value: `.`
###### **Options:**
* `-o`, `--output ` — Output directory. If omitted, uses resolved output dir
* `--auto` — Run deterministic fixes without LLM (free, no API key needed)
* `--audit-report ` — Path to JSON audit report (runs audit if omitted)
* `--model ` — LLM model identifier
* `--provider ` — LLM provider: openai, anthropic, custom
Default value: `anthropic`
* `--max-fixes ` — Maximum pages to fix
Default value: `10`
* `--profile ` — Profile filter: auto (classify), all, content, api
Default value: `auto`
Possible values: `auto`, `all`, `content`, `api`
* `--explain-profile` — Print resolved profile + classifier signals to stderr
## `pageflare seo`
SEO audit and fix tools
**Usage:** `pageflare seo `
###### **Subcommands:**
* `audit` — Run SEO audit on a site
* `fix` — Generate SEO fixes using LLM (Pro license)
## `pageflare seo audit`
Run SEO audit on a site
**Usage:** `pageflare seo audit [OPTIONS] [INPUT]`
###### **Arguments:**
* `` — Path to the site directory (project root or build output)
Default value: `.`
###### **Options:**
* `--url ` — Single URL to audit (live fetch, overrides path input)
* `--base-url ` — Base URL for path mode (used for site-level checks)
* `--format ` — Output format: json, table, markdown, github, html, sarif
Default value: `table`
* `-o`, `--output ` — Write report to file
* `--fail-under ` — Exit with code 2 if score is below this threshold
* `--verbose` — Show all rules including passed
* `--no-save` — Skip auto-saving to monitor DB
* `--max-pages ` — Cap the number of pages scanned (path mode). Useful on large sites to bound audit duration. Pages are taken in scanner order; no flag means scan every HTML file
* `--fail-on-finding ` — Exit with code 2 when any finding at or above this severity exists. One of: critical, warning, info. Independent of --fail-under (which gates on score)
Possible values: `critical`, `warning`, `info`
## `pageflare seo fix`
Generate SEO fixes using LLM (Pro license)
**Usage:** `pageflare seo fix [OPTIONS] [INPUT]`
###### **Arguments:**
* `` — Path to the site directory (project root or build output)
Default value: `.`
###### **Options:**
* `-o`, `--output ` — Output directory. If omitted, uses resolved output dir
* `--audit-report ` — Path to audit report JSON (runs audit if omitted)
* `--max-fixes ` — Maximum pages to fix
Default value: `10`
* `--provider ` — LLM provider (e.g., anthropic, openai, groq)
Default value: `anthropic`
* `--model ` — LLM model identifier
Default value: `claude-sonnet-4-6`
* `--auto` — Generate deterministic fixes without LLM (free, no API key needed)
## `pageflare sites`
Manage monitored sites
**Usage:** `pageflare sites `
###### **Subcommands:**
* `add` — Register a site for monitoring
* `list` — List monitored sites
* `remove` — Remove a monitored site
* `prune` — Remove old scan data
* `set` — Set site configuration
* `pages` — Manage tracked pages for a site
## `pageflare sites add`
Register a site for monitoring
**Usage:** `pageflare sites add [OPTIONS] `
###### **Arguments:**
* `` — URL of the site to monitor
###### **Options:**
* `--name ` — Human-readable name for the site
## `pageflare sites list`
List monitored sites
**Usage:** `pageflare sites list`
## `pageflare sites remove`
Remove a monitored site
**Usage:** `pageflare sites remove `
###### **Arguments:**
* `` — Site ID to remove
## `pageflare sites prune`
Remove old scan data
**Usage:** `pageflare sites prune --older-than `
###### **Options:**
* `--older-than ` — Remove scans older than this duration (e.g., "90d", "30d")
## `pageflare sites set`
Set site configuration
**Usage:** `pageflare sites set [OPTIONS] `
###### **Arguments:**
* `` — Site URL
###### **Options:**
* `--psi-api-key ` — Google PageSpeed Insights API key for this site
## `pageflare sites pages`
Manage tracked pages for a site
**Usage:** `pageflare sites pages `
###### **Subcommands:**
* `list` — List tracked pages
* `label` — Set a label for a page
* `exclude` — Toggle page exclusion
## `pageflare sites pages list`
List tracked pages
**Usage:** `pageflare sites pages list `
###### **Arguments:**
* `` — Site URL
## `pageflare sites pages label`
Set a label for a page
**Usage:** `pageflare sites pages label `
###### **Arguments:**
* `` — Site URL
* `` — Page path (e.g. /blog/post)
* `` — Label to assign to the page
## `pageflare sites pages exclude`
Toggle page exclusion
**Usage:** `pageflare sites pages exclude [OPTIONS] `
###### **Arguments:**
* `` — Site URL
* `` — Page path
###### **Options:**
* `--exclude` — Force-exclude the page (idempotent for scripted use)
* `--include` — Force-include the page (idempotent for scripted use)
## `pageflare schedule`
Manage scan schedules
**Usage:** `pageflare schedule `
###### **Subcommands:**
* `add` — Add a scan schedule
* `list` — List scan schedules
* `remove` — Remove a scan schedule
* `pause` — Pause a schedule (mark disabled in DB and remove from OS crontab)
* `resume` — Resume a paused schedule (mark enabled in DB and re-add to crontab)
## `pageflare schedule add`
Add a scan schedule
**Usage:** `pageflare schedule add [OPTIONS] --site `
###### **Options:**
* `--site ` — Site URL or ID to schedule
* `--every ` — Scan interval shorthand (e.g., "1h", "6h", "24h")
* `--cron ` — Custom cron expression
* `--types ` — Scan types to run (comma-separated: psi,seo,geo). Default: all
Default value: `seo,geo`
## `pageflare schedule list`
List scan schedules
**Usage:** `pageflare schedule list`
## `pageflare schedule remove`
Remove a scan schedule
**Usage:** `pageflare schedule remove `
###### **Arguments:**
* `` — Schedule ID to remove
## `pageflare schedule pause`
Pause a schedule (mark disabled in DB and remove from OS crontab)
**Usage:** `pageflare schedule pause `
###### **Arguments:**
* `` — Schedule ID
## `pageflare schedule resume`
Resume a paused schedule (mark enabled in DB and re-add to crontab)
**Usage:** `pageflare schedule resume `
###### **Arguments:**
* `` — Schedule ID
## `pageflare studio`
Launch Pageflare Studio dashboard
**Usage:** `pageflare studio [OPTIONS]`
###### **Options:**
* `--port ` — Port to serve on
Default value: `9876`
## `pageflare speed`
Measure page speed via Google PageSpeed Insights
**Usage:** `pageflare speed [OPTIONS] `
###### **Arguments:**
* `` — URL to test
###### **Options:**
* `--strategy ` — Strategy: mobile or desktop
Default value: `mobile`
* `--format ` — Output format: table or json
Default value: `table`
* `--fail-under ` — Exit with code 2 if Lighthouse performance score is below this threshold (0-100). Useful for CI gating
* `--no-save` — Skip auto-saving the result to the monitor DB
## `pageflare pwa`
PWA configuration and management
**Usage:** `pageflare pwa `
###### **Subcommands:**
* `init` — Scaffold pageflare.pwa.jsonc and generate all PWA assets (icons, manifest, SW, SDK)
* `build` — Generate / rebuild all PWA assets from pageflare.pwa.jsonc
* `config` — Cloud-mode: display or update PWA config via API
* `disable` — Cloud-mode: disable PWA for site via API
* `push` — Cloud-mode: push notification commands
* `stats` — Cloud-mode: show PWA analytics summary (last 30 days)
## `pageflare pwa init`
Scaffold pageflare.pwa.jsonc and generate all PWA assets (icons, manifest, SW, SDK)
**Usage:** `pageflare pwa init`
## `pageflare pwa build`
Generate / rebuild all PWA assets from pageflare.pwa.jsonc
**Usage:** `pageflare pwa build [OPTIONS]`
###### **Options:**
* `-c`, `--config ` — Path to config file (default: pageflare.pwa.jsonc)
* `-f`, `--force` — Force rebuild even if nothing changed
## `pageflare pwa config`
Cloud-mode: display or update PWA config via API
**Usage:** `pageflare pwa config [COMMAND]`
###### **Subcommands:**
* `set` — Set a config field
## `pageflare pwa config set`
Set a config field
**Usage:** `pageflare pwa config set `
###### **Arguments:**
* `` — Config key
* `` — Config value
## `pageflare pwa disable`
Cloud-mode: disable PWA for site via API
**Usage:** `pageflare pwa disable`
## `pageflare pwa push`
Cloud-mode: push notification commands
**Usage:** `pageflare pwa push `
###### **Subcommands:**
* `send` — Send a push notification to all subscribers
* `list` — List push messages and subscriber count
## `pageflare pwa push send`
Send a push notification to all subscribers
**Usage:** `pageflare pwa push send [OPTIONS] `
###### **Arguments:**
* `` — Notification title
* `` — Notification body text
###### **Options:**
* `--url ` — Optional URL to open on click
## `pageflare pwa push list`
List push messages and subscriber count
**Usage:** `pageflare pwa push list`
## `pageflare pwa stats`
Cloud-mode: show PWA analytics summary (last 30 days)
**Usage:** `pageflare pwa stats`
## `pageflare deploy`
Optimize and deploy to platform (vercel, netlify, cloudflare-pages)
**Usage:** `pageflare deploy [OPTIONS] [INPUT]`
###### **Arguments:**
* `` — Path to the SSG output directory [default: .]
Default value: `.`
###### **Options:**
* `--platform ` — Deployment platform (auto-detected from project files if omitted)
* `--prod` — Production build (enables platform CDN image rewrites)
* `--with-geo ` — Run GEO optimizations (sitemap, llms.txt, etc.) [default: true]. Pass `--with-geo=false` to opt out
Default value: `true`
Possible values: `true`, `false`
* `--with-seo ` — Run SEO HTML injections [default: true]. Pass `--with-seo=false` to opt out
Default value: `true`
Possible values: `true`, `false`
* `--force` — Force reprocess even if no files changed
* `-c`, `--config ` — Path to config file
Pageflare auto-detects your SSG framework (Next.js, Astro, Gatsby, Nuxt, Vite, Hugo, Jekyll, and more) and resolves the correct build output directory.
## Documentation
- [Getting Started](https://pageflare.dev/docs/getting-started) — install, configure, and run your first optimization
- [CLI Commands](https://pageflare.dev/docs/cli/commands) — full reference for all subcommands and flags
- [Configuration](https://pageflare.dev/docs/cli/configuration) — `pageflare.jsonc` options and per-feature settings
- [Changelog](https://pageflare.dev/docs/changelog) — release notes and version history
- [WordPress Guide](https://pageflare.dev/wordpress) — static export and edge optimization workflows
- [Free Audit](https://pageflare.dev/audit) — live PageSpeed analysis with fix recommendations
## Supported Platforms
This package installs a platform-specific binary via optional dependencies:
| Platform | Package |
|---|---|
| Linux x64 (glibc) | `@pageflare/cli-linux-x64` |
| Linux arm64 (glibc) | `@pageflare/cli-linux-arm64` |
| Linux x64 (musl) | `@pageflare/cli-linux-x64-musl` |
| Linux arm64 (musl) | `@pageflare/cli-linux-arm64-musl` |
| Windows x64 | `@pageflare/cli-win32-x64` |
macOS support is planned but not yet shipped. macOS users can run pageflare via Docker (`docker run --rm -v $(pwd):/site pageflare/cli /site`) or via WSL/a Linux VM in the meantime.
## Alternative Install Methods
```bash
# Homebrew
brew tap getappz/tap && brew install pageflare
# Shell (Linux/macOS)
curl -fsSL https://get.appz.dev/pageflare/install.sh | sh
# PowerShell (Windows)
irm https://get.appz.dev/pageflare/install.ps1 | iex
# Docker
docker run --rm -v $(pwd):/site pageflare/cli /site
```
## License
MIT