# Install Semifold

Install the latest published Semifold CLI and verify that the smif command is available.

Source: https://semifold.noctisynth.org/docs/getting-started/installation/
Language: en



The published command is available as both `smif` and `semifold`. This documentation uses the shorter `smif` form.

Unless you need to reproduce an older environment, install the latest release. The installation scripts query GitHub Releases and select the newest published stable binary release whose tag matches `semifold-vX.Y.Z`. They do not use the repository-wide `latest` pointer, which may refer to another package in the Semifold monorepo.

## Recommended: installation script [#recommended-installation-script]

<Tabs items="['macOS / Linux', 'Windows PowerShell']">
  <Tab>
    ```bash
    curl -L https://semifold.noctisynth.org/install/install.sh | sh
    ```

    The script installs to `$HOME/.local/bin` by default. If that directory is not already on `PATH`, add it in your shell configuration.
  </Tab>

  <Tab>
    ```powershell
    irm https://semifold.noctisynth.org/install/install.ps1 | iex
    ```

    The script installs to `%USERPROFILE%\.local\bin` by default. Add that directory to `PATH` if necessary.
  </Tab>
</Tabs>

To change the installation directory, pass an argument to the downloaded script:

<Tabs items="['macOS / Linux', 'Windows PowerShell']">
  <Tab>
    ```bash
    curl -L https://semifold.noctisynth.org/install/install.sh | \
      sh -s -- --install-dir "$HOME/bin"
    ```
  </Tab>

  <Tab>
    ```powershell
    & ([scriptblock]::Create((irm https://semifold.noctisynth.org/install/install.ps1))) `
      -InstallDir "$HOME\bin"
    ```
  </Tab>
</Tabs>

## Install a specific version [#install-a-specific-version]

Pass a version only when you need to reproduce a particular environment. Both `0.3.1` and `v0.3.1` resolve to the `semifold-v0.3.1` GitHub Release:

<Tabs items="['macOS / Linux', 'Windows PowerShell']">
  <Tab>
    ```bash
    curl -L https://semifold.noctisynth.org/install/install.sh | \
      sh -s -- 0.3.1
    ```
  </Tab>

  <Tab>
    ```powershell
    & ([scriptblock]::Create((irm https://semifold.noctisynth.org/install/install.ps1))) `
      -Version 0.3.1
    ```
  </Tab>
</Tabs>

Prerelease versions are never selected by the default installation. Pass the complete prerelease version explicitly when one is required.

## Package-manager alternatives [#package-manager-alternatives]

Choose the registry already trusted in your environment:

<Tabs items="['Cargo', 'npm', 'PyPI']">
  <Tab>
    ```bash
    cargo install semifold
    ```
  </Tab>

  <Tab>
    ```bash
    npm install --global @semifold/cli
    ```
  </Tab>

  <Tab>
    ```bash
    pipx install semifold
    ```
  </Tab>
</Tabs>

The npm package requires Node.js 20 or newer. It installs a platform-specific N-API binding for macOS, Windows, or glibc-based Linux on x64 and arm64. Linux musl distributions are not supported by this package yet; use the installation script or Cargo there.

## Verify the command [#verify-the-command]

Open a new shell after changing `PATH`, then run:

```bash
smif --version
```

If the command prints the installed Semifold version without an error, the installation is ready.

You can now continue to [your first release](https://semifold.noctisynth.org/docs/getting-started/first-release/) or read [what Semifold manages](https://semifold.noctisynth.org/docs/introduction/) first.

