# ao-cli `ao-cli` (alias `ao`) is a command-line interface (CLI) that helps you install, use, and configure the Autonomous Organization (AO). Command-line social networking for hackers. To run immediately: ``` npx @autonomousorganization/ao-cli ``` To install: ``` npm i -g @autonomousorganization/ao-cli ``` Then you can run with `ao-cli`. ## Features These features work right now: * Browse the [AO User Manual](https://git.coalitionofinvisiblecolleges.org/autonomousorganization/ao-manual) and automatically download and keep it updated * Interactive install wizard installs the AO for you * Operate essential AO client features (view, create, and organize priorities) * Easily monitor your AO server status and start/stop the service * Easily view installed/running status of optional AO features (soon all features) * Easily install/uninstall and turn on/off optional AO features * Manages your AO configuration (.env) file for you * `ao-cli` can self-update to the newest version * Run AO unit tests to verify the up-to-spec functioning of the system's running AO API server * Detects your OS, with support for Debian/Ubuntu, Arch/Manjaro, and Fedora (MacOS planned) * Wraps the functionality of (some of) Zen's Alchemy suite of scripts (system configuration, AO installation) * Add `ao` alias for `ao-cli` (under Features→ao-cli) * Optionally enchant your 'cd' command to narrate your travels through the UNIX filesystem and occasionally remind you of your top priority (under Features→ao-cli) * Easily add your existing systemctl services to the Features list so you can start and stop them from the AO Features menu * Pedagogical codebase designed for teaching novice users. Code written to be read, with relevant contextual information mentioned in comments. Browse or download the code for ao-cli at the Repository link above. ## Upcoming Features These features are planned and many are mocked up in the menus: * Easily install and configure your AO server installation * Join the AO .onion bootstrapping network and find public AO chatrooms p2p over tor * Easily use hardware-owner-only god-mode features for your AO server including resetting any password or deleting any member * Easily switch between serving different AO frontends: `ao-svelte`, `ao-3` (Vue), or `ao-react` * Easily update all your remote AOs at once * Easily install your preferred flavor of Unix on any unsecured Windows computer given its IP address (j/k) * Full interactive wizard to walk you through setting up and connecting new AO hardware resources to your AO server * Terminal spellbook to save and trade your favorite UNIX commands * AO server using AO features via ao-cli command line switches (with optional sound notifications on server computer) * More unit tests, optional feature modules, and AO client features, unit tests for each feature ## Important Locations * `~/.ao/` Your AO saved data folder * `~/.ao/database.sqlite3` Location of your AO database (copy to back up) * `~/.ao/memes/` Files here will be loaded as card attachments when the AO server starts up * `~/ao-cli/` Typical location for `ao-cli` * `~/ao-svelte/` Typical location for `ao-svelte` * `~/ao-3/` Typical location for `ao-3` * `~/.ao/manual/` Typical location of the AO manual (Markdown files) * `~/Alchemy/` Typical location of Zen's Alchemy ## Version History * 0.1.7 Added support for feature submodules and adding system services to AO's features menu * 0.1.4 Added fantasy hook feature to bring the AO MUD aesthetic into the terminal * 0.1.2 AO install wizard partway done, reorganized project repos, 'Check AO install' feature * 0.1.0 View, create or recall, upboat and downboat priorities; partial AO install wizard * 0.0.9 Features menu loaded from module file for each feature; view top priority * 0.0.8 Added self-update feature and --version/-v arg * 0.0.6 User manual downloads and updates automatically from [official ao-manual repo](https://git.coalitionofinvisiblecolleges.org/autonomousorganization/ao-manual) * 0.0.5 Added browsable manual * 0.0.1 Menus prototyped