Skip to content
Back to skills

Scaffold Package

ASecurity

Scaffold Laravel packages with ServiceProvider, Facade, Config, Testbench, and Workbench

  • 35 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 7, 2026
toolspythonphpbashtestinggitapidatabase

Works with

  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 7, 2026

npx -y skills add mwguerra/claude-code-plugins --skill scaffold-package --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Scaffold Package?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Scaffold Package
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mwguerra-scaffold-package/badge)](https://www.skillsdirectory.com/skills/mwguerra-scaffold-package)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
description: Scaffold Laravel packages with ServiceProvider, Facade, Config, Testbench, and Workbench
allowed-tools: Bash(python3:*), Write, Read, Glob
---

# Laravel Package Scaffold Skill

Creates a complete Laravel package skeleton with Pest v4, Testbench v10, Workbench, and optional Playwright.

## Usage

When the user wants to create a Laravel package, use the scaffold script:

```bash
python3 ${SKILL_DIR}/scripts/scaffold_package.py <vendor/package-name> [options]
```

## Options

- `--with-routes` - Include route files (web.php, api.php)
- `--with-views` - Include views directory
- `--with-migrations` - Include database migrations
- `--with-commands` - Include artisan install command
- `--with-playwright` - Include Playwright browser testing
- `--all` - Include routes, views, migrations, commands (NOT playwright)
- `--project-root` - Specify project root directory

## Examples

### Basic package (with testing and workbench)
```bash
python3 ${SKILL_DIR}/scripts/scaffold_package.py mwguerra/my-package
```

### Full-featured package
```bash
python3 ${SKILL_DIR}/scripts/scaffold_package.py mwguerra/my-package --all
```

### Full-featured with Playwright
```bash
python3 ${SKILL_DIR}/scripts/scaffold_package.py mwguerra/my-package --all --with-playwright
```

## What Gets Created

### Always created
- `composer.json` — PHP 8.3, Laravel 12, Testbench 10, Pest 4
- `src/{PackageName}ServiceProvider.php` — with register/boot
- `src/{PackageName}.php` — main class
- `src/Facades/{PackageName}.php` — facade
- `config/{package-name}.php` — package config
- `lang/en/messages.php` — translations
- `testbench.yaml` — Testbench + Workbench configuration
- `workbench/` — interactive development environment
- `tests/` — Pest v4 tests with WithWorkbench trait
- `phpunit.xml` — test runner config
- `.github/workflows/tests.yml` — CI workflow
- `README.md`, `LICENSE`, `.gitignore`, `.gitattributes`

### Optional
- `routes/web.php`, `routes/api.php` (with `--with-routes`)
- `resources/views/` (with `--with-views`)
- `database/migrations/`, `database/factories/` (with `--with-migrations`)
- `src/Commands/InstallCommand.php` (with `--with-commands`)
- `playwright.config.ts`, `package.json`, `tests/Browser/` (with `--with-playwright`)

### Project Integration

The script automatically updates the host project's `composer.json`:
- Adds path repository pointing to `packages/vendor/package-name`
- Adds package to `require` block as `@dev`
- Enables symlink for development

## Key Design Decisions

1. **Testing always on** — Pest + Testbench always scaffolded, no opt-out.
2. **Workbench always on** — testbench.yaml and workbench/ always created.
3. **WithWorkbench trait** — TestCase uses `WithWorkbench` for config from testbench.yaml.
4. **No Filament** — Pure Laravel package focus.
5. **Pinned versions** — PHP 8.3, Laravel 12, Testbench 10, Pest 4.

## After Running

1. **Install dependencies**: `composer update`
2. **Run tests**: `cd packages/vendor/package-name && composer install && vendor/bin/pest`
3. **Serve workbench**: `cd packages/vendor/package-name && composer serve`

Files in this skill

  • SKILL.md3.1 KB
  • scripts/scaffold_package.py37 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.