ClientUtils.Harness.Onboarding.FileIO (client_utils v0.1.23)

View Source

The default way onboarding touches a working copy: the real filesystem.

Onboarding is mostly decisions, but it has to write four or five things, and the code that decides should not have to know how. This is the plain answer — File and System.cmd/3, rooted at a directory — and it is what a generated application gets without configuring anything.

A host with its own filesystem abstraction passes its own module instead. That is not hypothetical: CodeMySpec routes every write through Environments so its specs can drive onboarding against an in-memory working copy, and without a seam here the only way to exercise onboarding at all is to build a real directory — temp dir, git repo, plugin tree — which is four fixtures standing in for one surface.