Communityコーディング&開発github.com

XERJ.code — 参照コーディング

XERJを使用した参照コーディング。既に問題を解決しているライブラリをクローンし、ローカルにインデックスを作成し、コードを書く前に正確な実装を取得 — エージェントがリトライループでアルゴリズムを再導出する代わりに節を読むことができる。馴染みのないAPIでタスクを開始するとき、アルゴリズムを移植するとき、または同じエラーで2回ループした後に使用する。

XERJ.code — 参照コーディング とは?

XERJ.codeは、AIエージェント(Claude Code、Cursor、Codexなど)向けの参照コーディングスキルです。エージェントが未知のAPIに直面したときに起こる、推測・実行・失敗のリトライループを、事前にインデックス化されたコードベースからの効率的な取得に置き換えます。このスキルは、出力トークン(高コスト)の消費を減らし、入力トークン(低コストでキャッシュ可能)の使用にシフトすることで、コスト効率を向上させます。`xerj corpus add`、`xerj corpus index`、`xerj code` という一連のコマンドと、`xerj_code_search` MCPツールを提供します。特に、エージェントが記憶していないプライベートコード、プロプライエタリな内部API、またはニッチなライブラリを参照する場合に効果的で、公開ライブラリではオーバーヘッドが発生する可能性があります。このスキルは、`xerj` リポジトリ内では必須であり、エンジン作業の前に取得を行うことが求められます。また、ハブコーパスとローカルコーパスをサポートし、それぞれ異なるユースケース(公開ライブラリの参照とプライベートファイルの検索)に対応します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clanker25/xerj/tree/main/tools/xerj-code

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

XERJ.code — 参照コーディング は何をしますか?

APIを知らないエージェントは推測し、実行し、失敗し、また推測します。 各サイクルは出力トークンを消費します。これは高価な種類です。このスキルは サイクルをルックアップに置き換えます。正しい実装を既に含むリポジトリをクローンし、 XERJでインデックスを作成し、コードを書く前に節を取得します。

これは意図的なトレードオフです。取得は入力トークンを使用します。これはトークンあたり より安価でキャッシュ可能です。ループは出力トークンを消費します。このトレードオフが 不利に働く条件と計算については、COSTS.md を参照してください。

ステータス:簡潔に述べると、測定済みであり、その価値は現実的だが狭い。 (実際のトークンとドルを用いた完全なケーススタディ:docs/case-studies/reference-coding/CASE_STUDY.md、2026-08-05。)

重要な比較対象はネイティブClaude Code — 同じエージェントが ソース自体をgrepするツールを持つ — 裸のモデルではありません。3つの レジームで測定、同じエージェント、1つの客観的な判定(コンパイル+隠しテスト合格):

  • モデルが記憶できないコントラクトを持つ馴染みのないコード(シール、 ジェネレーショナルハンドル、遅延リフィル、特定のハッシュスキーム — 7つの 目的別ライブラリ、21回の実行で測定):ネイティブとxerjの両方が 21/21を解決;xerjは出力トークンを1.5倍少なく使用し、ネイティブより1.3倍安い。 これは、取得がgrepを置き換えるためです。純粋なメモリは 1/21で失敗し、 6.5倍のコストを費やして失敗します。これが勝利であり、決定的です。 コンパイラはリトライループ全体でAPIの名前を漏洩させることはできても、コントラクトは 絶対に漏洩しません。
  • 記憶されたコード(人気のある公開クレート — 256値のテーブルや protobufスタイルのvarintなど):取得はオーバーヘッドです。 純粋なメモリが最も安価です。大きな参照を注入すると、モデルが渡されたものを そのまま再出力するため、最悪のケースになり得ます。

したがって:参照がモデルが記憶していないコードである場合にこれを使用 — あなた自身の プライベート/プロプライエタリなコード、内部API、カットオフ後またはニッチな ライブラリ。モデルが既に知っている公開ライブラリの参照では、節約よりもコストがかかります。 ネイティブとxerjの差は、コーパスサイズとともに拡大します(grepはツリー全体を コンテキストに引き込みますが、取得は1つの節を引き込みます)。

