Configure the machine for stayfixed — the preset, the personal parameters, and the per-repository git hook. Use on a new computer, when the user asks to install stayfixed's defaults, or when a commit-message hook is wanted.
Install
npx skillscat add stayfixed/stayfixed-plugin/setup Install via the SkillsCat registry.
Machine setup
Run
stayfixed setup --preset recommendedand relay what it writes to the machine
configuration file. It asks nothing, and installs no plugin unless--pluginnames one.For the commit-message hook, run
stayfixed setup --git-hooksinside the repository and
relay what it installed and what existing hook it kept and chained to;stayfixed setup --git-hooks --uninstallrestores it.A language preference the user wants followed is a personal standing rule, a note with
metadata.startupin the overlay; do not guess it.Offer the private overlay — one repository holding the user's own standing rules,
cross-project notes and per-project bindings.setupis what makes and records it, through--overlay, and there are three ways in:- They already have one:
stayfixed setup --preset recommended --overlay /path/to/it.
The path is validated against the overlay's identity record,stayfixed-overlay.toml. An
overlay made before the record shipped is refused with the file and its keys named: relay
that, since the user adds the record by hand. Where the overlay lives is the user's choice;stayfixed doctorwarns when another repository's work tree holds it. - They want one on this machine only for now:
stayfixed setup --preset recommended --overlay /path/that/does/not/exist(or an empty directory they can write) renders the
shipped template there with no network call, makes it a git repository, installs the secret
scan and records it. Relay the note on giving it a remote, and the note that it replaced the
overlay the machine recorded before, when there is one. - They want one on GitHub:
stayfixed setup --preset recommended --overlay create:<owner>/stayfixed-private
creates it on their GitHub account, from their own published template or the publisher's
public one, and records it in one step. Creating a repository
on their account needs their word first, so ask before running it: no flag stands in
for it, and nothing about the overlay happens unless--overlayis named at all. A file at~/<name>, or a directory there holding something that is not an overlay, is refused before
GitHub is asked anything; relay the refusal rather than moving what is there yourself. A
refusal after GitHub was asked says the repository may exist and how to record it: relay it.
Relay whether the secret scan installed.
- They already have one:
After a stayfixed release,
stayfixed overlay upgrade --root PATH --dry-runsays what would
change. Relay the report, and relay theASK FIRSTlist separately: those two files can
grant a capability, so the user agrees to them by name before the run without--dry-run.stayfixed setup --approval-boundaryprints the deny rule and the sandbox settings that keep
an agent's shell out of the trust record's directory, and writes nothing. Relay its line for
the user to set; never write asandboxkey or that deny rule yourself. With the sandbox on,
the agent's shell cannot write the machine directory at all: whensetuportrust revoke
says a person must run it in their own terminal, outside the agent's sandbox,
relay that sentence and stop — never retry it outside the sandbox yourself.A plugin is installed only when named, and only on Claude Code: add
--plugin NAMEonce
per plugin the user chose, never one they did not, as instayfixed setup --preset recommended --plugin superpowers. Codex has no verified non-interactive marketplace source for them, sosetupreports the gap as a note rather than attempting an unverified install. Relay that
note and tell the user to add those plugins by hand on Codex; do not present the run as
having configured both harnesses.--homeand--machinepoint the--presetrun at a scratch destination instead of the
real home directory and~/.config/stayfixed/config.toml. They are not a dry run — the
same files are written, just elsewhere — and--git-hooksignores both. Do not offer them
as a way to preview whatsetupwould do; there is no such mode.