SkillAgentSearch skills...

Nami

A clean and tidy decentralized package manager.

Install / Use

/learn @txthinking/Nami

README

Nami

A clean and tidy decentralized package manager.

❤️ A project by txthinking.com

Install

bash <(curl https://bash.ooo/nami.sh)

⚠️ Windows user should run in Git Bash, Video

Example

nami install brook
nami list
nami remove brook

You can also upgrade nami by nami

nami install nami
<details> <summary>Keep PATH with sudo</summary>
sudo visudo
Defaults        !env_reset
# Defaults       secure_path=...
</details>

All officially maintained packages

| Package | Description | Website | | --- | --- | --- | | 7z | 7-Zip is a file archiver with a high compression ratio. | Website | | agg | asciinema gif generator | Website | | brook-store | A brook user system | Website | | brook | A cross-platform network tool designed for developers. | Website | | bun | Incredibly fast JavaScript runtime, bundler, transpiler and package manager – all in one. | Website | | caddy | Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS | Website | | cidr-merger | A simple command line tool to merge ip/ip cidr/ip range, supports IPv4/IPv6 | Website | | cloudflare | cloudflare cli | Website | | cloudupload | Upload files to multiple Cloud Storage in parallel. Automatically apply for ssl certificate with your domain. | Website | | cmake | CMake, the cross-platform, open-source build system. | Website | | cowsay | cowsay is reborn. Neo Cowsay has written in Go. | Website | | curl | curl with http3 support | Website | | d2 | D2 is a modern diagram scripting language that turns text to diagrams. | Website | | deno | A modern runtime for JavaScript and TypeScript. | Website | | denobundle | Bundle assets into the binary with deno compile | Website | | etcd | Distributed reliable key-value store for the most critical data of a distributed system | Website | | fd | A simple, fast and user-friendly alternative to 'find' | Website | | ffmpeg | A complete, cross-platform solution to record, convert and stream audio and video. | Website | | fzf | A command-line fuzzy finder | Website | | go | An open-source programming language supported by Google | Website | | hancock | Manage multiple remote servers and execute commands remotely | Website | | hey | HTTP load generator, ApacheBench (ab) replacement | Website | | httpserver | This is a very simple http static server, sometimes we need it for testing | Website | | icnsify | Easily create .icns files (Mac Icons) | Website | | ipatool | Command-line tool that allows searching and downloading app packages (known as ipa files) from the iOS App Store | Website | | joker | Joker can turn process into daemon. Zero-Configuration | Website | | jq | Command-line JSON processor | Website | | mad | Generate root CA and derivative certificate for any domains and any IPs | Website | | markdown | markdown converter | Website | | marp | A CLI interface for Marp and Marpit based converters | Website | | minify | Go minifiers for web formats | Website | | nami | The easy way to download anything from anywhere | Website | | nico | A HTTP3 web server for reverse proxy and single page application, automatically apply for ssl certificate, Zero-Configuration. | Website | | ninja | a small build system with a focus on speed | Website | | nsq | A realtime distributed messaging platform | Website | | node | Node.js is an open-source, cross-platform JavaScript runtime environment. | Website | | openwrt | OpenWrt version of brook | Website | | protoc | Protocol Buffers - Google's data interchange format | Website | | protoc-gen-js | protoc-gen-js executable | Website | | rsrc | Tool for embedding .ico & manifest resources in Go programs for Windows. | Website | | shadowsocks | A Rust port of shadowsocks | Website | | sshexec | A command-line tool to execute remote command through ssh | Website | | stuntman | NAT type detection | Website | | tengo | A fast script language for Go | Website | | ipio | Proxy all traffic just one line command. | Website | | yt-dlp | Command-line program to download videos from YouTube.com and other video sites | Website | | z | a process manager | Website | | zig | Zig is a general-purpose programming language and toolchain for maintaining robust, optimal and reusable software. | Website | | zigup | Download and manage zig compilers. | Website | | zoro | zoro can help you expose local server to external network. Support both TCP/UDP, of course support HTTP. Zero-Configuration | Website |

Directory

  • $HOME/.nami: All files of nami
  • $HOME/.nami/bin: When installing nami, this path is already added to your $PATH
  • $HOME/.nami/cache: This directory will be emptied before installing package
    • If the package can be standalone executable files:

      After the installation process is finished, nami will copy these files to the $HOME/.nami/bin directory

    • If the package is a directory:
      • The script should save the directory into here. Such as go.tengo
      • And write the relative paths of executable files to links file, one path per line. Such as go.tengo

      After the installation process is finished, nami will copy the directory to the $HOME/.nami/dir/ directory and will create symbolic links to the $HOME/.nami/bin based on links

    • Write version to version file
  • $HOME/.nami/copied: This is usually used if the command to be installed is running, such as brook.tengo, you may:
    1. get the processes
    2. stop the processes
    3. copy(not move) the commands from $HOME/.nami/cache to $HOME/.nami/bin
    4. copy the commands from $HOME/.nami/cache to $HOME/.nami/copied, this prompts nami not to perform duplicate operations
    5. run the previously stopped processes again

Script

<details> <summary>tengo</summary>

Nami supports tengo script, there is a built-in module import("nami") for convenience:

  • nami.os: linux/darwin/windows/...
  • nami.arch: amd64/arm64/...
  • nami.home_dir: $HOME
  • nami.bin_dir: $HOME/.nami/bin
  • nami.cache_dir: $HOME/.nami/cache
  • nami.copied_dir: $HOME/.nami/copied
  • append_file(file string, text string) => error
  • write_file(file string, text string) => error
  • sh(name string, args...) => error: run command
  • sh1(name string, args...) => bytes/error: run command and return stdout
  • cp(url string, dst string) => bytes/error: download file to dst
  • cp(url string, { from: dst, from1: dst1 }) => bytes/error: download compressed file, and copy one or more files
  • cp_dir(url string, { from: dst, from1: dst1 }, [link, link1]) => bytes/error: download compressed file, and copy one or more directories, and create symbolic links
</details>

Run local script

nami install ./exmaple.tengo

PR

Fork nami project, put exmaple.tengo to package directory, create PR, then you can

nami install example

Run remote script

nami install https://yourserver.com/exmaple.tengo

License

Licensed under The GPLv3 License

Related Skills

View on GitHub
GitHub Stars354
CategoryDevelopment
Updated1mo ago
Forks31

Languages

Go

Security Score

100/100

Audited on Feb 21, 2026

No findings