plugins/codex/code/commands/scaffold.md
Snider 466fe9f5a6 feat(codex): mirror claude plugins and ethics modal
Summary:\n- added Codex marketplace registry plus awareness/ethics/guardrails sub-plugins\n- mirrored Claude plugin commands/scripts/hooks into codex api/ci/code/collect/coolify/core/issue/perf/qa/review/verify\n- embedded Axioms of Life ethics modal, guardrails, and kernel files under codex/ethics\n- added Codex parity report, improvements list, and MCP integration plan\n- extended Gemini MCP tools and docs for Codex awareness
2026-02-05 20:13:01 +00:00

194 lines
3.1 KiB
Markdown

---
name: /core:scaffold
description: Generate boilerplate code following Host UK patterns.
---
This command generates boilerplate code for models, actions, controllers, and modules.
## Subcommands
- `/core:scaffold model <name>` - Generate a Laravel model.
- `/core:scaffold action <name>` - Generate an Action class.
- `/core:scaffold controller <name>` - Generate an API controller.
- `/core:scaffold module <name>` - Generate a full module.
## `/core:scaffold model <name>`
Generates a new model file.
```php
<?php
declare(strict_types=1);
namespace Core\Models;
use Core\Tenant\Traits\BelongsToWorkspace;
use Illuminate\Database\Eloquent\Model;
class {{name}} extends Model
{
use BelongsToWorkspace;
protected $fillable = [
'name',
'email',
];
}
```
## `/core:scaffold action <name>`
Generates a new action file.
```php
<?php
declare(strict_types=1);
namespace Core\Actions;
use Core\Models\{{model}};
use Core\Support\Action;
class {{name}}
{
use Action;
public function handle(array $data): {{model}}
{
return {{model}}::create($data);
}
}
```
## `/core:scaffold controller <name>`
Generates a new API controller file.
```php
<?php
declare(strict_types=1);
namespace Core\Http\Controllers\Api;
use Illuminate\Http\Request;
use Core\Http\Controllers\Controller;
class {{name}} extends Controller
{
public function index()
{
//
}
public function store(Request $request)
{
//
}
public function show($id)
{
//
}
public function update(Request $request, $id)
{
//
}
public function destroy($id)
{
//
}
}
```
## `/core:scaffold module <name>`
Generates a new module structure.
### `core-{{name}}/src/Core/Boot.php`
```php
<?php
declare(strict_types=1);
namespace Core\{{studly_name}}\Core;
class Boot
{
// Boot the module
}
```
### `core-{{name}}/src/Core/ServiceProvider.php`
```php
<?php
declare(strict_types=1);
namespace Core\{{studly_name}}\Core;
use Illuminate\Support\ServiceProvider as BaseServiceProvider;
class ServiceProvider extends BaseServiceProvider
{
public function register()
{
//
}
public function boot()
{
//
}
}
```
### `core-{{name}}/composer.json`
```json
{
"name": "host-uk/core-{{name}}",
"description": "The Host UK {{name}} module.",
"license": "EUPL-1.2",
"authors": [
{
"name": "Claude",
"email": "claude@host.uk.com"
}
],
"require": {
"php": "^8.2"
},
"autoload": {
"psr-4": {
"Core\\{{studly_name}}\\": "src/"
}
},
"config": {
"sort-packages": true
},
"minimum-stability": "dev",
"prefer-stable": true
}
```
### `core-{{name}}/CLAUDE.md`
```md
# Claude Instructions for `core-{{name}}`
This file provides instructions for the Claude AI agent on how to interact with the `core-{{name}}` module.
```
### `core-{{name}}/src/Mod/`
### `core-{{name}}/database/`
### `core-{{name}}/routes/`
### `core-{{name}}/tests/`