PHPackages                             jeffersongoncalves/screentest-cli - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. jeffersongoncalves/screentest-cli

ActiveProject[CLI &amp; Console](/categories/cli)

jeffersongoncalves/screentest-cli
=================================

CLI tool for automated screenshot generation of Filament plugins.

v1.0.10(1w ago)310↓93.8%MITPHPPHP ^8.2

Since Feb 24Pushed 1w agoCompare

[ Source](https://github.com/jeffersongoncalves/screentest-cli)[ Packagist](https://packagist.org/packages/jeffersongoncalves/screentest-cli)[ Docs](https://github.com/jeffersongoncalves/screentest-cli)[ RSS](/packages/jeffersongoncalves-screentest-cli/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (11)Versions (12)Used By (0)

[![Screentest CLI](https://raw.githubusercontent.com/jeffersongoncalves/screentest-cli/main/art/jeffersongoncalves-screentest-cli.png)](https://raw.githubusercontent.com/jeffersongoncalves/screentest-cli/main/art/jeffersongoncalves-screentest-cli.png)

Screentest CLI
==============

[](#screentest-cli)

CLI tool for automated screenshot generation of Filament plugins. Generates documentation screenshots in light and dark themes with zero manual effort.

Features
--------

[](#features)

- Reads a `screentest.json` config from your plugin
- Creates a temporary Filament project via filakit
- Installs the plugin via path repository (symlink)
- Auto-generates seeds by analyzing Resources (static analysis)
- Captures screenshots with Puppeteer (light + dark themes)
- Saves to `{plugin}/screenshots/{theme}/{name}.png`
- Optionally updates README.md with screenshot references

Installation
------------

[](#installation)

```
composer global require jeffersongoncalves/screentest-cli
```

Quick Start
-----------

[](#quick-start)

```
# Navigate to your Filament plugin directory
cd my-filament-plugin

# Initialize config (interactive)
screentest init

# Run the complete pipeline
screentest run
```

Commands
--------

[](#commands)

CommandDescription`screentest init`Analyze plugin and generate `screentest.json``screentest run`Run the complete pipeline (setup → seed → capture → readme → cleanup)`screentest setup`Create temporary Filament project and install plugin`screentest seed`Generate and run seeds for the temporary project`screentest capture`Capture screenshots using Puppeteer`screentest readme`Update README.md with screenshot references`screentest cleanup`Remove temporary projectConfiguration
-------------

[](#configuration)

The `screentest.json` file controls the entire process:

```
{
  "plugin": {
    "name": "My Filament Plugin",
    "package": "vendor/my-plugin"
  },
  "filakit": {
    "kit": "filakitphp/basev5"
  },
  "install": {
    "extra_packages": [],
    "plugins": [
      {
        "class": "Vendor\\MyPlugin\\MyPluginPlugin",
        "panel": "admin"
      }
    ],
    "publish": [],
    "post_install_commands": ["migrate"]
  },
  "seed": {
    "auto_detect": true,
    "user": {
      "email": "admin@example.com",
      "password": "password",
      "name": "Admin User"
    },
    "models": []
  },
  "screenshots": [
    {
      "name": "resource-list",
      "url": "admin/resources",
      "selector": "body",
      "viewport": { "width": 1920, "height": 1080, "deviceScaleFactor": 3 },
      "before": [
        { "action": "wait", "delay": 500 }
      ]
    }
  ],
  "output": {
    "directory": "screenshots",
    "themes": ["light", "dark"],
    "format": "png"
  },
  "readme": {
    "update": true,
    "section_marker": "",
    "template": "table"
  }
}
```

Requirements
------------

[](#requirements)

- PHP 8.2+
- Node.js (for Puppeteer)
- pnpm
- Composer
- Composer

How It Works
------------

[](#how-it-works)

1. **Init** - Analyzes your plugin's `composer.json` and Resources to generate a config
2. **Setup** - Creates a temporary Filament project using filakit, installs your plugin via symlink
3. **Seed** - Auto-detects Filament Resources, maps fields to Faker methods, generates factories and seeders
4. **Capture** - Launches Puppeteer, logs into Filament, navigates to each URL, captures screenshots in light and dark themes
5. **Readme** - Updates your README.md between `` markers with a table or gallery

Auto-Seed Field Mapping
-----------------------

[](#auto-seed-field-mapping)

Filament ComponentFaker Method`TextInput('name')``$faker->name()``TextInput('email')``$faker->safeEmail()``TextInput('title')``$faker->sentence(4)``TextInput()->numeric()``$faker->numberBetween(0, 100)``Textarea``$faker->paragraph()``RichEditor``$faker->paragraph()` (wrapped in HTML)`Toggle` / `Checkbox``$faker->boolean()``Select('..._id')`FK to related model`Select->options([...])`Random from options`DatePicker``$faker->date()``DateTimePicker``$faker->dateTime()``ColorPicker``$faker->hexColor()``FileUpload`Skipped (null)License
-------

[](#license)

Screentest CLI is open-source software licensed under the [MIT license](LICENSE).

###  Health Score

44

↑

FairBetter than 90% of packages

Maintenance98

Actively maintained with recent releases

Popularity8

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~12 days

Recently: every ~30 days

Total

11

Last Release

10d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/411493?v=4)[Jefferson Gonçalves](/maintainers/jeffersongoncalves)[@jeffersongoncalves](https://github.com/jeffersongoncalves)

---

Top Contributors

[![jeffersongoncalves](https://avatars.githubusercontent.com/u/411493?v=4)](https://github.com/jeffersongoncalves "jeffersongoncalves (48 commits)")

---

Tags

automationclidevtoolsdocumentationfilamentlaravel-zeropharphppuppeteerscreenshotsclilaraveldocumentationpuppeteerfilamentscreenshots

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/jeffersongoncalves-screentest-cli/health.svg)

```
[![Health](https://phpackages.com/badges/jeffersongoncalves-screentest-cli/health.svg)](https://phpackages.com/packages/jeffersongoncalves-screentest-cli)
```

###  Alternatives

[phpsa/filament-authentication

User &amp; Role (via Spatie Roles/Permissions) Manager Resource For Filament Admin

12867.4k](/packages/phpsa-filament-authentication)[phpsa/filament-password-reveal

Password Input with option to show

51154.7k2](/packages/phpsa-filament-password-reveal)[phpsa/filament-dadjokes

With DadJokes every time you load your control panel you'll be greeted by an epic dad joke on the dashboard.

1714.4k](/packages/phpsa-filament-dadjokes)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
