Get Started

Prerequisites

Before installing MyMonad, ensure you have:


Quick Start

Get your monad running in 5 steps:

Step 1: Install Ollama and Pull Model

# Install Ollama (see https://ollama.ai for your platform)
# Then pull the embedding model
ollama pull nomic-embed-text

Step 2: Clone and Build

git clone https://github.com/mymonad/mymonad.git
cd mymonad
make build

This creates three binaries in ./bin/:

Step 3: Start the Ingest Daemon

# Watch directories for documents to process
./bin/mymonad-ingest --watch-dirs ~/Documents

This daemon watches for file changes and generates your Monad embedding vector locally.

Step 4: Start the Agent Daemon

In another terminal:

./bin/mymonad-agent

Your agent is now live on the P2P network, discovering compatible peers.

Step 5: Check Status

./bin/mymonad-cli status

Configuration

Configuration files are stored in ~/.config/mymonad/.

ingest.toml

Controls how your data is transformed into embeddings:

[watch]
directories = ["~/Documents", "~/Notes"]
extensions = [".txt", ".md"]
ignore_hidden = true

[ollama]
url = "http://localhost:11434"
model = "nomic-embed-text"
timeout_seconds = 30

[storage]
monad_path = "~/.local/share/mymonad/monad.bin"

agent.toml

Controls network behavior and matching parameters:

[network]
port = 4001
# external_ip = "203.0.113.50"  # Uncomment if behind NAT

[discovery]
dns_seeds = []  # DNSADDR records for bootstrap
bootstrap = []  # Static multiaddrs: ["/ip4/1.2.3.4/tcp/4001/p2p/12D3KooW..."]
mdns_enabled = true

[protocol]
similarity_threshold = 0.85  # Minimum cosine similarity for match (0.0-1.0)
challenge_difficulty = 16    # Hashcash proof-of-work bits

[storage]
identity_path = "~/.local/share/mymonad/identity.key"
peers_cache = "~/.local/share/mymonad/peers.json"

CLI Commands

CommandDescription
mymonad-cli statusCheck agent status and connections
mymonad-cli matchesList successful handshakes
mymonad-cli channelsManage secure communication channels
mymonad-cli keys exportExport your cryptographic keys
mymonad-cli keys importImport keys from backup

Directory Structure

After running, MyMonad creates:

PathDescription
~/.config/mymonad/Configuration files
~/.local/share/mymonad/Data directory
~/.local/share/mymonad/identity.keyEncrypted identity
~/.local/share/mymonad/monad.binYour Monad vector

Next Steps

Your monad is running. Now what?


Troubleshooting

Ollama connection refused?

# Ensure Ollama is running
ollama serve

# Verify model is available
ollama list

Agent won’t start?

No matches appearing?

For more help, open an issue on GitHub.