An interactive command-line interface (CLI) tool to help you install, use, and administer an AO instance.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
4.0 KiB

3 years ago
# 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.
3 years ago
To run immediately:
```
npx @autonomousorganization/ao-cli
```
3 years ago
To install:
```
npm i -g @autonomousorganization/ao-cli
```
3 years ago
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 developers. 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
2 years ago
* 0.1.8 Priorities now upboat more intuitively
* 0.1.7 Added support for feature submodules and adding system services to AO's features menu
2 years ago
* 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