this-me 0.3.3

Rust ground for the modern .me semantic kernel.
Documentation
---
layout: readme
title: Rust .me Quick Start
image: https://neurons-me.github.io/docs/assets/img/me.png
---

# Quick Start

Install the crate:

```bash
cargo add this-me
```

Create a kernel and write semantic memory:

```rust
use this_me::kernel::{Kernel, Value};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut me = Kernel::new();

    me.postulate("profile.name", "Jabellae")?;
    me.postulate("wallet.income", 100_u64)?;
    me.postulate("wallet.expenses", 40_u64)?;
    me.derive("", "wallet.total", "wallet.income - wallet.expenses")?;

    assert_eq!(me.read("wallet.total"), Some(&Value::from(60_u64)));
    Ok(())
}
```

Run the local repository gate:

```bash
cargo fmt --check
cargo check
cargo test
cargo test --examples
cargo clippy --all-targets --all-features -- -D warnings
```

The important distinction:

- `Kernel` is the semantic core.
- `KernelRuntime` is the host wrapper for loading, saving, executing, and
  returning events.
- `JsonFileStore` is the current file-backed snapshot store.

For HTTP/WS hosts, start with [Runtime Host](RuntimeHost.html), not raw `Kernel`.

Runnable examples live under `examples/`:

```bash
cargo run --example quickstart
cargo run --example plural_selectors
cargo run --example operators
cargo run --example runtime_persistence
cargo run --example proof
cargo run --example wrapped_audience
```