AndyL

AndyL

Project Docs for LLM Coding Tools

Elixir has rapidly changing hex packages, both public and private. For people who use AI Coding Tools (Aider, Cursor, Windsurf, etc.), how are you ingesting Project Docs into your LLM Context?

For example: I’d like my Aider session to answer questions and generate code for the latest release of Ash. I haven’t settled on a good approach.

There are emerging tools and standards: LLMS.txt, Model Context Protocol (mcp directory), hex2txt, Claude Projects, Windsurf rules, and more. There is an open PR for ExDoc to auto-generate markdown that can be loaded into a LLM context.

Over the long term maybe MCP will be the widely adopted standard. But for now, the optimum workflow is evolving with heavy doses of trial and error. Various Editors and LLM providers offer different features, and IMO the optimal solution for Elixir is going to be different from languages like JS or Python.

Given the current state of the world, how are you ingesting Elixir Project Docs for LLM-aided development? Any tips/tricks/observations appreciated!

Most Liked

TimButterfield

TimButterfield

With ChatGPT, you can create a project and, using the online UI, upload files to that project. This can be useful when you want to have a common set of documentation to use with the individual chats under that project. For the individual chats, you can also attach files for it to refer to on a more temporary basis.

With Claude Code, you have have it reference documentation within your project. In that case, just create a folder to contain the set of docs you want it to use.

I have used both of these approaches. For both, give specific instructions to the AI to refer to those sets of documentation for whatever task you ask it to perform.

Where Next?

Popular in AI / LLMs Top

DaAnalyst
Seriously, what do you do while Claude (or whatever you use) is doing its thing?
New
water
interesting thread Please wake me up when I can run it locally. I prefer privacy over convenience. This thread/fork split from: AI is...
New
Cheezy
I am using Claude Remote Control for the first time this morning. AMAZING! I’m running one remote session on my iPad while running anothe...
New
DaAnalyst
Claude is really good. It has definitely become an indispensable part of my toolkit. Maybe even the most indispensable after the OS itsel...
New
NickGnd
Hey :waving_hand: Tidewave has just been announced by José Valim :fire: Watch Tidewave transform Claude Desktop into an agent by runni...
New
FlyingNoodle
Hi all I have been doing some pretty intensive research over the last few days around agents/vibe coding. I tried some commercial offeri...
New
SyntaxSorcerer
I found Elixir after a friend recommended looking into it for developing a multi-agent orchestration and task management system. Soon aft...
New
nickurban
Cursor Cloud Agents are quite good at writing Elixir now, but only with a custom configuration. It took me a while to get this working p...
New
DaAnalyst
The new langauge/framework/library.. developers better start writing very exhaustive docs, ..and intent proving tests/examples, ..and int...
New
dewetblomerus
Setting up Cursor Background Agents to work with Elixir was a pain, which led me to publish a Docker image just for this and write a blog...
New

Other popular topics Top

sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
985 42842 311
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 30840 112
New
chrismccord
As promised, the first release candidate of Phoenix 1.3.0 is out! This release focuses on code generators with improved project structure...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New

We're in Beta

About us Mission Statement