PHPackages                             jamesclark32/clapperboard - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. jamesclark32/clapperboard

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

jamesclark32/clapperboard
=========================

Opinionated Laravel application code generation commands for AI agents.

01↓100%

Since Jun 17Compare

[ Source](https://github.com/Jamesclark32/clapperboard)[ Packagist](https://packagist.org/packages/jamesclark32/clapperboard)[ RSS](/packages/jamesclark32-clapperboard/feed)WikiDiscussions Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

jamesclark32/clapperboard
=========================

[](#jamesclark32clapperboard)

Opinionated Laravel application code generation commands for AI agents.

Scope
-----

[](#scope)

This package currently provides the existing generation commands from the host app:

- `php artisan generate:model`
- `php artisan generate:route`

The package is intentionally opinionated around a Laravel + Inertia + Vue application structure.

Install In A Laravel App
------------------------

[](#install-in-a-laravel-app)

For local development via a Composer path repository:

```
{
    "repositories": [
        {
            "type": "path",
            "url": "../clapperboard"
        }
    ],
    "require-dev": {
        "jamesclark32/clapperboard": "^0.1"
    }
}
```

Then run:

```
composer update jamesclark32/clapperboard
```

Laravel package discovery will register `JamesClark32\Clapperboard\CodegenServiceProvider` automatically.

Install agent-facing project instructions:

```
php artisan clapperboard:install
```

Local Testing
-------------

[](#local-testing)

Example workflow for testing package changes against a local Laravel app:

1. Add this package to a host app with a Composer path repository.
2. Refresh the package in the host app after each package change.
3. Run generator dry-runs first, then apply writes.

In the host Laravel app:

```
composer update jamesclark32/clapperboard
php artisan clapperboard:install --dry-run --json
php artisan generate:model Widget "Widget catalog item" '{"attributes":[{"name":"name","fillable":true,"columnType":"string"},{"name":"description","fillable":true,"columnType":"text","nullable":true},{"name":"price","fillable":true,"columnType":"decimal","casts":"decimal"}],"relationships":[]}' --dry-run --json
php artisan generate:route Widgets index --dry-run --json
php artisan generate:route Widgets create --dry-run --json
php artisan generate:route Widgets store --dry-run --json
php artisan generate:route Widgets show --dry-run --json
php artisan generate:route Widgets edit --dry-run --json
php artisan generate:route Widgets update --dry-run --json
```

To apply the generated files in the host app:

```
php artisan generate:model Widget "Widget catalog item" '{"attributes":[{"name":"name","fillable":true,"columnType":"string"},{"name":"description","fillable":true,"columnType":"text","nullable":true},{"name":"price","fillable":true,"columnType":"decimal","casts":"decimal"}],"relationships":[]}'
php artisan generate:route Widgets index
php artisan generate:route Widgets create
php artisan generate:route Widgets store
php artisan generate:route Widgets show
php artisan generate:route Widgets edit
php artisan generate:route Widgets update
```

Useful follow-up checks in the host app:

```
php artisan test
php artisan route:list --name=widgets
```

Usage
-----

[](#usage)

Preview changes without writing files:

```
php artisan clapperboard:install --dry-run --json
php artisan generate:route Widgets index --dry-run --json
php artisan generate:model Widget "Widget catalog item" '{"attributes":[{"name":"name","fillable":true,"columnType":"string"}],"relationships":[]}' --dry-run --json
```

Write files:

```
php artisan generate:route Widgets index
php artisan generate:model Widget "Widget catalog item" '{"attributes":[{"name":"name","fillable":true,"columnType":"string"}],"relationships":[]}'
```

Notes
-----

[](#notes)

- `--dry-run` returns a generation plan without writing files.
- `--json` returns machine-readable output for agents.
- `php artisan clapperboard:install` writes Clapperboard instructions into `AGENTS.md` and `.github/copilot-instructions.md`.
- Generated output assumes the host app follows the architecture used by this codebase.

###  Health Score

9

—

LowBetter than 0% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity2

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/13315960?v=4)[James Clark](/maintainers/jamesclark32)[@Jamesclark32](https://github.com/Jamesclark32)

### Embed Badge

![Health badge](/badges/jamesclark32-clapperboard/health.svg)

```
[![Health](https://phpackages.com/badges/jamesclark32-clapperboard/health.svg)](https://phpackages.com/packages/jamesclark32-clapperboard)
```

###  Alternatives

[badges/poser

Poser, add badges on your readme..

14678.5k13](/packages/badges-poser)

PHPackages © 2026

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