grape-swagger-rails CLAUDE.md

grape-swagger-rails CLAUDE.md is an instructions file for coding agents from ruby-grape/grape-swagger-rails. It costs 1,365 tokens per session, scanned A, original, MIT.

Repository instructions for grape-swagger-rails, a Ruby on Rails add-on that displays interactive Swagger UI documentation for Grape APIs. They describe the project’s commands, structure, frontend build, and tests.

In plain words
What is it for?
Use them when developing this Rails engine, rebuilding its frontend or Swagger UI files, running checks, or updating its tests.
Why use it?
They give a coding agent the project-specific knowledge needed to build, test, lint, and update the gem correctly.

Instructions file

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/ruby-grape/grape-swagger-rails/claude-md
Clone the repo
git clone --depth 1 https://github.com/ruby-grape/grape-swagger-rails

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for grape-swagger-rails CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/ruby-grape/grape-swagger-rails/claude-md.svg)](https://agentmods.dev/instructions/ruby-grape/grape-swagger-rails/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/ruby-grape/grape-swagger-rails/claude-md"><img src="https://agentmods.dev/badge/instructions/ruby-grape/grape-swagger-rails/claude-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 1,365 This file is loaded in full into every session.
When invoked 1,365 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.01365 $0.01365
Opus 5 $0.00682 $0.00682
Sonnet 5 $0.00273 $0.00273
Haiku 4.5 $0.00136 $0.00136

Measured 4d ago against content hash c455685f3f69, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

grape-swagger-rails CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

CLAUDE.md · 81 lines

How it starts

The opening of the file, as written. The whole thing — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

What This Gem Does

grape-swagger-rails is a Rails Engine gem that mounts a Swagger UI interface for APIs documented with the grape-swagger gem. It provides a single mountable engine that renders Swagger UI v5 with configurable authentication, theming, and authorization hooks.

Commands

bundle exec rake            # Run full suite: RuboCop + RSpec (default)
bundle exec rake spec       # Run all RSpec tests only
bundle exec rake rubocop    # Run RuboCop linting only
bundle exec rspec spec/features/swagger_spec.rb  # Run a single spec file

yarn build:frontend         # tsc → index.js, then esbuild → index.min.js (+ .map)
yarn build:frontend:js      # Just tsc (readable bundle)
yarn build:frontend:min     # Just esbuild (minified bundle, consumes index.js)
yarn typecheck              # Type-check TypeScript without emitting

bundle exec rake swagger_ui:dist:update          # Update bundled Swagger UI assets
SWAGGER_UI_VERSION=v5.32.5 bundle exec rake swagger_ui:dist:update  # Pin to a version

Tests use Capybara + Selenium with Firefox. Firefox and geckodriver must be installed locally. On macOS, xvfb is not needed (unlike CI). Tests launch a real browser to validate UI behavior.

After editing TypeScript, run yarn build:frontend before running specs — the specs exercise app/assets/javascripts/grape_swagger_rails/index.js, which is the compiled output. Never edit the compiled JS directly. The build also emits index.min.js (+ sourcemap); the view picks the minified bundle in production (Rails.env.production?) via grape_swagger_rails_runtime_asset and the readable one everywhere else.

Architecture

The gem has minimal moving parts:

  • lib/grape-swagger-rails.rb — Defines GrapeSwaggerRails.options as an OpenStruct. All configuration lives here (URL, auth type, headers, theme, before_action proc, etc.).
  • lib/grape-swagger-rails/engine.rb — Rails Engine. Configures asset precompilation for both Sprockets and Propshaft pipelines.
  • app/controllers/grape_swagger_rails/application_controller.rb — Single index action. Runs options.before_action_proc in controller context for authorization.
  • app/views/grape_swagger_rails/application/index.html.haml — The entire UI. Serializes GrapeSwaggerRails.options as JSON into data-swagger-options, then JavaScript parses it to initialize SwaggerUIBundle. Handles theme toggling and auth injection via Swagger UI's requestInterceptor.
  • frontend/grape_swagger_rails/index.ts — TypeScript source for the browser runtime. tsc compiles it to app/assets/javascripts/grape_swagger_rails/index.js (readable, ES5); esbuild then minifies that into index.min.js (+ .map). Both files are checked in so they ship with the gem. The TypeScript interface SwaggerPageOptions is the authoritative schema for options consumed by JS.
  • config/routes.rb — Single root route → ApplicationController#index.
  • lib/tasks/swagger_ui.rake — Rake task that clones swagger-api/swagger-ui and copies dist files into app/assets/.

Read the full file on GitHub · 81 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 81 lines · 1,365 tokens per session scan A c455685f3f69

Subscribe to this mod's changes

grape-swagger-rails CLAUDE.md is an instructions file published in the GitHub repository ruby-grape/grape-swagger-rails (261 stars, last pushed 15d ago), licensed MIT. It adds 1,365 tokens to every session, about $0.0068 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other instructions, from other repositories