PACKAGE MANAGER & USER GUIDE

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
Under the Hood Highlights:
  • 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, tpkg rolls 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
How pacman flags work:
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).

Important Notice Regarding Winget Packages:
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
Prefer Using the Windows Interface?
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