arcadedb: Instructions file for Claude Code

CLAUDE.md

arcadedb CLAUDE.md is an instructions file for Claude Code from ArcadeData/arcadedb. It costs 2,966 tokens per session, scanned A, original, Apache-2.0.

Development instructions for ArcadeDB, a Java database that stores information in several forms, including graphs, documents, key-value records, search indexes, time series, and vector data. They also specify supported query languages and project response rules.

In plain words
What is it for?
Planning and implementing ArcadeDB changes, writing tests first when possible, running affected checks, and following its coding and communication conventions.
Why use it?
They set expectations for testing, code style, reuse, and responses before changes are made.

Instructions file for Claude Code

Written for Claude Code: the file is CLAUDE.md. Also seen: reads .claude/ paths; mentions CLAUDE.md; mentions Claude Code.

This is ArcadeData/arcadedb's own configuration. It tells Claude Code how to work on arcadedb 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 arcadedb configures →

About the project

ArcadeDB is a database management system that stores and works with several kinds of data, including graph, document, key-value, time-series, geospatial, and vector data. It is used by applications that need one database supporting interfaces such as SQL, Cypher, Gremlin, HTTP/JSON, MongoDB, and Redis. The catalogue add-on operates ArcadeDB.

ArcadeData/arcadedb · 1,130 stars · on GitHub · arcadedb.com

Reuse

Borrowing it

