# 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)
* Enchant your 'cd' command to narrate your travels through the UNIX filesystem (under Features→ ao-cli) (less annoying than it sounds, easy to disable)
* Easily add your existing systemctl services to the Features list so you can start and stop them from the AO Features menu
## 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.6 Fixed AO version number crash on startup
* 0.1.5 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