<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: member_e34997ea</title>
    <description>The latest articles on DEV Community by member_e34997ea (@member_e34997ea).</description>
    <link>https://dev.to/member_e34997ea</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3823759%2F871d4fcc-2f52-45b7-8797-4eb14afcb6fe.png</url>
      <title>DEV Community: member_e34997ea</title>
      <link>https://dev.to/member_e34997ea</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/member_e34997ea"/>
    <language>en</language>
    <item>
      <title>Getting Started with Ryvos in 5 Minutes</title>
      <dc:creator>member_e34997ea</dc:creator>
      <pubDate>Sat, 14 Mar 2026 10:04:33 +0000</pubDate>
      <link>https://dev.to/member_e34997ea/getting-started-with-ryvos-in-5-minutes-2e6i</link>
      <guid>https://dev.to/member_e34997ea/getting-started-with-ryvos-in-5-minutes-2e6i</guid>
      <description>&lt;h1&gt;
  
  
  Getting Started with Ryvos in 5 Minutes
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;Ryvos is an open-source AI coding assistant and agent runtime built in Rust. One binary, 15–30 MB RAM, 14 LLM providers — runs on your own hardware.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You can have a fully functional AI coding assistant running locally in the time it takes to make coffee. Here's exactly how.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Linux or macOS (Windows support coming — see &lt;a href="https://github.com/Ryvos/ryvos#roadmap" rel="noopener noreferrer"&gt;roadmap&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;An LLM API key — OR a local &lt;a href="https://ollama.ai" rel="noopener noreferrer"&gt;Ollama&lt;/a&gt; instance (free, no account needed)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;curl&lt;/code&gt; and &lt;code&gt;sh&lt;/code&gt; (pre-installed on every *nix system)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Step 1 — Install (30 seconds)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/Ryvos/ryvos/main/install.sh | sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. The installer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Downloads the correct binary for your OS and architecture&lt;/li&gt;
&lt;li&gt;Places it in &lt;code&gt;~/.local/bin/ryvos&lt;/code&gt; (added to your PATH automatically)&lt;/li&gt;
&lt;li&gt;Creates &lt;code&gt;~/.ryvos/&lt;/code&gt; for config and data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Verify it worked:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ryvos &lt;span class="nt"&gt;--version&lt;/span&gt;
&lt;span class="c"&gt;# ryvos 0.5.0&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;No Rust required.&lt;/strong&gt; The install script downloads a pre-built binary. You don't need a Rust toolchain unless you want to build from source.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Step 2 — Connect an LLM Provider (2 minutes)
&lt;/h2&gt;

&lt;p&gt;Run the interactive setup wizard:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ryvos init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You'll be asked to choose a provider and paste an API key. Ryvos supports 14 providers — here are the most common starting points:&lt;/p&gt;

&lt;h3&gt;
  
  
  Option A: Anthropic Claude (recommended for best results)
&lt;/h3&gt;

&lt;p&gt;When prompted:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provider: &lt;code&gt;anthropic&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Model: &lt;code&gt;claude-sonnet-4-20250514&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;API key: your key from &lt;a href="https://console.anthropic.com" rel="noopener noreferrer"&gt;console.anthropic.com&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Option B: OpenAI
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Provider: &lt;code&gt;openai&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Model: &lt;code&gt;gpt-4o&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;API key: your key from platform.openai.com&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Option C: Ollama (free, fully local, no account)
&lt;/h3&gt;

&lt;p&gt;First &lt;a href="https://ollama.ai" rel="noopener noreferrer"&gt;install Ollama&lt;/a&gt; and pull a model:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ollama pull qwen2.5:7b
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then run Ryvos with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ryvos init &lt;span class="nt"&gt;-y&lt;/span&gt; &lt;span class="nt"&gt;--provider&lt;/span&gt; ollama &lt;span class="nt"&gt;--model-id&lt;/span&gt; qwen2.5:7b
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No API key needed. Everything runs on your machine.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 3 — Your First Conversation (1 minute)
&lt;/h2&gt;

&lt;p&gt;Start an interactive session:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ryvos
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You'll see a prompt. Try something practical:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; Summarize the last 5 git commits &lt;span class="k"&gt;in &lt;/span&gt;this directory
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ryvos will:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Determine it needs to run &lt;code&gt;git log&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Ask for your approval (T3 — shell command) or run automatically depending on your security policy&lt;/li&gt;
&lt;li&gt;Execute the command, read the output, and give you a plain-English summary&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Try a few more:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt; What files did I change today?
&amp;gt; Explain what this function does
&amp;gt; Write a unit test for the auth module
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 4 — Run a Quick One-Off Task
&lt;/h2&gt;

&lt;p&gt;Don't want interactive mode? Use &lt;code&gt;ryvos run&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ryvos run &lt;span class="s2"&gt;"List all TODO comments in the current directory and group them by file"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This runs the agent, completes the task, and exits. Good for scripts and aliases.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 5 — Check System Health
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ryvos doctor
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This runs diagnostics on your setup: API connectivity, workspace access, database, security policy, MCP servers if configured. Fix any warnings before going further.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Just Happened?
&lt;/h2&gt;

