sql2json CLAUDE.md

A set of instructions for working on sql2json, a tool that converts SQL data into JSON. It gives agents the project workflow, commands, testing approach, and public-repository safety rules.

In plain words
What is it for?
Use it when changing sql2json, installing its dependencies, running tests or coverage checks, formatting and type-checking Python code, or preparing a branch and pull request.
Why use it?
It prevents agents from skipping project-specific checks or exposing private information in commits and pull requests. It also distinguishes fast in-memory tests from database integration tests that use PostgreSQL and MySQL.

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/fsistemas/sql2json/claude-md
Clone the repo
git clone --depth 1 https://github.com/fsistemas/sql2json
Per session 2,649 This file is loaded in full into every session.
When invoked 2,649 The same file — it is already loaded in full.
Security scan B 1 finding. 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.02649 $0.02649
Opus 5 $0.01324 $0.01324
Sonnet 5 $0.00530 $0.00530
Haiku 4.5 $0.00265 $0.00265

Measured yesterday against content hash 9cf75094776d, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

sql2json CLAUDE.md scanned grade B with 1 finding 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 yesterday.

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.

Asks for rootmediumPrivilege escalation

A mod that escalates privileges can change anything on the machine, not only the project.

8. **Publish the Docker image** to `docker.io/fsistemas/sql2json` from your local machine (not CI). The image installs `sql2json==<version>` from PyPI, so this runs **after** step 7. The maintainer uses Podman; for multi
CLAUDE.md · 162 lines

How it starts

The opening of the file, as written. The whole thing — 162 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) and other coding agents when working with code in this repository.

Read this first

  1. Follow WORKFLOW.md and WORKFLOW.local.md for board usage, branch naming, PR lifecycle, validation gates, and release discipline.
  2. This is a public repository. Keep commits, PR bodies, and checked-in docs public-safe: no secrets, local-only absolute paths, private board details, or agent-generated footers.
  3. Use francisco-boards for maintainer/agent task status. Project key: S2J; base branch: master; branch format: feature/S2J-N.

Commands

# Install dependencies
uv sync

# Run all tests (fast, in-memory SQLite — no Docker)
uv run pytest

# Run a single test
uv run pytest tests/test_parameter.py::test_parse_parameter

# Run the real-database integration suite (PostgreSQL + MySQL via docker compose)
# Provisions services, runs the `integration`-marked tests, then tears down.
./scripts/test-integration.sh

# Lint
uv run flake8

# Format
uv run black .

# Type check
uv run --extra dev mypy

# Tests with coverage (gated at 90% via fail_under in pyproject.toml)
uv run --extra dev pytest --cov

# Run the CLI tool (since 0.2.1; `python -m sql2json ...` is equivalent)
sql2json --name default --query default

# Run the official Docker Hub image (multi-arch linux/amd64 + linux/arm64)
podman run --rm docker.io/fsistemas/sql2json --query "SELECT 1 AS a, 2 AS b"
# Docker equivalent:
docker run --rm docker.io/fsistemas/sql2json --query "SELECT 1 AS a, 2 AS b"
# Docker Hub: https://hub.docker.com/r/fsistemas/sql2json

# Build the Docker image (installs sql2json from PyPI; pass VERSION to pin a
# release, omit it for the latest). `podman build ...` works identically.
docker build -t sql2json .                      # latest PyPI release
docker build --build-arg VERSION=0.3.0 -t sql2json .
# The official image is published at docker.io/fsistemas/sql2json (see RELEASING.md).

Architecture

sql2json is a CLI tool that runs SQL queries via SQLAlchemy and outputs JSON, CSV, or Excel. Since 0.2.1 it is invoked as the sql2json console command (declared in [project.scripts], target sql2json.__main__:main); the equivalent python -m sql2json form still works. Both dispatch through fire.

Read the full file on GitHub · 162 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. yesterday First seen · 162 lines · 2,649 tokens per session scan B 9cf75094776d

Subscribe to this mod's changes

sql2json CLAUDE.md is an instructions file published in the GitHub repository fsistemas/sql2json (55 stars, last pushed 2mo ago), licensed MIT. It adds 2,649 tokens to every session, about $0.0132 per session on Opus 5. A static security scan graded it B with 1 finding (asks for root). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.