Linear.app offers an MCP that Claude Code can connect to, to access issue tickets. Default permissions allow reading and writing...

Calling create or build on relations When you call create (or build) on a relation, the newly created record inherits...

makandra dev
github.com

For years we copied the patiently helpers into our test suites. they now live in their own gem (makandra/patiently) where...

Imagine you have a concern, whose class method declares authorization rules. It installs a before_action that routes each request...

Rails 8 provides a new way of doing things after the current transaction, without defining a model "global" after_commit...

TL;DR: Pannellum is a small (~56 kB, own WebGL renderer, no three.js) equirectangular panorama viewer. The npm package has...

Dealing with exceptions in a Rails application is (surprisingly) complex. There are multiple configurations and methods that influence how exceptions...

makandra dev

Claude Code has different modes, like "plan mode" or "accept edits". A recent addition is the "auto mode" which we...

makandra dev

By default, Claude Code runs commands through its Bash tool as your user. While this works, you will likely encounter...

makandra dev

Compromised npm packages have become a weekly occurrence. This is being accelerated by AI tools that find and exploit vulnerabilities...

Concurrent counter increments are a race-condition trap. The Rails idiom (load the record, increment in Ruby, save) breaks under...

In tests you can write users(:alice) to look up a fixture record. The same helper is not available in...

When deletion of a parent record should be blocked by one or more conditions on the same child table, declare...

Version 1.18.0 of irb introduced a welcome banner. Here is how to disable it, or how to add it to...

makandra dev

Getting parseable output back from an LLM has two halves: shaping the request, then parsing the response. Even with Ollama...

RAG is often equated with vector databases, embeddings, and semantic search. But RAG ("Retrieval-Augmented Generation") really is just 'put...

Getting started with Claude Code is super simple. Once you've made yourself familiar with it, you may want to...

A page scanned upside down or sideways has the potential to confuse OCR engines and vision LLMs. While both are...

When an LLM is part of a request, you want to keep track of how much of the runtime was...

makandra dev

When an LLM model has vision capabilities, you can attach Base64-encoded images to chat messages, and it will load...

When testing Ollama vision requests with VCR, the recorded cassettes will contain the full base64-encoded image payloads. A single...

I recently ran into this issue when processing a massive backlog of documents. The server completely stalled, sometimes taking up...

I find it annoying to iterate on a spec that relies on a recorded VCR casette. You constantly have to...

You can report CSP violations to a log file. Note that there will be a lots of noise, that is...