ollie/README.md

73 lines
2.0 KiB
Markdown

# ollie
What happens if agent primitives are exposed as an ordinary filesystem? How much can be subtracted from AI agent implementations without reducing their usefulness? These are some of the motivating questions behind `ollie`.
- The [core system](https://github.com/lneely/ollie-core) provides a public library of AI agent primitives.
- The [9p filesystem server (Go)](https://github.com/lneely/ollie-9p) creates a virtual filesystem exposing the important state and behaviors as ordinary files and operations.
- A reference [TUI](https://github.com/lneely/ollie-tui) implementation proves that it is possible to build a functioning and user-friendly terminal front-end using only the Go standard library.
- And, just because I like my Emacs friends, a reference [Emacs interface](https://github.com/lneely/ollie-el) front-end implementation.
## Project Structure
- `core/`:
- `tui/`:
- `9p/`:
- `el/`:
## Getting Started
Clone with submodules:
```bash
git clone --recurse-submodules https://github.com/lneely/ollie.git
```
Or after cloning:
```bash
git submodule update --init --recursive
```
## Building
Build everything from the monorepo root:
```bash
mk
```
Or build specific components:
```bash
mk core # Build core library
mk tui # Build terminal UI
mk 9p # Build 9p filesystem server
```
For Emacs Lisp, copy `el/ollie.el` into your own Emacs configuration directory, and:
```lisp
(require 'ollie)
```
## Development
Update all submodules to latest:
```bash
git submodule update --remote
```
## Credits
Many sources of inspiration:
- [Plan 9 from Bell Labs](https://9fans.net) — for an interesting system
- [@9fans](https://github.com/9fans) — for the Plan 9 port
- [Suckless](https://suckless.org) — for articulating good software development principles
- [@simonfxr](https://github.com/simonfxr) — for a solid agent baseline to "borrow" from, and other nifty ideas
- [@aws](https://github.com/aws/amazon-q-developer-cli) — for a solid open-source agent implementation
## License
GPLv3