Removed the default gem:geordi mise tool entry from the sample config.toml Deleted the note explaining that gem:geordi would...
This card describes a thorough CI setup for checking localization completeness. It supports multiple tiers (examples show 2 tiers) of...
Attention Unlike RuboCop, not every code smell warrants action. I recommend using Reek primarily as a tool to help gauge...
Worktrunk is a CLI tool that manages git worktrees for you. This can be useful when you want to work...
Rails 8.1 ships the new ActiveSupport::ContinuousIntegration class. It allows you to list multiple steps. It will run all of...
Every example group becomes a real Ruby class, and RSpec assigns it a constant under RSpec::ExampleGroups. A describe Project...
The gem bundle_update_interactive is a CLI tool for inspecting and interactively updating your gems. Installation Install it (globally...
Added guidance for when random values are unavoidable, recommending FactoryBot sequences and rewinding them before each example
Claude can connect to MCP servers to access additional information, like Linear issues or Figma designs. Such MCP servers usually...
Calling create or build on relations When you call create (or build) on a relation, the newly created record inherits...
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...
Claude Code has different modes, like "plan mode" or "accept edits". A recent addition is the "auto mode" which we...
By default, Claude Code runs commands through its Bash tool as your user. While this works, you will likely encounter...
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...
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...