pitchfork-dev-servers
Skill2 starsChanged todayApache-2.0View on GitHub
Start, stop, check and tail local dev servers through the project's workflow, pitchfork or a framework background mode, and set up `pitchfork.toml` with stable .localhost addresses. Use for dev or background servers, pitchfork tasks, port clashes or unresolved proxy URLs.
We split this skill into the rules it gives an agent
18 rules. About 0 are common, 5 are distinctive, and 13 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
13
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
Follow the project's own declared workflow first, then pitchfork, then a framework-native background mode when the repo has no pitchfork …
- Very specific: line 16
Read local AGENTS.md first, especially a ## Background Dev Servers section.
- Very specific: line 17
Check for repo-provided pitchfork wrappers: mise tasks, pitchfork.toml, or project-specific task names such as serve:*, dev:*, …
- Very specific: line 18
Check whether pitchfork tools are available for observation and control: the pitchfork Code Mode namespace (list, logs, start, stop, …
- Very specific: line 19
Check whether the pitchfork CLI is installed before falling back to raw foreground server commands.
- Very specific: line 20
Only when the repo has no pitchfork config, check for a framework-native background mode (for example Astro 7+, which self-detaches astro …
- Very specific: line 24
Follow the project's declared workflow first.
- Very specific: line 25
Use pitchfork when the repo ships pitchfork.toml or pitchfork-backed tasks.
- Distinctive: line 26
Use a framework-native background mode only in repos without pitchfork config.
- Distinctive: line 27
Use foreground commands only for explicit foreground debugging, one-shot checks, or when the declared workflow is unavailable.
- Very specific: line 28
Do not assume a tool's start (Code Mode or MCP pitchfork_start) can start per-repo daemons from any cwd.
- Distinctive: line 29
Use the pitchfork tools for status, logs, restart and stop when available once a daemon exists.
- Very specific: line 30
When wrappers stop production resource owners, avoid replacing them with broad process kills.
- Distinctive: line 35
Read local AGENTS.md first for the repo's preferred dev-server commands.
- Very specific: line 36
Use mise tasks when the command name is not obvious.
- Very specific: line 37
If there is no wrapper task but pitchfork.toml exists, run pitchfork directly from the repo directory.
- Very specific: line 39
Start every server a task needs in one call (pitchfork start api worker, or --group <name>) rather than one at a time.
- Very specific: line 40
Treat serve:* as a common local convention, not a requirement.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Pitchfork Dev Servers
Use this skill when a task involves starting or managing a long-running local server and the repo provides pitchfork.toml, local tasks, pitchfork tools, or AGENTS guidance mentioning pitchfork. When adding or changing a repo's pitchfork.toml, its serve:* tasks, or its AGENTS dev-server section, read references/hosting-standard.md first.
Follow the project's own declared workflow first, then pitchfork, then a framework-native background mode when the repo has no pitchfork config, then foreground for explicit debugging.
Preflight
- Read local
AGENTS.mdfirst, especially a## Background Dev Serverssection. Local repo guidance wins over this global skill. - Check for repo-provided pitchfork wrappers:
mise tasks,pitchfork.toml, or project-specific task names such asserve:*,dev:*,background:*, or aliases documented locally. - Check whether pitchfork tools are available for observation and control: the
pitchforkCode Mode namespace (list, logs, start, stop, restart), or pitchfork's MCP tools (pitchfork_status,pitchfork_logs,pitchfork_stop,pitchfork_restart,pitchfork_start). - Check whether the
pitchforkCLI is installed before falling back to raw foreground server commands. - Only when the repo has no pitchfork config, check for a framework-native background mode (for example Astro 7+, which self-detaches
astro devunder an agent).
Rules
- Follow the project's declared workflow first. Read local
AGENTS.md, project skills, and repo tasks; local guidance wins. Do not invent a naming convention when the repo has one. - Use pitchfork when the repo ships
pitchfork.tomlor pitchfork-backed tasks. Preferserve:*tasks over foregroundrun:*,dev, or raw server commands. - Use a framework-native background mode only in repos without pitchfork config. It has no stable proxy address, so suggest moving the server onto pitchfork when the address matters.
- Use foreground commands only for explicit foreground debugging, one-shot checks, or when the declared workflow is unavailable.
- Do not assume a tool's start (Code Mode or MCP
pitchfork_start) can start per-repo daemons from any cwd. If start fails with no matching daemon, run the repo's local pitchfork-backed task from that repo directory. - Use the pitchfork tools for status, logs, restart and stop when available once a daemon exists. Otherwise use the matching CLI commands.
- When wrappers stop production resource owners, avoid replacing them with broad process kills. Prefer resource-targeted commands like
fuser <port>/tcporfuser <socket>. - OpenCode's
pitchfork-dev-server-guardplugin enforces the pitchfork tier: in repos that declarepitchfork.tomlit redirects known foreground dev-server commands, includingastro dev,blume devandmise run <name>:dev, toserve:*orpitchfork startand notes the change.
Command Discovery
- Read local
AGENTS.mdfirst for the repo's preferred dev-server commands. - Use
mise taskswhen the command name is not obvious. - If there is no wrapper task but
pitchfork.tomlexists, run pitchfork directly from the repo directory. - Typical operations are
pitchfork start <daemon>,pitchfork status,pitchfork logs -t <daemon>,pitchfork restart <daemon>, andpitchfork stop <daemon>. - Start every server a task needs in one call (
pitchfork start api worker, or--group <name>) rather than one at a time. Each returns once ready; prefer the daemon's--port,--httpor--outputreadiness check over a fixed--delay. - Treat
serve:*as a common local convention, not a requirement. - Find a running server's address with
pitchfork proxy statusrather than guessing a port. When the proxy is enabled, use thehttps://<daemon>.<project>.localhostaddress without a port. If it only works with the proxy's own port, runpitchfork proxy doctorand report the result rather than switching to the raw port.
Notes
- Some repos use pitchfork wrappers to stop production services or resource owners before starting dev servers, then restore production when dev exits. Preserve that behaviour.
- Pitchfork is intended to keep agents from blocking on foreground servers. Prefer background start plus logs and status checks over running a server in the agent shell.
In this repository56 other files it gives its agents.
- AGENTS.mdAGENTS.md
- agentic-workflowsSkill
- asking-questionsSkill
- broSkill
- browser-accessSkill
- change-review-handoffSkill
- changeset-scopeSkill
- check-skill-updatesSkill
- chillSkill
- ci-loopSkill
- cleanup-unnecessary-variablesSkill
- code-reviewSkill
- decision-modelsSkill
- diagnoseSkill
- effect-principlesSkill
- evidence-firstSkill
- gh-stackSkill
- git-contextSkill
- github-development-rulesetsSkill
- github-repository-setupSkill
- grillingSkill
- handoffSkill
- herdr-workflowsSkill
- home-assistant-frontendSkill
- home-assistant-lit-renderingSkill
- human-step-guideSkill
- import-external-skillSkill
- inbox-reportingSkill
- issue-loopSkill
- lit-renderingSkill
- maintain-docsSkill
- npm-jsr-first-publishSkill
- opencode-effectSkill
- pkexec-rootSkill
- planSkill
- release-oxlint-rulesSkill
- remote-change-diffSkill
- remove-single-use-functionsSkill
- researchSkill
- retroSkill
- review-stagesSkill
- review-steeringSkill
- safe-process-signalsSkill
- session-coordinationSkill
- shared-workflowsSkill
- show-meSkill
- skill-prefixesSkill
- staged-implementationSkill
- task-focusSkill
- task-runnersSkill
- testingSkill
- to-questionnaireSkill
- types-enforce-tsSkill
- wranglerSkill
- writing-dot-skillsSkill
- writing-styleSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

