β οΈ Please note: This app is under active development.
It is riddled with bugs. Everything is subject to change.
tldr: An organizational tool for your mind's eye.
koad:io is a sovereign, local-first command-and-control framework for automating your digital life. It encapsulates identity, environment, and intent β letting you structure your scripts, services, and thoughts as composable, auditable entities.
At its core, koad:io
is a modular CLI toolchain designed to manage:
- βοΈ Reusable commands and workflows
- π Identity-backed assertions
- π Project- and context-scoped environments
- ποΈ Data and service organization across machines, devices, and personas
Whether you're managing shell scripts, building full-stack apps, or signing cryptographic login requests β koad:io
helps you keep the whole thing structured, shareable, and verifiable.
βYour systems need to be faster than you (can) think.β
β adapted from Getting Things Done
By saving a task as a command
, and saving its working context as an entity
, I can:
- π Remember how I did a thing
- π Replay it later, identically
- β³ Audit my decisions and assumptions
- π Keep my stuff together as simple files and folders
- π§ Internalize the structure of my work
- π¦ Package or pass projects on as-is
- π Visualize the state and focus areas of my system
[BUG SALAD]
Use at your own curiosity. It works. But only mostly. Maybe.
- π§± Entities = containers for env variables, commands, and keys
- π§Ύ Commands = repeatable tasks saved as bash scripts
- π§ Context-aware execution = auto-loads
.env
, keys, and project scopes - π PGP assertion system = sign/verify/login flows via GPG
- π Meteor integration = talk to local/remote daemons with verifiable identity
- π§° No cloud required = all data is stored locally
.koad-io/
βββ bin/ # Entrypoint commands (alice, koad, etc.)
βββ commands/ # Global command templates
βββ .env # Global koad-wide vars
βββ .aliases # Optional alias layer
Each entity has its own world:
.alice/
βββ id/ # GPG keys (pub+priv)
βββ commands/ # Persona-level commands
βββ .env # Local config
βββ sites/ # Per-domain overrides
βββ hooks/ # Optional pre/post exec scripts
# Login via SSH to a different device
alice ssh crapple
# Sign a message with alice's key
alice sign "I am the sovereign."
# Generate a login assertion for a domain
alice generate login wonderland.koad.sh
# Generate a login assertion for a domain and deliver it
alice login wonderland.koad.sh [session id]
Or pipe anything into a clipboarded GPG clearsign:
echo "hello world" | alice sign
- π« No cloud, ever
- π Identity-first
- π§± Modular, file-based, reproducible
- π§ Designed for thinkers, hackers, and sovereign operators
Come hang out in the
#io:koad.sh
room β share flows, scripts, bugs, ideas.
MIT β Yours to fork, break, and rebuild.
βI am an amateur. This might all be shit. It's too early to tell.β β @you, wisely
Some folks fear the command line. But we know the truth:
If you're comfortable with bash
, koad:io
will make perfect sense.
If not β well, maybe someone will build a UI for you. Eventually.
Start a site:
alice start site kingofalldata.com
Open Element (Matrix) as Alice:
alice open element
SSH into "toronto" as Alice:
alice ssh toronto
koad:io
doesnβt ship with commands. You build your own β intimately, intentionally.
π Read more
Every command execution goes through a deterministic path of evaluation:
-
Call an entity wrapper β
alice start
,alice hello
, etc. -
No args? β Run
hooks/executed-without-arguments.sh
. -
Set environment:
ENTITY=alice
CWD=$PWD
-
Call core CLI wrapper: β
~/.koad-io/bin/koad-io $@
-
Load environments (if present):
~/.koad-io/.env
~/.$ENTITY/.env
~/.$ENTITY/.credentials
-
Find the command script:
~/.koad-io/commands/
~/.$ENTITY/commands/
$CWD/commands/
./$COMMAND.sh
-
Load local env (if needed):
$CWD/.env
$CWD/.credentials
-
Execute command.sh with full context.
Example 1:
alice probe domain koad.sh
Breaks down to:
set -a
source ~/.koad-io/.env
source ~/.alice/.env
~/.koad-io/commands/probe/domain/command.sh koad.sh
Example 2:
alice archive video https://www.youtube.com/watch?v=dQw4w9WgXcQ
Breaks down to:
set -a
source ~/.koad-io/.env
source ~/.alice/.env
~/.koad-io/commands/archive/video.sh https://www.youtube.com/watch?v=...
Will store output in
~/.alice/archive/inbound
or the path inKOAD_IO_ARCHIVE_FOLDER
.
KOAD_IO_ARCHIVE_FOLDER=$HOME/.alice/archive/inbound
-
Install dependencies:
-
Clone the repo:
git clone https://github.com/koad/io.git ~/.koad-io
- Add it to your
PATH
(append to~/.bashrc
):
[ -d ~/.koad-io/bin ] && export PATH=$PATH:$HOME/.koad-io/bin
One-liner install:
git clone https://github.com/koad/io.git ~/.koad-io && echo -e "\n\n[ -d ~/.koad-io/bin ] && export PATH=\$PATH:\$HOME/.koad-io/bin\n" >> ~/.bashrc && export PATH=$PATH:$HOME/.koad-io/bin
Your first
koad:io
entity β congrats!
koad-io gestate alice
Check it:
ls -la ~/.alice
Back this up. Store it somewhere ridiculously safe.
Start here:
- Bash Cheatsheet
- Browse
./commands/
for prototypes
mkdir ~/.koad-io/commands/hello
cd ~/.koad-io/commands/hello
cat <<EOF > command.sh
#!/usr/bin/env bash
echo "hi there, \$ENTITY here!"
echo "args: \$@"
EOF
chmod +x command.sh
Run from anywhere:
alice hello
alice hello arg1 arg2
mkdir ~/.alice/commands/hello
cd ~/.alice/commands/hello
cat <<EOF > command.sh
#!/usr/bin/env bash
echo "hi there, \$ENTITY here!"
echo "args: \$@"
EOF
chmod +x command.sh
Run only with Alice:
alice hello
cd ~/some/random/folder/
cat <<EOF > hello.sh
#!/usr/bin/env bash
echo "hi there, \$ENTITY here!"
echo "args: \$@"
EOF
chmod +x hello.sh
Then:
alice hello
koad:io
isnβt just CLI automation β itβs a system for embedding memory into code, and shaping your tools around your mental model.
Now go build yours. Your entity is listening.
Check the commands/
folder β thereβs not a lot preloaded. And thatβs intentional.
Youβre meant to build this your way. But hereβs whatβs included by default:
- gestate β create new entities
- whoami β introspect the current environment
- example β explore supported patterns
Use these to see how to write koad:io
commands in different languages:
Run the base example:
alice example
Sample output:
see how these examples work by taking a peek into the ~/.koad-io/commands/example folder
this output is created by the file ~/.koad-io/commands/example/command.sh
Run language-specific demos:
alice example bash
alice example javascript
alice example python
alice example rust
alice example go
Each one is a minimal, working prototype in its language β meant to inspire your own tools.
Need inspiration? Explore the Alice repo β a complete, working entity built with koad:io
.
Alice is designed to showcase the real-world utility and creativity behind the koad:io
approach.
π° Check it out, fork it, remix it β and build your own synthetic intelligence system.
koad-io is an open-source project, and contributions are always welcome. If you'd like to contribute to koad-io, please take a look at our contributing guidelines for more information.
As mentioned above, I am an amateur;
I have been using computers for a long time, programming for a long time; but, I totally suck in a lot of ways.
I'd appreciate any feedback from any seasoned
bash
users out there!
Contributions, issues, and feature requests are welcome!
Give a βοΈ if you like this project!
P.S. somebody somewhere, sometime, will create a voice controller for this,. so keep that in mind when creating commands. You have full control, imagine if you were able to teach siri over time (for yourself); it would be amazing.
/koad
koad-io is licensed under the GPL License.