#977以降、ループ全体は xerj バイナリ内にあります — xerj corpus add / xerj corpus index / xerj code — さらに、シェルを持たないエージェント向けの xerj_code_search MCPツール。 古いラッパースクリプト(xc-corpus.sh、xc-index.sh、xc.py)は削除されました。 既存の ~/.xerj-code コーパスとインデックスはそのまま動作します(以下の 移行 を参照)。

このリポジトリの常設コーパス(2026-08-06以降必須)

xerjリポジトリでは、コードを書く前の取得は、非自明なエンジン作業において 必須であり、オプションではありません。以下の各コーパスには、hub/ に ピン留めされ、ライセンスレビュー済みの定義があります — xerj corpus add --from hub/<name>.json を実行すると、 他の誰もが使用しているのと同じコミットで再構築されます:

コーパスプロジェクト使用目的
xerj-searchlucene, tantivy, meilisearch, quickwit, sonic, elasticsearchFTS、BM25、ポスティング、マージポリシー、タイポトレランス、セグメントレイアウト、ESワイヤーセマンティクス
xerj-vectorqdrant, usearch, instant-distance, hnswlibHNSW構築、近傍ヒューリスティック、量子化、フィルタリングkNN
xerj-storagesled, fjall, redbWAL、フラッシュエポック、クラッシュリカバリ、コンパクション、ページ割り当て
xerj-columnarclickhouseカラムナストレージ、集約実行、圧縮コーデック、ベクトル化スキャン

アプローチのみのソース: elasticsearch(AGPL-3.0 / SSPL-1.0 / Elastic-2.0) および sonic(MPL-2.0)。それらのコードをApache-2.0のXERJにコピーしないでください。ESの場合、 ソースを貼り付けると、プロジェクトの「Elasticsearchとコードを共有しない」という公の主張も 虚偽になります。meilisearch はコアがMITですが、Enterprise Editionの部分はBUSL-1.1です — 最初にヘッダー/パスを確認してください。設計を読み、独自の実装を書いてください。 各マニフェストの review.use フィールドは、リポジトリがどのバケットにあるかを示しています。 hub/README.md が3つのバケットを説明しています。

ハブコーパスとローカルコーパス

2種類のコーパスが同じローカルノード上にあります。それぞれ異なる種類の質問に 答えます:

ハブコーパスローカルコーパス
保持するものピン留めされたコミットの公開素材:ライブラリのソース、標準、規制、アドバイザリフィードこのマシンのみが持つファイル:作業中のプロジェクト、プライベートドキュメント、エクスポート
使用するタイミングメモリから正確に引用できない詳細が必要な場合答えが自分のファイルにある場合
追加方法xerj corpus add --from ./<slug>.json、次に xerj corpus index <slug>xerj autoindex <folder>
クエリ方法xerj code <slug> "<question>" · MCP xerj_code_searchxerj search "<words>" · xerj def "<symbol>" · MCP xerj_search

xerj autoindex --prefix <p> でインデックス化されたフォルダは、そのテーブル内のローカルパスであり、xerj code コーパスではありません:xerj corpus list は ~/.xerj-code を読み取り、xerj corpus add がフォルダを登録するまで <p> をリストしません。また、それを検索するコマンドは xerj search --prefix <p> および xerj def --prefix <p> です。

既に正確に述べられる事実にはどちらも使用しないでください。記憶されたコンテンツでは 取得はオーバーヘッドです(上記のステータスノートを参照)。

ハブマニフェストは、corpus-hub ブランチのチェックアウト (tools/xerj-code/hub/<slug>.json)から、またはチェックアウトなしで生のURLから取得できます。 corpus index と code の両方が実行中のノードと通信します:

curl -fsSLO https://raw.githubusercontent.com/xerj-org/xerj/corpus-hub/tools/xerj-code/hub/<slug>.json
xerj corpus add --from ./<slug>.json   # 最終行:次:xerj corpus index <slug>
xerj corpus index <slug>               # 終了:コーパス '<slug>' 検索可能:<N> レコード
xerj code <slug> "<question>"          # ファイルパスと行で始まる節

--from はローカルファイルを読み取ります:v1.0.0-rc.95 はURLをフェッチせず、URLを渡すと no such manifest と応答します。

手元のプロジェクトに適したコーパスの選択

