Improving AI Tooling with Ash Documentation

Oh, no worries. It’s early days and as always in the early days everything is broken and weird :slight_smile:

1 Like

Check out tidewave. Maybe it has everything you need!

The docs search is still a remote search rather than local only though and I’m not sure how good it is yet in terms of search but the product itself is way more feature complete.

1 Like

Saw it in Ash newsletter. Will definitely check it out :slight_smile:

For those interested, Tidewave works:

  • follow the installation instructions
  • if you’re running in wsl, install mcp_proxy (see docs, the python one worked for me) on windows, not in wsl
  • add MCP server to your editor (e.g. Cursor)
     "tidewave-phoenix": {
        "command": "mcp-proxy",
        "args": [
          "http://localhost:4000/tidewave/mcp"
        ]
      }
    

Enjoy.

Here’s a simple rules file I now have in my Cursor that is always loaded:

# Ash Resources and Documentation

- Always use the eval tool to list or introspect Ash resources.
- When documentation about the Ash framework or its features is requested, use package_docs_search to retrieve relevant HexDocs.

And it works:

11 Likes

I’m using Claude with Cline.

It seems to always write MyResource.read() instead of Resource |> Ash.read(). :laughing:

Anyone see any weird quirks and got rules to solve them?

Are you using usage_rules v0.1.3 — Documentation ? See our guide for more: Working with LLMs — ash v3.5.14

EDIT: note that Claude 4 massively outperforms Claude 3.7 for Ash related stuff even on zero context one-shots.

1 Like

Thanks! Actually, after I posted, I saw your blog post. :laughing:

I’ll tweak my environment and see if I can get better results with your tips. AI’s a great tool for developers and just something we’re all gonna have to learn to use to be better programmers.

1 Like