&lt;p&gt;When you ran that first task, Ryvos:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Parsed your request&lt;/strong&gt; into a goal with success criteria&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Planned which tools to use&lt;/strong&gt; — in this case, &lt;code&gt;git_log&lt;/code&gt; from the 62 built-in tools&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Checked the security tier&lt;/strong&gt; — &lt;code&gt;git log&lt;/code&gt; is T1 (low risk), auto-approved&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Executed the tool&lt;/strong&gt; and streamed the output&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Evaluated the result&lt;/strong&gt; against the goal using its built-in Judge&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Returned the answer&lt;/strong&gt; — and stopped. No infinite loops.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is goal-driven execution. The agent runs until the task is done, not until it hits a turn limit.&lt;/p&gt;




&lt;h2&gt;
  
  
  Security: What Can and Can't It Do?
&lt;/h2&gt;

&lt;p&gt;By default, Ryvos uses a conservative security policy:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool tier&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;th&gt;Default behavior&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;T0 — Safe&lt;/td&gt;
&lt;td&gt;Read a file&lt;/td&gt;
&lt;td&gt;Runs automatically&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;T1 — Low&lt;/td&gt;
&lt;td&gt;Web search, git log&lt;/td&gt;
&lt;td&gt;Runs automatically&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;T2 — Medium&lt;/td&gt;
&lt;td&gt;Write a file&lt;/td&gt;
&lt;td&gt;Asks for approval&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;T3 — High&lt;/td&gt;
&lt;td&gt;Run a shell command&lt;/td&gt;
&lt;td&gt;Asks for approval&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;T4 — Critical&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;rm -rf&lt;/code&gt;, &lt;code&gt;DROP TABLE&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Blocked outright&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;You can adjust this in &lt;code&gt;~/.ryvos/config.toml&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight toml"&gt;&lt;code&gt;&lt;span class="nn"&gt;[security]&lt;/span&gt;
&lt;span class="py"&gt;auto_approve_up_to&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"t2"&lt;/span&gt;    &lt;span class="c"&gt;# auto-approve file writes too&lt;/span&gt;
&lt;span class="py"&gt;deny_above&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"t4"&lt;/span&gt;            &lt;span class="c"&gt;# block destructive commands&lt;/span&gt;
&lt;span class="py"&gt;approval_timeout_secs&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Next Steps
&lt;/h2&gt;

&lt;p&gt;You've got a working AI coding assistant. Here's where to go from here:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Personalize it:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ryvos soul
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A 5-question interview that shapes the agent's personality, tone, and how proactively it asks for clarification.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use the terminal UI:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ryvos tui
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A full ratatui-based TUI with streaming output — cleaner than the REPL for longer sessions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Run the web UI:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ryvos serve
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Opens a browser-accessible interface at &lt;code&gt;http://localhost:18789&lt;/code&gt;. Useful when you want to share access or use it from another machine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Connect to Telegram / Discord / Slack:&lt;/strong&gt;&lt;br&gt;
Add channel config to &lt;code&gt;~/.ryvos/config.toml&lt;/code&gt; and run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ryvos daemon &lt;span class="nt"&gt;--gateway&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your assistant is now always on — message it from your phone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Add MCP servers:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ryvos mcp add filesystem
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://modelcontextprotocol.io" rel="noopener noreferrer"&gt;Model Context Protocol&lt;/a&gt; lets you connect Ryvos to external tools and data sources — filesystem, databases, APIs, browser automation.&lt;/p&gt;




&lt;h2&gt;
  
  
  Troubleshooting
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;ryvos: command not found&lt;/code&gt;&lt;/strong&gt;&lt;br&gt;
The installer adds &lt;code&gt;~/.local/bin&lt;/code&gt; to your PATH, but your current shell session may not have refreshed. Run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;source&lt;/span&gt; ~/.bashrc   &lt;span class="c"&gt;# or ~/.zshrc&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;API key errors&lt;/strong&gt;&lt;br&gt;
Run &lt;code&gt;ryvos doctor&lt;/code&gt; — it will test connectivity to your configured provider and show the exact error.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Permission denied on tool use&lt;/strong&gt;&lt;br&gt;
Check your security policy with &lt;code&gt;ryvos config&lt;/code&gt;. Your &lt;code&gt;auto_approve_up_to&lt;/code&gt; tier may be too restrictive for the task you're running.&lt;/p&gt;




&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/Ryvos/ryvos" rel="noopener noreferrer"&gt;GitHub — Ryvos/ryvos&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ryvos.dev/docs" rel="noopener noreferrer"&gt;Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ryvos.dev/docs/configuration" rel="noopener noreferrer"&gt;Full configuration reference&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ryvos.dev/docs/security" rel="noopener noreferrer"&gt;Security model deep-dive&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Ryvos is open source (MIT). If this tutorial helped, a GitHub star is appreciated — it helps other developers find the project.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>rust</category>
      <category>ai</category>
      <category>tutorial</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