上記の4つのエンジンコーパスは、このリポジトリの常設セットです。完全な ライブカタログは hub.xerj.org で閲覧可能で、 hub.xerj.org/llms.txt にコーパスごとに1行あります。 ノードがロードしているものは xerj corpus list --url <node> で確認できます。すべての コーパスは、ソースごとにライセンスが記録されたコミットにピン留めされています。G7( 取得が実行される前にスイートが事前登録された5問の取得ゲート)は、一部の コーパスでは評価済みで、他では未評価であり、各ハブページにその旨が記載されています。 サイズではなく、プロジェクトのドメインで選択してください:

プロジェクトが…まずこれから始める理由
検索/クエリエンジンxerj-searchポスティング、BM25、マージポリシー、セグメントレイアウト、ESワイヤーセマンティクス
ベクトル検索/ANNxerj-vector、faiss、annoyHNSW構築、近傍ヒューリスティック、量子化、フィルタリングkNN;faissは参照ANN実装、annoyはフォレストバリアント
ストレージエンジン/KVxerj-storage、duckdb、rocksdb、leveldb、badger、lmdb、pebble、valkey-srcWAL、クラッシュリカバリ、コンパクション、ページ割り当て;LSM対Bツリー;pebbleはL0サブレベルと範囲削除セマンティクス用;valkeyはメモリ内KVサーバーのデータ構造用
分析/カラムナxerj-columnar、duckdb、arrow-rs、parquet-format、icebergカラムナレイアウト、コーデック、ベクトル化スキャン、テーブルフォーマット
データベースサーバーsqlite-src、postgres-srcパーサー、プランナー、エグゼキューター — この分野で最も研究された2つのコードベース
メッセージング/コンセンサスkafka-src、rabbitmq、nats-server、etcd-src、raft-rs、dragonboatログコンパクション、配信セマンティクス、クォーラム/リースの正当性
モニタリング/時系列influxdb、prometheus-srcTSDBレイアウト、ダウンサンプリング、スクレイプ/インジェストパス
TLS/暗号/トンネルrustls、openssl、s2n-tls、boringtun手作業による最新TLS、強化の先例、定数時間パターン
QUIC/HTTP/ネットワーキングquinn、nghttp2、curl-src、libuv、caddy、envoy、nginxプロトコルステートマシン、コネクションプーリング、イベントループ
圧縮/シリアライゼーションzstd、lz4、brotli、zlib-ng、snappy、protobuf、flatbuffers、capnproto、msgpack-cフォーマット設計、ブロック化/エントロピーコーディング、ゼロコピースキーマ
シークレット/設定提供openbaoシール/アンシール付きKVストア、リース機構
API設計レビューrust-api-guidelines、msft-api-guidelines、zalando-restful-api-guidelines、google-eng-practices命名、エラー形状、バージョン管理;Zalandoは最も条項が完全なRESTポリシーセット、google-eng-practicesはコードレビュー原則を所有
プロトコル/仕様準拠openapi-spec、graphql-spec、json-schema-spec、w3c-css、whatwg-specs、ecma262、nats-protocol、kafka-protocol実装が評価される規範的テキスト — HTML/DOM/URLの生きた標準、ECMAScript文法、ワイヤープロトコルフレーミング
適切なRFCを読む前に特定するietf-rfc-abstractsRFCごとに1レコード(9,015件):番号、タイトル、日付、要約 — 「Xを実際にカバーするRFCはどれか」を全文を取得せずに特定(TLP-5.0)
本番運用/SREgitlab-runbooks、school-of-sre、tldr-pages、mozilla-ssl-configs、twelve-factor実際のインシデントプレイブック、完全なSREコースカリキュラム、ツール別コマンド構文、デプロイされたTLS設定、デプロイメント原則
Unixシステムの管理freebsd-handbook、openbsd-faqrc/ZFS/jail/ネットワーキング手順、OpenBSDの標準FAQの立場
ホスト型APIに対するドキュメント作成github-api-descriptiongithub.restのOpenAPI記述 — フィールドセマンティクス、列挙値、プレビューヘッダー
データストア運用ドキュメントvalkey-docs、etcd-docsコマンドセマンティクス、設定ノブ、チューニングガイダンス — 各運用リファレンス
テレメトリー/オブザーバビリティ配線otel-proto のsemconv半分(候補 — G7 2/5、セマンティックレーンに駐車中)OpenTelemetry属性名のセマンティックコンベンション;語彙ラウンドでは言い換えから規範的散文への橋渡しができなかった
国際化unicode-cldrCLDRロケールデータ構造、カレンダー/数値/日付スケルトン
Rust依存関係のセキュリティレビューrustsec-advisories、rust-vulns パック(xerj corpus add --from ハブレシピ)アドバイザリごとに1テキストレコード(1,963件:RustSec + crates.io OSV、エイリアス重複ゼロ):影響を受けるバージョン、修正リリース、271件の影響を受ける関数シンボルリスト;パックはパッチ済みペアマイニング(#1111の欠陥クラス研究)の手段であり続ける
Python依存関係のセキュリティレビューpysecPYSECアドバイザリレコード、影響を受けるバージョンと修正バージョン、CVE/GHSAエイリアス
クロスエコシステム依存関係監査ghsa-dbGitHubレビュー済みアドバイザリ(36,263テキストレコード):CVSSベクター、パッチ済み範囲、npm/PyPI/Go/Rust/mavenおよびその他の影響を受けるパッケージ
Goモジュールのセキュリティレビューgo-vulndbGoチームキュレーションのアドバイザリ(4,577件):影響を受けるパッケージとシンボル、修正バージョン、CVEエイリアス付きGO ID
正規表現DoSの先例redos-precedent634の正規表現固有のReDoSアドバイザリ(CWE-1337/185クラス、裸のCWE-400ではない):病理学的入力、影響を受ける関数、境界付き書き換え
暗号誤用の先例crypto-misuse-precedent721のCWE-326/327/328/329/347クラスアドバイザリ:弱い暗号、ハードコードされたキー、ナンス再利用、署名検証バイパス、パディングオラクル、ECB
脆弱性/弱点の分類mitre-cwe、mitre-capecCWE弱点定義とCAPEC攻撃パターン、IDレベル
敵対者技術/検出エンジニアリングmitre-attckATT&CK v19.2の技術別レコード:技術ID、戦術、検出データソース、手順例(エンタープライズ/モバイル/ICS;ソフトウェアとグループオブジェクトは対象外)
パッチ優先度トリアージcisa-kevKnown Exploited Vulnerabilitiesカタログ、CVEごとに1レコード — 実際の悪用状況、拘束力のある修復日付
Webアプリケーションセキュリティのハウツーowasp-cheatsheetsCheat Sheet Seriesのトピック別対策レシピ — セッション管理、認証シークレット、エラー処理、アップロード処理
Webアプリケーションペネトレーションテストの計画owasp-wstgWeb Security Testing Guide v4.2カタログ:テストごとの目的と方法、カテゴリ別(認証、認可、セッション、入力処理)
アクティブなキャンペーンのトリアージcisa-alertsCISAアドバイザリのIOC、必要なアクションと緩和策(2025-05..2026-10の範囲)
エンドポイント可視性のクエリosquery-config-examples実際にデプロイされたosqueryパックとスケジュールクエリの形状
非ソフトウェア(税、雇用、英国法)ecfr-title-12、ecfr-title-29、ecfr-title-26、uk-legislation統合された現在の規制、ファイルごとのセクション
航空(FAR)ecfr-title-1414 CFRのファイルごとのセクション:視程最小値、トランスポンダ空域、検査間隔、優先権
海上交通ルールnavrulesCOMDTINST M16672.2Dのルールごとのテキスト — 衝突リスク、狭い水路、横断状況、灯りと音響信号
アクセシブルUIコンポーネントgovuk-design-systemGOV.UKコンポーネントオプションとアクセシビリティ基準 — 正確なオプションセマンティクス(maxwords対maxlength、区切りテキスト、focus-on-load)
製薬/医薬品ラベルdailymedFDAラベルセクション:適応症、禁忌、投与タイミング
臨床治療ガイダンスcdc-clinicalCDC STI治療レジメンと用量、梅毒脱感作、麻疹臨床症状
飲食サービス安全fda-food-codeFDA食品コード2022の規定:手接触面、公衆衛生管理としての時間、日付表示、素手準備
交通制御機器mutcdFHWA MUTCD第11版(Rev 1):標識と信号の基準、標示、工事ゾーンの一般的適用
建築工事(イングランド)uk-building-regs建築規制2010(SI 2010/2214)の規定ごと:パートA–Pの要件、ウェールズの変形…

…

[翻訳のため省略]

関連スキル