mit einem Klick
middleman-ephemeral-dev
// Use when working on middleman local development sessions that need backend and frontend on ephemeral/free ports, isolated generated config, copied SQLite state, or dev-ephemeral status JSON/PIDs.
// Use when working on middleman local development sessions that need backend and frontend on ephemeral/free ports, isolated generated config, copied SQLite state, or dev-ephemeral status JSON/PIDs.
Use when Go test wall time is too high, CI test duration regresses, a package needs trace-driven test performance analysis, or tests should be made safely parallel with t.Parallel, package splitting, subprocess isolation, semaphores, or Go built-in tracing.
Use when making small or localized changes that could still affect user-visible behavior, API contracts, database queries, test runtime, CI, generated artifacts, or cross-layer data flow.
Use when creating, editing, fixing, or reviewing tests; when adding mocks, assertions, smoke tests, unit tests, integration tests, e2e tests, or changing tests after failures.
Simplifies code for clarity. Use when refactoring code for clarity without changing behavior. Use when code works but is harder to read, maintain, or extend than it should be. Use when reviewing code that has accumulated unnecessary complexity.
Use when a screenshot or short video needs to be captured with Playwright and saved to local disk, with optional upload through `gh image` (upload requires explicit user approval and must target a PR or issue).
CLI tools for Svelte 5 documentation lookup and code analysis. MUST be used whenever creating, editing or analyzing any Svelte component (.svelte) or Svelte module (.svelte.ts/.svelte.js). If possible, this skill should be executed within the svelte-file-editor agent for optimal results.
| name | middleman-ephemeral-dev |
| description | Use when working on middleman local development sessions that need backend and frontend on ephemeral/free ports, isolated generated config, copied SQLite state, or dev-ephemeral status JSON/PIDs. |
Use make dev-ephemeral when the user wants a local middleman dev stack without fixed ports or without mutating the normal config/database. Do not hand-roll separate make dev and make frontend-dev commands unless the user explicitly asks for manual process control.
Start the stack:
make dev-ephemeral
The default work directory is tmp/dev-ephemeral. Re-running the command while that stack is live prints the existing status instead of starting a duplicate stack.
For a separate concurrent run directory or explicit ports, pass ARGS:
make dev-ephemeral ARGS="-work-dir tmp/my-run"
make dev-ephemeral ARGS="-backend-port 19091 -frontend-port 15174"
Use a fresh empty DB only when requested:
make dev-ephemeral ARGS="-fresh-db"
<work-dir>/config.toml.<work-dir>/data/middleman.db.MIDDLEMAN_CONFIG=<work-dir>/config.toml to both processes.MIDDLEMAN_API_URL=<backend-url> to the frontend.<work-dir>/dev-ephemeral.json.make dev-ephemeral-stop without arguments stops the default tmp/dev-ephemeral stack.Read <work-dir>/dev-ephemeral.json when another tool or response needs process discovery:
{
"pid": 1001,
"backend_pid": 1002,
"frontend_pid": 1003,
"backend_port": 19091,
"frontend_port": 15174,
"config_path": "tmp/my-run/config.toml",
"data_dir": "tmp/my-run/data",
"backend_url": "http://127.0.0.1:19091",
"frontend_url": "http://127.0.0.1:15174"
}
Treat this as the source of truth for selected ports and PIDs instead of scraping terminal output.
For changes to the workflow or this skill, run:
go test ./tools/devephemeral -shuffle=on
go run ./cmd/testify-helper-check ./tools/devephemeral
make help
Before claiming the stack is running, verify the status file exists and contains both child PIDs and both URLs.