@@ -17,6 +17,26 @@ OSA is a shell-first, interactive CLI tool that automates the tedious setup of d
1717- 🔐 ** Extensible** : Keep secrets and machine-specific configs out of git via constructors
1818- 📦 ** Modern Tooling** : Built-in support for mise (replaces nvm/rbenv/pyenv/jenv)
1919
20+ ### Why OSA When Mise Exists?
21+
22+ ** Mise is great for runtime management, but OSA solves the whole setup problem:**
23+
24+ Mise only handles runtime versions (Node, Python, Ruby, etc.). OSA handles ** everything** :
25+
26+ | Task | Mise | OSA |
27+ | ------| ------| -----|
28+ | ** Runtime versions** (Node, Python, Ruby) | ✅ Yes | ✅ Yes (via mise) |
29+ | ** Homebrew packages** (git, ripgrep, etc.) | ❌ No | ✅ Yes |
30+ | ** Oh My Zsh + plugins** | ❌ No | ✅ Yes |
31+ | ** Shell configuration** | ❌ No | ✅ Yes |
32+ | ** Git config** (user, aliases, ignores) | ❌ No | ✅ Yes |
33+ | ** IDE settings** (VS Code, PhpStorm) | ❌ No | ✅ Yes |
34+ | ** Mobile dev tools** (CocoaPods, Android SDK) | ❌ No | ✅ Yes |
35+ | ** Security model** (secrets isolation) | ❌ No | ✅ Yes |
36+ | ** Team consistency** (shared configs) | ❌ No | ✅ Yes |
37+
38+ ** TL;DR:** Mise is one tool. OSA is an orchestrator that brings together mise + shell + package manager + IDE + security best practices into one unified setup experience.
39+
2040## Tested Platforms
2141
2242<ul >
@@ -28,50 +48,117 @@ OSA is a shell-first, interactive CLI tool that automates the tedious setup of d
2848
2949## Quick Start
3050
31- ** Two ways to get started:**
32-
33- ### Option 1: Clone from GitHub (For Development)
51+ ** Clone and run:**
3452
3553``` bash
3654git clone https://github.com/VirtualizeLLC/osa.git ~ /osa
3755cd ~ /osa
3856zsh ./osa-cli.zsh --interactive
3957```
4058
41- ### Option 2: Install via Homebrew (Recommended)
59+ ** Note: ** If you get "permission denied", try: ` chmod +x ./osa-cli.zsh && zsh ./osa-cli.zsh --interactive `
4260
61+ After setup completes, the ` osa ` command will be available globally from any directory:
4362``` bash
44- brew tap VirtualizeLLC/homebrew-osa
45- brew install osa
46- osa --interactive
63+ osa --interactive # Works from anywhere
64+ osa --help # Try it out
4765```
4866
4967That's it. The CLI will guide you through the rest.
5068
51- ### First-Time Setup Steps
69+ ### Setup Instructions by Platform
70+
71+ <table >
72+ <thead >
73+ <tr>
74+ <th>Platform</th>
75+ <th>Setup Command</th>
76+ <th>Dependencies</th>
77+ <th>Status</th>
78+ </tr>
79+ </thead >
80+ <tbody >
81+ <tr>
82+ <td><strong>macOS</strong></td>
83+ <td>
84+ <code>git clone https://github.com/VirtualizeLLC/osa.git ~/osa && cd ~/osa && brew bundle && zsh ./osa-cli.zsh --interactive</code>
85+ </td>
86+ <td>Git, Zsh, Homebrew</td>
87+ <td>✅ Fully Tested</td>
88+ </tr>
89+ <tr>
90+ <td><strong>Linux (Ubuntu/Debian)</strong></td>
91+ <td>
92+ <code>git clone https://github.com/VirtualizeLLC/osa.git ~/osa && cd ~/osa && sudo apt-get install -y git zsh jq && zsh ./osa-cli.zsh --interactive</code>
93+ </td>
94+ <td>Git, Zsh, jq</td>
95+ <td>✅ Supported</td>
96+ </tr>
97+ <tr>
98+ <td><strong>WSL 2 (Windows)</strong></td>
99+ <td>
100+ <code>git clone https://github.com/VirtualizeLLC/osa.git ~/osa && cd ~/osa && sudo apt-get install -y git zsh jq && zsh ./osa-cli.zsh --interactive</code>
101+ </td>
102+ <td>Git, Zsh, jq</td>
103+ <td>✅ Supported</td>
104+ </tr>
105+ <tr>
106+ <td><strong>Android (Termux)</strong></td>
107+ <td>
108+ <code>pkg install git zsh openssh && git clone https://github.com/VirtualizeLLC/osa.git ~/osa && cd ~/osa && zsh ./osa-cli.zsh --interactive</code>
109+ </td>
110+ <td>Git, Zsh, OpenSSH</td>
111+ <td>⚠️ Experimental</td>
112+ </tr>
113+ <tr>
114+ <td><strong>Windows (Native)</strong></td>
115+ <td>Use <strong>WSL 2</strong> (recommended) or see <a href="#windows-native-setup">manual setup</a></td>
116+ <td>WSL 2 or manual config</td>
117+ <td>⚠️ Limited</td>
118+ </tr>
119+ </tbody >
120+ </table >
121+
122+ ### Detailed Setup by Platform
123+
124+ #### macOS
125+ ``` bash
126+ git clone https://github.com/VirtualizeLLC/osa.git ~ /osa
127+ cd ~ /osa
128+ brew bundle # Install dependencies (optional but recommended)
129+ zsh ./osa-cli.zsh --interactive
130+ ```
52131
53- 1 . ** Clone this repo** :
54- ``` bash
55- git clone https://github.com/VirtualizeLLC/osa.git ~ /osa
56- cd ~ /osa
57- ```
132+ #### Linux (Ubuntu/Debian)
133+ ``` bash
134+ git clone https://github.com/VirtualizeLLC/osa.git ~ /osa
135+ cd ~ /osa
136+ sudo apt-get install -y git zsh jq # Install dependencies
137+ zsh ./osa-cli.zsh --interactive
138+ ```
58139
59- 2 . ** Install dependencies** (optional but recommended):
60- ``` bash
61- brew bundle # Installs jq, git, zsh, and optional tools
62- ```
140+ #### WSL 2 (Windows Subsystem for Linux)
141+ ``` bash
142+ # In WSL terminal
143+ git clone https://github.com/VirtualizeLLC/osa.git ~ /osa
144+ cd ~ /osa
145+ sudo apt-get install -y git zsh jq # Install dependencies
146+ zsh ./osa-cli.zsh --interactive
147+ ```
63148
64- 3 . ** Make zsh your login shell** (if not already):
65- ``` bash
66- chsh -s $( which zsh)
67- ```
149+ #### Android (Termux)
150+ ``` bash
151+ # In Termux terminal
152+ pkg install git zsh openssh
153+ git clone https://github.com/VirtualizeLLC/osa.git ~ /osa
154+ cd ~ /osa
155+ zsh ./osa-cli.zsh --interactive
156+ ```
68157
69- 4 . ** Run the interactive setup** :
70- ``` bash
71- zsh ./osa-cli.zsh --interactive
72- ```
158+ #### Windows (Native)
159+ Use ** WSL 2** for best experience (see WSL 2 section above).
73160
74- 5 . ** Restart your terminal ** and you're done!
161+ For manual setup, see [ Windows Native Setup ] ( #windows-native-setup ) section.
75162
76163### Alternative Setup Methods
77164
@@ -116,6 +203,51 @@ zsh ./osa-cli.zsh --all
116203- Rust (stable)
117204- Deno, Elixir, Erlang (latest)
118205
206+ ## About Mise
207+
208+ ** [ Mise] ( https://mise.jdx.dev/ ) ** is a polyglot runtime manager that replaces nvm, rbenv, pyenv, jenv, and similar tools.
209+
210+ ### Why Mise?
211+
212+ - ✅ ** Single tool** for all languages (no more nvm + rbenv + pyenv juggling)
213+ - ✅ ** Fast** : Cached, optimized binaries (much faster than building from source)
214+ - ✅ ** Per-project versions** : Automatic switching via ` .mise.toml ` files
215+ - ✅ ** Team consistency** : Everyone uses the same runtime versions
216+ - ✅ ** Easy updates** : ` mise install ` from ` .mise.toml `
217+
218+ ### Quick Start with Mise
219+
220+ After OSA setup, mise is ready to use:
221+
222+ ``` bash
223+ # Install runtimes from .mise.toml
224+ mise install
225+
226+ # Check installed versions
227+ mise list
228+
229+ # Switch versions
230+ mise use node@20
231+
232+ # Show what's available
233+ mise list-all node
234+ ```
235+
236+ ### Per-Project Setup
237+
238+ Create ` .mise.toml ` in your project:
239+
240+ ``` toml
241+ [tools ]
242+ node = " 20.11.0"
243+ python = " 3.12"
244+ ruby = " 3.3.0"
245+ ```
246+
247+ When you ` cd ` into the directory, mise automatically activates those versions. No more shell aliasing or version switching scripts!
248+
249+ ** Learn more:** [ Mise Documentation] ( https://mise.jdx.dev/ ) | [ GitHub] ( https://github.com/jdx/mise )
250+
119251## Security Model: Why It Matters
120252
121253OSA's workspace-based approach is fundamentally different from traditional dotfile management:
0 commit comments