Publish your app
on Snaproot.

If you've built something — a CLI tool, a terminal app, a small utility — you can list it on Snaproot in three commands. GitHub Actions builds the binary. Snaproot distributes it. No servers to run, no infra to pay for.


Step 1 — Install Snaproot & log in

Install the CLI, then authenticate with your GitHub account. Your browser will open automatically.

iwr -useb https://snprt.pages.dev/install.ps1 | iex
$ snprt login
┌─────────────────────────────┐
│ Your code: A1B2-C3D4 │
└─────────────────────────────┘
Opening https://github.com/login/device ...
Enter the code and click Authorize Snprt.
Waiting......
Logged in as: namit
Publish under: namit/<appname>

No PATs, no settings menus. One command and a browser click.


Step 2 — Set up your project

Run this inside your project folder. It asks a few questions and creates a snprt.yml manifest.

snprt init

The manifest declares your app's name, description, and what permissions it needs at runtime:

PermissionRiskMeaning
network low App makes HTTP/HTTPS requests
filesystem low App reads or writes files
environment_variableslowApp reads env vars
admin_rights highApp needs elevated privileges

Users see these before installing. Apps that need admin rights show a HIGH RISK warning.


Step 3 — Publish

From inside your project folder:

snprt push

This single command:

1
Reads your version

From Cargo.toml, .csproj, or snprt.yml — no argument needed.

2
Injects the Ghost Forge workflow

Adds a GitHub Actions workflow to your repo that builds a native binary for Windows and Linux.

3
Tags and pushes

Creates a v{version} tag and pushes. GitHub Actions picks it up automatically.

4
Forge builds and registers

GitHub Actions builds the binary, uploads it to GitHub Releases, and notifies the Snaproot registry. Your app is live.

Your app is published under your GitHub username. You can only publish as yourself — namit/myapp, not someoneelse/myapp.

Supported project types

snprt init asks for your project type. Currently supported:

TypeBuild commandTargets
rust cargo build --releaseWindows, Linux
dotnet dotnet publish (Native AOT)Windows, Linux, macOS

After publishing

Anyone can install your app with:

snprt install yourusername/yourapp

The binary is downloaded directly from your GitHub Release, SHA-256 verified, and placed in ~/.snprt/bin/ — no admin password, no installer.

Browse the App Directory →