tpkg - Teto Package Manager
A blazing-fast, Arch Linux-style package manager designed for Windows. Install, upgrade, and manage your applications effortlessly from the command line.
1. What is tpkg?
tpkg (Teto Package Manager) is a modern package management system built natively in Rust for tetoOS and Windows.
If you've ever used Arch Linux (pacman) or Void Linux (xbps), you'll feel right at home. Instead of opening a web browser, hunting down download buttons, dodging installer adware, and clicking "Next, Next, Agree, Finish", tpkg lets you install, update, and manage all your software with single, concise terminal commands.
The Old Windows Way
- Manually searching websites on Google
- Risk of downloading bundled bloatware or malware
- Scattered uninstallers leaving leftover registry junk
- Updating 20 apps requires opening 20 individual updaters
The tpkg Way
- One simple command:
tpkg -Sw appname - Direct access to millions of verified Windows packages
- Atomic tracking - clean installs and clean uninstalls
- One command to update every app on your system:
tpkg -Syu
- Native Speed: Built from scratch in Rust with zero heavy runtime overhead.
- PubGrub Dependency Resolver: Automatically detects and resolves required libraries and dependencies before installing.
- .tetopkg Format: Ultra-fast compression using Zstandard (zstd) and tar archives for instantaneous decompression.
- Atomic Safety: If an installation fails mid-way,
tpkgrolls back changes automatically to prevent broken states. - Windows GUI Sync: Automatically syncs with Windows Apps & features and Control Panel so you can still uninstall apps the standard way.
2. Beginner Quick Start
You don't need to memorize dozens of flags. Here are the 3 most essential commands you'll use 95% of the time:
Step 1: Open Your Terminal
Press Win + X and select Terminal or PowerShell.
Step 2: Install Any Popular App (Recommended)
Install common Windows apps like Discord, Steam, Spotify, or Chrome in seconds with the -Sw flag:
tpkg -Sw Discord.Discord Valve.Steam Spotify.Spotify
Step 3: Update Everything in One Step
To update your package database and upgrade all installed apps at once:
tpkg -Syu
Uppercase letters indicate the primary operation mode (
-S = Sync/Install, -R = Remove, -Q = Query, -T = TETAUR, -B = Build). Lowercase letters modify that operation (w = winget catalog, y = refresh database, u = upgrade, s = search, i = info).
3. Best & Recommended: Winget & MS Store Integration
RECOMMENDED FOR BEGINNERS
For daily computer use, pairing tpkg with the vast Winget and Microsoft Store ecosystem is the easiest and most powerful method to get your software!
You get the ultra-clean CLI experience of tpkg combined with immediate access to hundreds of thousands of popular Windows games, browsers, chat tools, and developer utilities (e.g. Google Chrome, Visual Studio Code, Discord, Steam, OBS Studio).
Please note that not all packages available in the Winget catalog are maintained directly by their official developers. Many manifests are contributed and maintained by independent third-party community members. Consequently, updates may occasionally be delayed, manifests may contain inaccuracies, or installers may fail to launch. The tetoOS / moedev team is not responsible for errors, broken packages, or issues caused by third-party Winget maintainers.
| Command | Target Source | Practical Example |
|---|---|---|
tpkg -Sw <PackageIdentifier> |
Winget Catalog (Install) | tpkg -Sw Discord.Discord |
tpkg -Ssw <query> |
Search Winget Catalog | tpkg -Ssw chrome |
tpkg -Syw <package> |
Sync Index + Install from Winget | tpkg -Syw Valve.Steam |
tpkg -Qw |
Query Installed Winget Packages | tpkg -Qw |
tpkg -Sws <ProductId> |
Microsoft Store (Install by ID) | tpkg -Sws 9NBLGGH4NNS1 |
tpkg -Ssws <query> |
Search Microsoft Store Catalog | tpkg -Ssws "Windows Terminal" |
Popular One-Liner Install Bundles:
Gamer Essentials Bundle:
tpkg -Sw Valve.Steam Discord.Discord OBSProject.OBSStudio Spotify.Spotify
Developer Essentials Bundle:
tpkg -Sw Microsoft.VisualStudioCode Git.Git 7zip.7zip Python.Python.3.12
4. Installing & Upgrading Native Packages (-S / Sync)
The -S (Sync) mode interacts with official tetoOS repositories to download, verify, install, and update native .tetopkg packages.
| Command | What It Does | Example |
|---|---|---|
tpkg -S <package> |
Downloads and installs a specific package | tpkg -S neovim |
tpkg -S <pkg1> <pkg2> |
Installs multiple packages in a single batch | tpkg -S vlc 7zip curl |
tpkg -Sy |
Refreshes & synchronizes repository index databases | tpkg -Sy |
tpkg -Su |
Upgrades all installed packages to their newest versions | tpkg -Su |
tpkg -Syu |
Synchronizes databases and performs a full system upgrade | tpkg -Syu |
tpkg -Ss <query> |
Searches repository databases for packages matching keyword | tpkg -Ss editor |
tpkg -Si <package> |
Displays detailed package info (version, size, deps, license) | tpkg -Si firefox |
tpkg -S --noconfirm <pkg> |
Installs automatically without prompting for confirmation | tpkg -S --noconfirm git |
Example Terminal Output:
$ tpkg -S neovim
:: Resolving dependencies...
Packages (3) libuv-1.46.0 luajit-2.1.0 neovim-0.10.0
Total Download Size: 8.43 MiB
Total Installed Size: 32.10 MiB
:: Proceed with installation? [Y/n] y
:: Downloading packages...
libuv-1.46.0 [############################] 100%
luajit-2.1.0 [############################] 100%
neovim-0.10.0 [############################] 100%
:: Verifying checksums... done
:: Installing packages...
(1/3) installing libuv [############################] done
(2/3) installing luajit [############################] done
(3/3) installing neovim [############################] done
5. Searching & Inspecting (-Q / Query)
The -Q (Query) mode lets you inspect your local system to see what is currently installed, search local apps, and trace files.
| Command | Explanation | Example |
|---|---|---|
tpkg -Q |
Lists all packages currently installed on your computer | tpkg -Q |
tpkg -Q <package> |
Checks if a specific package is installed and shows its version | tpkg -Q python |
tpkg -Qi <package> |
Shows complete info, install date, packager, and dependencies | tpkg -Qi neovim |
tpkg -Ql <package> |
Lists every single file installed on disk by this package | tpkg -Ql 7zip |
tpkg -Qs <keyword> |
Searches among your installed packages only | tpkg -Qs player |
tpkg -Qo <file_path> |
Finds which installed package owns a given file on disk | tpkg -Qo C:\ProgramData\tetopkg\db\local |
tpkg -Qu |
Lists all installed packages that have available updates | tpkg -Qu |
6. Uninstalling Software Cleanly (-R / Remove)
When you remove software with tpkg, it tracks installed files precisely to prevent leaving orphaned junk or bloated directories behind.
| Command | Function | Recommended Use Case |
|---|---|---|
tpkg -R <package> |
Standard removal of a package | Standard uninstallation |
tpkg -Rs <package> |
Removes the package + unneeded orphan dependencies | Best practice! Keeps system lean and free of unused sub-dependencies |
tpkg -Rn <package> |
Removes package and wipes user configuration files | When you want a completely fresh reset with zero leftover config |
tpkg -Rns <package> |
Full clean purge: removes package, orphan deps, and configs | Total cleanup of an application and everything associated with it |
Don't worry if you ever feel uncomfortable using the command line! All software installed through
tpkg is automatically registered with Windows. You can open Windows Settings → Apps → Installed apps (or the classic Control Panel → Programs and Features) and uninstall or modify any application the traditional Windows way whenever you wish.
Managing Repositories via -R:
You can also configure custom package repositories using repo flags:
# List all active package repositories
tpkg -R --list-repo
# Add a third-party or internal community repository
tpkg -R --add-repo https://repo.example.com/teto
# Remove a repository by name
tpkg -R --remove-repo custom-repo
7. Community Repository (TETAUR)
TETAUR (Teto User Repository) is the community repository system, inspired directly by Arch Linux's AUR.
While the main tpkg repository contains officially verified packages, TETAUR allows developers and power users to share build recipes (TETOBUILD) for game patches, custom themes, and nightly development builds.
| Command | Action | Description |
|---|---|---|
tpkg -T <package> |
Install from TETAUR | Clones the recipe, verifies sources, builds locally, and installs |
tpkg -Ts <keyword> |
Search TETAUR | Searches the community catalog for available user recipes |
tpkg -Tu |
Update TETAUR packages | Checks for recipe updates and recompiles installed community software |
8. Building Packages (-B / TETOBUILD)
Building packages in tpkg is straightforward. Instead of complex bash scripts, recipes use clean, human-readable TOML format.
Sample TETOBUILD.toml:
[meta]
pkgname = "sample-tool"
pkgver = "1.0.0"
pkgrel = 1
pkgdesc = "Ultra fast sample CLI utility"
arch = ["x86_64"]
license = ["MIT"]
[deps]
depends = ["curl"]
[[source]]
url = "https://example.com/downloads/v1.0.0.zip"
sha256 = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
[scripts]
package = """
copy sample-tool.exe ${pkgdir}\bin\
"""
Build Commands:
| Command | Action | Description |
|---|---|---|
tpkg -B |
Builds a .tetopkg package file from TETOBUILD.toml in the current folder |
Standard package build |
tpkg -B <path> |
Builds a package from a specified directory path | Custom path build |
tpkg -B --install |
Builds the package and immediately installs it to your system upon completion | Build and install |
9. Quick Command Cheat Sheet
Bookmark or save this cheat sheet for fast reference whenever you're using the terminal:
| Goal | Command |
|---|---|
| Install popular app (Winget) | tpkg -Sw <app> |
| Install native package | tpkg -S <package> |
| Install multiple apps | tpkg -Sw Discord.Discord Valve.Steam 7zip.7zip |
| Update whole system | tpkg -Syu |
| Search an app (Winget) | tpkg -Ssw <keyword> |
| View app info | tpkg -Si <package> |
| Uninstall an app cleanly | tpkg -Rs <package> |
| List installed apps | tpkg -Q |
| Find which app owns a file | tpkg -Qo <filepath> |
| Install from Community (TETAUR) | tpkg -T <package> |
| Build recipe locally | tpkg -B --install |