ワンクリックで
develop
Work on llbbl/esm, a PHP enum-state-machine library, with its local quality gates and API constraints
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Work on llbbl/esm, a PHP enum-state-machine library, with its local quality gates and API constraints
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Use dfm to initialize dotfile backups, track files safely, sync private repositories, and review AI-suggested dotfile improvements
Integrate llbbl/enum-state-machine into a PHP project with enum states, attribute transitions, guards, hooks, and validation
Use grepwrite gw to find matches, preview code rewrites, apply transactional edits with snapshots, and undo safely
Integrate logan-logger into TypeScript apps with correct runtime imports, environment config, safe metadata, and validation
Use pkglock to switch package-lock.json between local npm registries and the public registry, and install safeguards against committing local URLs
Use repjan to audit GitHub repositories, review archive candidates, export decisions, and safely archive or unarchive repos
| name | develop |
| version | 0.1.0 |
| description | Work on llbbl/esm, a PHP enum-state-machine library, with its local quality gates and API constraints |
| allowed-tools | Bash, Read, Grep, Glob, Edit, MultiEdit, Write |
Use this skill when the user asks to work on llbbl/esm, enum-state-machine, or the PHP enum state machine library, including feature work, bug fixes, API review, tests, releases, or documentation updates.
llbbl/esm is a framework-agnostic PHP library: llbbl/enum-state-machine.
>=8.1.EnumStateMachine\.EnumStateMachine\StateMachine with can(), transitionTo(), and getCurrentState().#[Transition] attributes on enum cases or the enum class.#[StateMachineConfig] configures optional PSR-14 event dispatch.GuardInterface and must stay side-effect-free because can() runs them.StateHookInterface; before hooks run before state changes and after hooks run after state changes.src/.version field; releases are tag-driven.composer.lock as the dev-toolchain lock for current supported PHP, not proof that PHP 8.1 runtime support was dropped.HookExecutionException.src/ and behavioral coverage in tests/Unit/.tests/Fixtures/ for reusable enum, guard, hook, dispatcher, and container cases.Install dependencies:
just install
Run focused tests:
just test tests/Unit/StateMachineTest.php
Run static analysis:
just stan
Run the main quality gate:
just qa
Check legacy PHP compatibility:
just legacy all
Use just legacy run 8.2 for a single legacy target. PHP 8.1 legacy coverage is syntax-only because Pest 3 cannot install there.
Packagist publishes from git tags. The repo's justfile provides:
just release-patch
just release-minor
just release-major
These run just qa, create an annotated tag, and push the tag. Only use them when the user explicitly asks to cut a release.