Home Documentation Templates Examples Showcase GitHub
Theme

Start here · Installation

Installing Nift.

Nift is a small cross-platform native C++ program. Use one of the established package-manager channels, download a release binary, or compile the executable from source.

Always verify what you installed.

Package-manager channels can lag behind a newly published Nift release. After installation run nift version. If you specifically need the newest release and your package manager has not caught up yet, use the GitHub release binary or build from source. Nift's next distribution-validation phase will test public channel installs in clean CI environments rather than treating recipe publication as proof that users receive the intended binary.

curl -fsSL https://nift.dev/install | sh

The installer detects supported Linux/macOS architectures, downloads the official GitHub release archive and SHA256SUMS, verifies the archive before installation, and installs to ~/.local/bin/nift by default. It never invokes sudo. On macOS, if ~/.local/bin is not already on PATH, the default install adds the standard export to ~/.zprofile (or ~/.bash_profile when Bash is your login shell). Set NIFT_INSTALL_DIR or NIFT_VERSION when you deliberately want another destination or release.

Readable before runnable.

The exact installer served at https://nift.dev/install is maintained as a small POSIX shell script. You can fetch it without executing it first if you prefer to inspect exactly what it does.

curl -fsSL https://nift.dev/install -o nift-install.sh
less nift-install.sh
sh nift-install.sh
nift version
nift about
nift commands

The current v4 dispatcher supports all three commands from outside a Nift project directory.

Nift release assets are published through the project's GitHub releases page. For platforms with a supplied binary, extract the release and put the nift / nift.exe executable somewhere on your PATH.

Browse Nift releases

sudo snap install nift

Uninstall with:

sudo snap remove nift

Nift on Snapcraft

The Snap package uses strict confinement. Verify the version delivered by the store with nift version.

flatpak install --user \
  https://flathub.org/repo/appstream/cc.nift.nsm.flatpakref

The established Flatpak application ID is cc.nift.nsm. If you want to invoke it as nift from your shell, add an alias to your shell profile:

alias nift='flatpak run cc.nift.nsm'

Then open a new terminal or reload the profile and verify with nift version.

Flathub can lag a newly published GitHub release. Verify the installed version with nift version and use a release binary if you specifically need a newer version.

brew install nift

Homebrew can lag a newly published GitHub release. Verify the installed version with nift version and consult the formula page for the version currently distributed.

Uninstall with:

brew uninstall nift

Nift on Homebrew Formulae

From an elevated terminal:

choco install nift

Uninstall with:

choco uninstall nift

Nift on Chocolatey

Download the Windows release archive from GitHub, extract nift.exe, and place it in a directory included in your user/system PATH. Open a new terminal after changing PATH, then run:

nift version

Older release archives may contain additional files that belonged to earlier Nift versions. v4's reduced feature set no longer needs the old embedded scripting/runtime pieces documented by previous versions.

Nift has an established FreeBSD ports/packages install path:

pkg install www/nift

Or from the ports tree:

cd /usr/ports/www/nift
make install clean

Nift has also been distributed through a Gentoo overlay. Once the overlay containing the Nift ebuild is configured:

emerge -atuv www-apps/nift

The historical development ebuild uses www-apps/nift-9999; check the overlay itself for its current status before relying on that development package.

The current v4 source has a straightforward Makefile and no project-local package-manager dependency tree. You need a C++ compiler, make and the usual native build tools for your platform.

git clone https://github.com/nift-dev/nift.git
cd nift

make
sudo make install

The Makefile installs to /usr/local/bin by default on Unix-like systems. It supports conventional PREFIX, BINDIR and DESTDIR variables for custom installs and package staging.

# example custom prefix
make
sudo make install PREFIX=/opt/nift

Uninstall the Makefile installation with:

sudo make uninstall

With a suitable C++17/GNU Make environment, the Makefile builds nift.exe and supports make install. The default per-user prefix is under %LOCALAPPDATA%/Programs/Nift; override PREFIX or BINDIR if your toolchain or packaging setup uses another location.

make
make install

The curl installer defaults to ~/.local/bin/nift. On macOS it configures that directory in your login-shell profile when needed; on other Unix-like systems it prints the exact PATH action if your environment does not already include it. To diagnose an existing install:

ls -l ~/.local/bin/nift
export PATH="$HOME/.local/bin:$PATH"
nift version

Persist the PATH change in the startup file used by your shell if needed. Package-manager installs normally manage their own executable location.

nift init

That command creates and builds Nift's barebones HTML project. From there you can continue with the Getting Started guide or start from one of the downloadable templates.

Or make your first project an agent-first one.
nift init --handover

Open the directory in your coding agent, let it read HANDOVER.md, and tell it what you want to build. See the coding-agent workflow →