Skip to content

First run

activate is the only setup command, and it is worth knowing what it does — because it touches your shell profile and performs a security handshake you cannot skip.

  1. Ensure mise is installed. If mise is already on PATH, nothing happens. If not, it is installed.

  2. Run mise trust. mise refuses to execute configuration it has not been told to trust, and a repository cannot trust itself — that is the point of the mechanism. This is required once per machine.

  3. Register the commands into your shell profile. $PROFILE on Windows; ~/.bashrc or ~/.zshrc on POSIX. All three commands — polyforge, learn, forge — are wired up together.

  4. Print the tool list. Not install it. You see exactly what is declared before anything is fetched.

Terminal window
.\polyforge.ps1 activate

After activation, polyforge activate (the wrapper subcommand) does the same work — use it if trust was ever reset or your profile was rebuilt.

The wrappers walk up the directory tree looking for the workspace root, so they work anywhere inside the PolyForge repository — including deep inside Workspace/Go/some-project/internal/.

They do not work outside it. That is intentional: PolyForge manages a workspace, not your whole system.

Terminal window
polyforge doctor

doctor checks that mise is present and trusted, that the wrapper resolved on PATH, and that the configuration fragments parse. If something is wrong, it is the first place to look — then troubleshooting.

polyforge/
├── .cache/ # git-ignored — tool installs and caches land here
├── .config/mise/conf.d/
├── mise.toml
├── Workspace/
└── Dev/

The repository stays clean: everything mise downloads goes into .cache/, which is git-ignored. polyforge clean empties it.