webofbits
I’ve released the first beta of Draught, a coding-agent CLI and runtime built with Elixir.
Draught can run agentic coding tasks using Ollama or an OpenAI-compatible provider. It supports interactive sessions and headless commands, with the initial focus on making local models practical for day-to-day development.
The current beta includes:
- Interactive and headless task execution
- Ollama model discovery and selection
- OpenAI-compatible provider support
- Persistent sessions with resume, rename, archive, and restore
- Built-in file, search, and command tools
- Per-operation approval prompts
- Structured operation previews and file diffs
- Workspace confinement
- Optional web search and page fetching, disabled by default
- AGENTS.md project instructions
- Streaming terminal output and JSONL output
- Native macOS and Linux binaries for ARM64 and x86-64 using Burrito
The runtime uses OTP supervision to separate session state from provider requests and tool execution. Model calls and tools run through bounded tasks with explicit timeout and cancellation behavior, so a failed operation does not need to terminate the complete session.
Documentation and installation instructions are included in the repository. The beta binaries are available from the v0.1.0-beta.1 release.
Trending in Announcing
Flop is an Elixir library that applies filtering, ordering and pagination parameters to your Ecto queries.
offset-based pagination with...
New
I needed to reuse React components from my Chrome extension in my Phoenix/LiveView backend. I noticed that for Svelte/Vue, there are live...
New
I released Doggo, a collection of unstyled Phoenix components.
https://github.com/woylie/doggo
Features
Unstyled Phoenix components....
New
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
Hi there! We created Gust: A task orchestrator inspired by Airflow.
For those who have never heard about Aiflow, it’s a Python-based wor...
New
Hello
Published a new library - ProcessHub!
ProcessHub is a library designed to manage process distribution within the Elixir cluster. ...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Other Trending Topics
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Hi everyone!
The first release candidate for the Expert language server project is now available!
We’ve published a press release detai...
New
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself.
My main conc...
New
It’s not that it’s vocabulary is too advanced. It’s something worse.
I get lost trying to follow even a paragraph written by Claude. It’...
New
This showed up on my feed.. anyone heard of it? Just hype?
Ox Alpha is a reasoning model designed for coding, sustained ag...
New
Hey folks,
I just published a post about Hologram’s funding and where the project goes next - the short version:
Curiosum as Main Spons...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixirconf-us
- #ai
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #hex
- #security











Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
webofbits
Added a simple reusable SKILL system: draught/docs/skills.md at main · ccarvalho-eng/draught · GitHub
shahryarjb
I’ve been going through some of your content and source code, and I have a basic question.
For example, the source code and the harness you’ve provided are intended to run AI models on a server, right? If so, why not use OpenCode’s own harness directly on the server?
I’m trying to understand whether building these environments again with Elixir has a specific reason beyond learning and experimentation.
Also, I always find myself trying to compare these things with Jido in my head, but I can’t quite figure out how they map to each other.
Sorry if this is a basic question, and thanks!
mudasobwa
There is a relatively long Motivation chapter directly in README.
I can only speak for myself, as a builder of another harness, I find harnesses provided by model providers to be a second-class citizens. Building a harness that would decrease token usage and drastically increase the quality of the outcome does contradict goals of the model providers.
E. g. my harness uses AST for RAG, 100+ MCP tools and whatnot to minimize the necessity of back-and-forth frictions calling the remote. This one aims to do the same, AFAICT.
shahryarjb
Thank you, have you created automated loop with your harness? as i remember you are working with DeepSeek? something i want to see your experience
mudasobwa
I am not interested in automated loops in the first place. I am positive that without human in the loop an LLM tech cannot produce anything reliable.
I am not “working with DeepSeek” either, I work with a harness, I don’t really give a shot what model is behind (while it’s not OpenAI/Anthropic/Google.) The worse the model, the better harness is.
webofbits
I meant this to run models offline/local so I can share my obsidian notes, and other personal stuff.
I tried OpenCode. Don’t love their UI, looks like a desktop app inside your terminal. I wanted something simpler and more terminal-like.
Probably the reason that survives is to design this following OTP principles since people can use OpenCode, QwenCode, etc
Also, people have their own Neovim configs/setup (why not my own custom AI harness?)… it’s a bit more complex to build a harness but you can always fork my repo and build your own custom version.
About Jido: there’s substantial overlap. Jido would provide established abstractions for supervised agents, pure transitions, effects, events, persistence, plugins, and orchestration. Draught has built narrower equivalents specifically for a coding harness.
This project can certainly be just an experiment, for now, depending on engagement and my spare time and energy to keep evolving it.
Jido already has a harness CLI GitHub - agentjido/jido_code: Terminal-native AI coding assistant built on the Jido agent framework · GitHub , if you’re interested.
No worries. Thanks for checking it out!
webofbits
I think, loops are dangerous
Even with Opus/Fable/Astra etc it doesn’t do what we ask but I am planning something simple enough like cron jobs for recurring no-brainer tasks.
webofbits
Also, privacy matters now more than ever. “I have nothing to hide” is not a good reason to surrender all your data to private companies. You are doing nothing wrong only for as long as those in power agree on what “wrong” means.
There have been legitimate cases where people were arrested for credible threats they made to AI systems, and rightly so. Even users outside the US have been reported to local authorities after the FBI was alerted. But the deeper concern remains: what happens if the rules change and something considered acceptable today becomes grounds for punishment tomorrow?
Sounds like a conspiracy theory but it’s sadly true
webofbits
Forgot to also mention GitHub - agentjido/jido_harness: Normalized Elixir protocol for CLI AI coding agents · GitHub
webofbits
Added “some” builtin skills draught/priv/builtin_skills/catalog at main · ccarvalho-eng/draught · GitHub so this is not so agnostic anymore. Probably an opinionated Elixir harness now