show hex->bin conversion
[webi-installers/.git] / README.md
index 0c50637021e801373ea3c4b907a20d2ef02bc0ff..64be7376e3d4c12674dec07f5b13fbcd79771401 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,6 +1,11 @@
 # @webinstall/packages
 
-> WebInstall is how developers install their tools
+> `webi` is how developers install their tools
+
+- no `sudo`
+- no package manager
+- no messing with system permissions
+- in short: no nonsense
 
 ```bash
 curl https://webinstall.dev/webi | bash
@@ -9,30 +14,11 @@ curl https://webinstall.dev/webi | bash
 This repository contains the primary and community-submitted packages for
 [webinstall.dev](https://webinstall.dev).
 
-# Installer Guidelines
-
-- Should install to `$HOME/.local/opt/<package>-<version>` or `$HOME/.local/bin`
-- Should not need `sudo` (except perhaps for a one-time `setcap`, etc)
-- Examples:
-  - Full Packages:
-    - Node.js: <https://github.com/webinstall/packages/tree/master/node>
-    - Golang: <https://github.com/webinstall/packages/tree/master/golang>
-    - PostgreSQL: <https://github.com/webinstall/packages/tree/master/postgres>
-  - Single-Binary Installers:
-    - Caddy: <https://github.com/webinstall/packages/tree/master/caddy>
-    - Ripgrep: <https://github.com/webinstall/packages/tree/master/ripgrep>
-    - Gitea: <https://github.com/webinstall/packages/tree/master/gitea>
-  - Convenience Scripts:
-    - Prettier: <https://github.com/webinstall/packages/tree/master/prettier>
-    - Rust-lang: <https://github.com/webinstall/packages/tree/master/rustlang>
-    - Rust-lang:
-      <https://github.com/webinstall/packages/tree/master/vim-sensible>
-
-# How it works
+# How `webi` works
 
 - Contacts official release APIs for download URLs
 - Selects the appropriate package version and archive format
-- Installs to `$HOME/.local/`
+- Installs to `$HOME/.local/opt` or `$HOME/.local/bin`, as appropriate.
 - Updates `PATH` via `$HOME/.config/envman/PATH.env`
 - Symlinks or copies current selected version
 
@@ -58,6 +44,25 @@ More technically:
      `https://webinstall.dev/api/installers/<pkg>@<ver>.sh?formats=zip,tar`
    - `bash install-<pkg>.sh` => download, unpack, move, link, update PATH
 
+# Philosophy (for package authors / maintainers publishing with webi)
+
+- Should install to `$HOME/.local/opt/<package>-<version>` or `$HOME/.local/bin`
+- Should not need `sudo` (except perhaps for a one-time `setcap`, etc)
+- Examples:
+  - Full Packages:
+    - Node.js: <https://github.com/webinstall/packages/tree/master/node>
+    - Golang: <https://github.com/webinstall/packages/tree/master/golang>
+    - PostgreSQL: <https://github.com/webinstall/packages/tree/master/postgres>
+  - Single-Binary Installers:
+    - Caddy: <https://github.com/webinstall/packages/tree/master/caddy>
+    - Ripgrep: <https://github.com/webinstall/packages/tree/master/ripgrep>
+    - Gitea: <https://github.com/webinstall/packages/tree/master/gitea>
+  - Convenience Scripts:
+    - Prettier: <https://github.com/webinstall/packages/tree/master/prettier>
+    - Rust-lang: <https://github.com/webinstall/packages/tree/master/rustlang>
+    - vim-sensible:
+      <https://github.com/webinstall/packages/tree/master/vim-sensible>
+
 ## Creating an Installer
 
 An install consists of 5 parts in 4 files:
@@ -243,7 +248,7 @@ webi_path_add /new/path # Adds /new/path to PATH for bash, zsh, and fish
 webi_pre_install        # Runs webi_check, webi_download, and webi_extract
 webi_install            # Moves extracted files from $WEBI_TMP to $pkg_src
 webi_link               # replaces any existing symlink with the currently selected version
-webi_post_install       # Runs `webi_add_path $pkg_dst_bin`
+webi_post_install       # Runs `webi_path_add $pkg_dst_bin`
 ```
 
 # Roadmap
@@ -254,7 +259,7 @@ webi_post_install       # Runs `webi_add_path $pkg_dst_bin`
   - (maybe `ghi node/node` for github specifically)
 - [ ] Support git as an archive format
 
-<!-- 
+<!--
 
 # Windows Notes