Write the Fing Manual.* A plugin for your coding agent that writes the user docs. Screenshots included.
Ask Codex for a guide and it reads your source, writes the steps in plain language, and shows every screen with a screenshot rendered from your real templates and CSS. No running app, no manual captures, no account.
This is the Codex plugin build of SupportPages-io/wtfm, generated by its release workflow. Source, issues and the full documentation live there.
codex plugin marketplace add SupportPages-io/wtfm
codex plugin add wtfm@supportpagesThen start a new Codex session. To update, run codex plugin add wtfm@supportpages
again.
You'll need macOS or Linux (on Windows, use WSL), Git, and Node.js 22.12 or later
with npm on your PATH. The first time the plugin starts, it installs its npm packages
without running their install scripts, and Chromium for screenshots downloads in the
background. Codex asks you to review the plugin's two hooks in /hooks before they
run; WTFM works without them.
Open Codex in your product's folder and ask:
Set up WTFM for this project.
Then ask for an article in plain words:
Write an illustrated guide to inviting a teammate.
A few minutes later the article is in your project as an index.md with its
screenshots beside it.
- Local projects send only anonymous usage counts and crash reports to SupportPages.io (see below). Your coding agent and its model provider read your source, as they do for any other task.
- Publishing uploads the article, its images and a small provenance record. Your source code is never uploaded.
wtfm yolowrites on SupportPages.io from the repository you connect there; it is the only command that gives SupportPages.io access to your code.- Credentials are stored in private files under
~/.config/supportpages, never in your repository. Signing in also saves your account email there, to show which account is connected. - Other network requests carry none of your code or articles. Chromium for
screenshots downloads from Google's Chrome for Testing storage, and the plugin's
packages install from the npm registry. When a project's own styles can't be
compiled, analysis fetches its CSS framework (Bootstrap, Bulma or Foundation) from
the jsDelivr CDN, and a mockup with no project styles loads Tailwind from its CDN
while rendering. An article's optional generated images use OpenAI only if you
have set your own
OPENAI_API_KEY; WTFM never sets it. - Project analysis runs unattended.
initandanalysestart your agent with its permission prompts off (--dangerously-skip-permissionsfor Claude Code,--dangerously-bypass-approvals-and-sandboxfor Codex). Writing articles uses the agent's normal approval prompts.
Installed as a Claude Code plugin, WTFM registers two hooks. Neither sends anything over the network except the Chromium download, and neither can block or change a tool call.
SessionStartchecks whether Chromium for screenshots is installed. If it isn't, it starts puppeteer's Chromium download in the background, once, and returns straight away without printing anything into the session.PostToolUseruns after every tool call, but does nothing unless an article is being written (a.rtfm-trace/CURRENTmarker in your project). During a run it appends one line per tool call to.rtfm-trace/<article>.ndjsonin your project: the time, tool name, file path, search pattern and the first 500 characters of a shell command. The trace stays on your computer and is used to spot repeated work in a run. It prints nothing and always exits successfully.
WTFM tells us how many installs are in use and when something breaks, so we can fix it. It says so the first time you set up a project, and it's easy to turn off. It is sent to SupportPages.io without your sign-in and stays anonymous until you sign in from this computer; after that, usage from this computer is linked to your account. Turning it off stops both.
What is sent
- A random install ID created on this computer (not derived from it), the WTFM
version, the coding client's name (e.g.
claude-code), your OS, CPU architecture and Node.js major version. - A count when WTFM is first used and when it is uninstalled (and whether its
settings were kept), when a project is set up (local or hosted),
and when an article or video walkthrough finishes: its outcome, where it went
(local, uploaded or generated on SupportPages.io), an error code if it failed,
and how many seconds it took; likewise when a
wtfm yolorun starts and ends. - For unexpected errors only: the error type and code, and stack frames with every
path outside WTFM replaced by
<external>. Messages from other code are never sent.
What is never sent: your code, file names or paths, article titles or content, repository or project names, or credentials. Your IP address is not stored. The install ID is also sent when you sign in from this computer, which is what links later usage from it to your account.
Turn it off with any of these:
- ask your coding agent to turn off SupportPages telemetry;
- run
wtfm telemetry off; - set
SUPPORTPAGES_TELEMETRY=0orDO_NOT_TRACK=1.
It is always off in CI. wtfm doctor shows whether it's on and why; set
SUPPORTPAGES_TELEMETRY_DEBUG=1 to print each report to stderr as it is sent.
Apache 2.0. The UI stylesheets bundled under engine/ keep their own
licenses; see NOTICE. The license doesn't cover the SupportPages name or logo.