grape-swagger-rails: Instructions file for Claude Code

CLAUDE.md

grape-swagger-rails CLAUDE.md is an instructions file for Claude Code from ruby-grape/grape-swagger-rails. It costs 1,337 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 for Claude Code

Written for Claude Code: the file is CLAUDE.md. Also seen: mentions CLAUDE.md; mentions Claude Code.

This is ruby-grape/grape-swagger-rails's own configuration. It tells Claude Code how to work on grape-swagger-rails itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything grape-swagger-rails configures →

Reuse

Borrowing it

Nothing to install: this file belongs to ruby-grape/grape-swagger-rails. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/ruby-grape/grape-swagger-rails/master/CLAUDE.md
Clone the repo
git clone --depth 1 https://github.com/ruby-grape/grape-swagger-rails

Made for: Claude Code.

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/github.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/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for grape-swagger-rails CLAUDE.md

Your own site · 80×15
<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="Reviewed on agentmods" width="80" height="20"></a>
Per session 1,337 This file is loaded in full into every session.
When invoked 1,337 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.01337 $0.01337
Opus 5.5 $0.00535 $0.00535
Sonnet 5.5 $0.00267 $0.00267
Haiku 4.5 $0.00134 $0.00134

Measured 1mo ago against content hash 497eb6854f21, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, 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 1mo 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 · 80 lines

How it starts

The opening of the file, as written. The whole thing — 80 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 · 80 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. 1mo ago Changed · -1 lines · -28 tokens per session 497eb6854f21
  2. 2mo 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 (260 stars, last pushed 4d ago), licensed MIT. It adds 1,337 tokens to every session, about $0.0053 per session on Opus 5.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

grape-swagger-rails CLAUDE.md compared with instructions from other repositories

grape-swagger-rails CLAUDE.md next to 6 instructions from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
grape-swagger-rails CLAUDE.mdruby-grape/grape-swagger-railsInstructions file2604d agoMITA1,337Claude Code
vscode buildNext.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA9,719GitHub Copilot
next.js AGENTS.mdvercel/next.jsInstructions file143ktodayMITA7,461Codex, OpenCode
langchain AGENTS.mdlangchain-ai/langchainInstructions file149ktodayMITA4,680Codex, OpenCode
vscode oss-third-party-notices.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA5,516GitHub Copilot
vscode copilot-instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA3,093GitHub Copilot
deepseek-harness AGENTS.mddeepseek-ai/deepseek-harnessInstructions file274k2d agoMITA4,313Codex, OpenCode