Nothing to install: this file belongs to ArcadeData/arcadedb. 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/ArcadeData/arcadedb/main/CLAUDE.md
Clone the repo
git clone --depth 1 https://github.com/ArcadeData/arcadedb

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 arcadedb CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/arcadedata/arcadedb/claude-md.svg)](https://agentmods.dev/instructions/arcadedata/arcadedb/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/arcadedata/arcadedb/claude-md"><img src="https://agentmods.dev/badge/instructions/arcadedata/arcadedb/claude-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 2,966 This file is loaded in full into every session.
When invoked 2,966 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.02966 $0.02966
Opus 5 $0.01483 $0.01483
Sonnet 5 $0.00593 $0.00593
Haiku 4.5 $0.00297 $0.00297

Measured 7d ago against content hash 51ac3e627817, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

arcadedb 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 7d 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 · 137 lines

How it starts

The opening of the file, as written. The whole thing — 137 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.

Project Overview

ArcadeDB is a Multi-Model DBMS (Database Management System) built for extreme performance. It's a Java-based project that supports multiple data models (Graph, Document, Key/Value, Search Engine, Time Series, Vector Embedding) and query languages (SQL, Cypher, Gremlin, GraphQL, MongoDB Query Language).

Response Formatting

  • Never use the em dash character () in responses. Use a normal dash (-), a comma, or rephrase instead.

Project Instructions

Before writing any code:

  • State how you will verify this change works (e.g., unit tests, integration tests, manual testing)
  • Write the tests first (TDD approach) whenever possible
  • Ensure code adheres to existing coding standards and styles
  • Then implement the code
  • Run verification and iterate until it passes
  • Run all the connected tests could be affected by the change to ensure nothing is broken (no need to run the whole suite, it would take too long)

General design principles:

  • reuse existing components whenever is possible
  • don't use fully qualified names if possible, always import the class and just use the name
  • don't include a new dependency unless is strictly necessary, and they MUST be Apache 2.0 compatible:
    • ✅ ALLOWED: Apache 2.0, MIT, BSD (2/3-Clause), ISC, EPL 1.0/2.0, UPL 1.0, EDL 1.0, LGPL 2.1+ (for libraries only), MPL-2.0 (for libraries only, unmodified), CDDL 1.0/1.1 (for libraries only, unmodified), GPL-2.0 WITH the Classpath Exception specifically (never a bare GPL), CC0/Public Domain
    • ❌ FORBIDDEN: GPL, AGPL, proprietary licenses without explicit permission, SSPL, Commons Clause, BUSL-1.1, Elastic-2.0
    • This is an allow-list: a license in neither row above is not permitted by default. Get explicit maintainer sign-off and add it to the ALLOWED row before depending on it. "For libraries only" / "unmodified" means: depending on the unmodified jar as-is is fine, but do not vendor or patch its source under this project without revisiting the license implications. CI enforces this allow-list on the Maven graph (.github/scripts/check-license-allowlist.py, run from license-compliance.yml) and on the npm graph (license-checker --onlyAllow in studio-security-audit.yml)
    • When adding a dependency, you MUST update ATTRIBUTIONS.md and, if Apache-licensed with a NOTICE file, incorporate required notices into the main NOTICE file
  • for Studio (webapp), limit to jquery and bootstrap 5. If necessary use 3rd party libs, but they must be Apache 2.0 compatible (see allowed licenses above)
  • always bear in mind PERFORMANCE. It must be always your mantra: performance and lightweight on garbage collector. If you can, prefer using arrays of primitives to List of Objects
  • if you need to use JSON, use the class com.arcadedb.serializer.json.JSONObject. Leverage the getter methods that accept the default value as 2nd argument, so you don't need to check if they present or not null = less boilerplate code
  • same thing for JSON arrays: use com.arcadedb.serializer.json.JSONArray class
  • code styles:
  • adhere to the existing code
  • if statements with only one child sub-statement don't require a curly brace open/close, keep it simple
  • use the final keyword when possible on variables and parameters
  • all new server-side code must be tested with a test case. Check existing test case to see the framework and style to use
  • write a regression test
  • after every change in the backend (Java), compile the project and fix all the issues until the compilation passes
  • test all the new and old components you've modified before considering the job finished. Please do not provide something untested
  • always keep in mind speed and security with ArcadeDB, do not introduce security hazard or code that could slow down other parts unless requested/approved
  • do not commit on git, I will do it after a review
  • remove any System.out you used for debug when you have finished
  • For test cases, prefer this syntax: assertThat(property.isMandatory()).isTrue();
  • Annotate performance/benchmark tests so they're skipped from regular CI builds:
    • Use @Tag("benchmark") for pure microbenchmarks (e.g., JMH-style or comparison runs)
    • Use @Tag("slow") for functional regression tests that take noticeably long (large batches, multi-second elapsed time, big payloads)
    • Use @Tag("vector") for an LSM vector-index test that spends most of its time waiting on a background rebuild. LSMVectorIndex.REBUILD_SEMAPHORE holds one permit for the whole JVM, so these tests convoy against each other and the waits have to be sized for the worst case; the tag routes the class to the vector-unit-tests lane where the convoy costs nobody else anything
    • Apply at the class level when every method in the class is slow; at the method level when only some methods are slow
    • The tags are a partition, not a set of overlapping labels: CI selects each lane with -Dgroups/-DexcludedGroups such that every test runs in exactly one lane. Tagging a class vector and one of its methods slow is fine, but do not expect that method in the slow lane
    • Required imports: import org.junit.jupiter.api.Tag;
    • A JUnit tag on a Cucumber @Suite does not work: Surefire's groups/excludedGroups reach the scenarios inside the suite rather than the suite class. Route a suite to a lane with -Dsurefire.includes instead, as .github/workflows/mvn-test.yml does for the openCypher TCK
  • Never assert on raw wall-clock elapsed time. A full-suite run shares one JVM, and a stop-the-world pause of tens of seconds late in a 12,000-test run turns any bound with less headroom than that into a coin flip on the JVM's mood (#6260). Measure with com.arcadedb.utility.StallAwareStopwatch (engine test-jar) instead: it discounts the JVM-wide stall observed inside the measured window, so the bound can stay tight AND stop flaking. Pick the assertion that says what the number is for, because the message is what stops the next person from "fixing" a red run by loosening it:
    • assertGaveUpWithin(bound, whatItSeparates) when the bound is a tripwire between a bounded operation and an unbounded one. Generous is free here: a wider bound cannot turn a passing run red
    • assertStayedUnder(bound, claim) when the bound IS the assertion - a complexity claim with no other practical expression (a regex that must not backtrack exponentially, one deadline shared across rows rather than charged per row). Loosening it deletes the test
    • a short wait expected to TIME OUT needs neither, and neither does a lower bound (isGreaterThan): a stall only makes those more true
    • @Timeout is plain wall clock and cannot be discounted, so size it as a hang detector, not as a latency bound
  • don't add Claude as author of any source code

Read the full file on GitHub · 137 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. 7d ago First seen · 137 lines · 2,966 tokens per session scan A 51ac3e627817

Subscribe to this mod's changes

arcadedb CLAUDE.md is an instructions file published in the GitHub repository ArcadeData/arcadedb (1,130 stars, last pushed yesterday), licensed Apache-2.0. It adds 2,966 tokens to every session, about $0.0148 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

codex AGENTS.md

AGENTS.md instructions for openai/codex, covering rust/codex-rs, the codex-core crate, code review rules, crate api surface and model visible context.

openai/codex · 5,182 tokens

vscode buildNext.instructions.md

Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).

microsoft/vscode · 6,785 tokens

next.js AGENTS.md

AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.

vercel/next.js · 7,296 tokens

langchain AGENTS.md

AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.

langchain-ai/langchain · 4,469 tokens

vscode oss-third-party-notices.instructions.md

Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, applying the notice (cutover) and fallback chain (never fail the build).

microsoft/vscode · 5,001 tokens

spec-kit AGENTS.md

AGENTS.md instructions for github/spec-kit, covering agents.md, about spec kit and specify, quickstart — add a new integration in 5 steps, integration architecture and integrationmanifest — file tracking.

github/spec-kit · 7,104 tokens