{"slug": "now-is-awesome-moment-to-start-with-rust-in-ai", "title": "Now Is Awesome Moment to Start With Rust in AI", "summary": "A developer post argues that starting Rust development for AI agents now requires only an IDE, a coding agent such as Claude Code, Codex or Cursor, and a single prompt, citing DHH's Rails World 2026 keynote where he said 37signals treats hand-written code as an exceptional state and HEY got a new Rust mail backend. The post recommends the Everruns Framework, added via `cargo add everruns --features openai` plus `tokio`, which provides model providers, typed tools, multi-turn sessions, live events, cancellation, MCP and durable local state inside the Rust process with no server, and notes the experimental Everruns Serve crate inspired by the Tokio team's Topcoat.", "body_md": "This week I watched [DHH’s Rails World 2026 keynote](https://www.youtube.com/watch?v=vDjW_dRyKXY). Big part of it is “pencils down”: at 37signals writing code by hand is now an exceptional state. And, among other things, HEY got a new mail backend in Rust. His take on Rust is my favorite line of the whole talk:\n\nI love Rust! Rust is amazing …if you never, ever, EVER have to look at it yourself.\n\nHe also said he does not know any Rust at all and considers that a feature. Lol. I will not repeat why Rust fits agents so well, I already wrote about it in [Rust Is Winning the AI Code Generation Race](https://chaliy.name/blog/rust-rising-in-ai-codegen/). This post is about the practical part: how to start, today.\n\n## You Just Need an IDE and an Agent\n\nYou need an IDE, a coding agent (Claude Code, Codex, Cursor, whatever you use), and a sentence like this:\n\n```\nInstall the Rust toolchain if it is missing, create a new binary crate,\nadd everruns with the openai feature and tokio, and make a small agent\nwith one tool that tells the current time. Run it and show me the answer.\n```\n\nThat is it. Agent installs `rustup`, runs `cargo new`, adds dependencies, writes code, fights the compiler, and shows you the result. You read the behavior, not the lifetimes.\n\nYou will still learn Rust along the way, just in a different order. First you see what the program does, then you ask “why is there `Arc` here?” and agent explains. Honestly this is better way to learn anything.\n\n## Now, How to Start Building AI Agents\n\nBest way to start building agents in Rust is [Everruns Framework](https://github.com/everruns/everruns/tree/main/crates/everruns). And I say this completely objectively, it has nothing to do with the fact that I am building it :D. Okay, I am biased. Very biased. But hear me out.\n\nIt gives you agents with model providers, typed tools, multi-turn sessions, live events, cancellation, MCP, and durable local state. It runs inside your Rust process, no server required.\n\n```\ncargo add everruns --features openai\ncargo add tokio --features macros,rt-multi-thread\nexport OPENAI_API_KEY=sk-...\n```\n\nAnd the whole agent:\n\n```\nuse std::time::{SystemTime, UNIX_EPOCH};\n\nuse everruns::{Agent, Engine, OpenAI};\n\n/// Return the current Unix time in seconds.\n#[everruns::tool]\nasync fn current_time() -> Result<u64, String> {\n    SystemTime::now()\n        .duration_since(UNIX_EPOCH)\n        .map(|duration| duration.as_secs())\n        .map_err(|error| error.to_string())\n}\n\n#[tokio::main]\nasync fn main() -> Result<(), Box<dyn std::error::Error>> {\n    let agent = Agent::builder()\n        .name(\"assistant\")\n        .instructions(\"Use current_time when asked about time. Be concise.\")\n        .provider(OpenAI::from_env()?)\n        .model(\"gpt-5.6-terra\")\n        .tool(current_time())\n        .build()?;\n\n    let session = Engine::new().create(agent);\n    let turn = session.send_and_wait(\"What time is it?\").await?;\n\n    println!(\"{}\", turn.response);\n    Ok(())\n}\n```\n\n`#[everruns::tool]` makes JSON schema for the tool from the Rust function, so the doc comment and argument types are what model sees. No hand-written schema that drifts from the code.\n\nThe model is super small: `Agent` describes behavior, `Engine` owns runtime and sessions, `Session` is one conversation, `Turn` is one run. Anthropic, Bedrock and others are separate driver crates, each with a `from_env` entry point that reads the vendor’s usual env variables. Full docs are at [docs.everruns.com](https://docs.everruns.com/).\n\nAlso check [Everruns Serve](https://github.com/everruns/everruns/tree/main/crates/serve). It is experimental, inspired by [Topcoat](https://github.com/tokio-rs/topcoat) from the Tokio team, which brings Rust to regular web development. Serve does the same for agents: `#[agent]`, `#[tool]`, `#[schedule]`, `#[eval]` on plain functions, the file layout says what each piece is, and you get one binary that serves the sessions API. Clone the repo and run `cargo run -p serve-example-hello`, it works offline without any keys. Early proof of concept, APIs will change, so do not judge :).\n\n## So, Where to Start\n\nMost important notes are:\n\n1. You need an IDE and an agent. Ask it to set things up.\n2. Start with [Everruns Framework](https://github.com/everruns/everruns/tree/main/crates/everruns) for agents inside your own app.\n3. Play with [Everruns Serve](https://github.com/everruns/everruns/tree/main/crates/serve) if you want agent as an app, Topcoat style. And tell me what breaks.\n\nIf you have any questions or suggestions, please welcome!\n\nFor comments or feedback, write at[x.com/chaliy](https://x.com/chaliy).", "url": "https://wpnews.pro/news/now-is-awesome-moment-to-start-with-rust-in-ai", "canonical_source": "https://chaliy.name/blog/good-moment-to-start-rust-in-ai/", "published_at": "2026-09-25 00:00:00+00:00", "updated_at": "2026-09-25 20:59:23.796690+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "ai-tools", "artificial-intelligence"], "entities": ["Rust", "DHH", "Rails World 2026", "37signals", "HEY", "Everruns Framework", "Everruns Serve", "Topcoat"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/now-is-awesome-moment-to-start-with-rust-in-ai", "markdown": "https://wpnews.pro/news/now-is-awesome-moment-to-start-with-rust-in-ai.md", "text": "https://wpnews.pro/news/now-is-awesome-moment-to-start-with-rust-in-ai.txt", "jsonld": "https://wpnews.pro/news/now-is-awesome-moment-to-start-with-rust-in-ai.jsonld"}}