npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

rdra-agent

v0.6.2

Published

RDRA (Relationship Driven Requirement Analysis) 要件定義支援ツール

Readme

RDRAAgent - 使い方ガイド

概要

RDRAAgentは、RDRA(Relationship Driven Requirement Analysis)手法を用いてClaude Codeを使って要件定義を段階的に行うシステムです。初期要望から4つのフェーズを通じて体系的に要件を定義し、仕様のたたき台まで生成します。 初期要望から要件を定義し、妥当性検証環境で要件を検証します。これらはメニュー(node menu)を使ってRDRA定義や検証、仕様化、ツール利用を行います。

インストール方法

方法1: npmでインストール(推奨・最も簡単)

# グローバルインストール
npm install -g rdra-agent

# または yarn
yarn global add rdra-agent

# プロジェクトローカルにインストール
npm install rdra-agent
# または
yarn add rdra-agent

方法2: GitHubから直接インストール

npm install github:shouya31/RDRAAgent_v0.6
# または
yarn add github:shouya31/RDRAAgent_v0.6

方法3: リポジトリをクローンして直接使用(開発・カスタマイズ向け)

開発やカスタマイズを行う場合は、リポジトリを直接クローンします:

git clone https://github.com/shouya31/RDRAAgent_v0.6.git
cd RDRAAgent_v0.6
node menu.js

この方法の特徴:

  • Node.jsのインストールが必要です
  • npm install は不要(外部依存関係がないため)
  • ダウンロードかクローンするだけですぐに使用可能

「初期要望.txt」と「妥当性検証環境.csv」の二つを入力する

初期要望.txt:RDRA定義のための初期の要望のリスト

  • システム名
  • 要求や課題
  • 業務概要や業務の背景
  • アクターや外部システムを限定したい場合は記述
  • ビジネスポリシーなど分かる範囲で記述

妥当性検証環境.csv

  • 要件の妥当性を検証するために記述する
  • システムを導入する環境の制約を記述
  • 拠点毎のアクター別、人数と制約で記述する

Samplesの活用

  • 入力内容はSamples内のファイルを参照する
  • 最初は思いつくものを記入し、実行しながら何度も壁打ちする

プロジェクトの構築ポリシー

  • 様々な環境、モデルに対応できるように他のライブラリーへの依存を無くす
  • 外部ライブラリの依存を無くすために、テキストベースのファイルで構成する
  • 現状のプロジェクトは「Claude Code」を使用します。
  • menu.jsの「getLLMTerminalCommand」を見直すことで他のモデルに変更することが出来ます。

対応環境

  • OS: Windows 11 / Mac
  • Node.js: バージョン18以上推奨
  • Model:Claude code(default)

クイックスタート(npm/yarnインストール後)

新しい方法:任意のディレクトリでRDRA定義を実行

# プロジェクトディレクトリを指定して実行
rdra ./my-rdra-project

# 初回実行時、初期要望.txtのテンプレートが自動作成されます
# テンプレートを編集後、再度実行
rdra ./my-rdra-project

複数プロジェクトの管理

# プロジェクトA
rdra ./rdra-projects/system-a

# プロジェクトB
rdra ./rdra-projects/system-b

# プロジェクトC
rdra ./rdra-projects/system-c

メリット:

  • 複数のRDRAプロジェクトを別々のディレクトリで管理できる
  • プロジェクトごとに初期要望や結果を分離できる
  • 既存プロジェクトに影響を与えない

ディレクトリ構造

your-project/
├── rdra-projects/
│   ├── system-a/
│   │   ├── 初期要望.txt          # プロジェクトA の要望
│   │   ├── 0_RDRAZeroOne/        # 中間結果
│   │   └── 1_RDRA/               # 最終RDRA定義
│   ├── system-b/
│   │   ├── 初期要望.txt          # プロジェクトB の要望
│   │   └── 1_RDRA/
│   └── system-c/
│       ├── 初期要望.txt
│       └── 1_RDRA/
└── (あなたのプロジェクトファイル)

従来の方法:メニュー起動

クローンまたはダウンロードした場合:

node menu.js

主な特徴

  • 段階的な要件定義: 4つのフェーズで段階的にRDRA定義を作成
  • LLM連携: Claude(大規模言語モデル)を活用して自動生成
  • 可視化機能: RDRAGraphによる要件の関連性の可視化
  • 画面プロトタイプ: ブラウザで画面定義を確認
  • 妥当性検証: 要件と仕様の整合性を自動検証

メニュー構成

■ZeroOne(要件定義)

1. フェーズ単位の要件定義

  • RDRA定義をフェーズ毎に段階的に実行
  • Phase1→Phase2→Phase3→Phase4 の順で対話的に進める
  • 各フェーズで生成されるファイル:
    • Phase1: アクター、外部システム、ビジネスポリシー、業務、情報、状態
    • Phase2: 業務詳細化、条件、バリエーション、情報・状態の構造化
    • Phase3: コンテキスト化、BUC定義、関連付け
    • Phase4: 関係モデル変換、最終形式の定義

2. 一括要件定義

  • RDRA定義を一括で実行
  • 全フェーズを自動で連続実行

■RDRA(RDRA定義の可視化・管理)

11. RDRAGraphを表示

  • 関連データを生成し、RDRAGraphで可視化
  • 処理内容:
    1. makeGraphData.js で関連データ生成
    2. データをクリップボードにコピー
    3. ブラウザで https://vsa.co.jp/rdratool/graph/v0.94/index.html?clipboard を開く
    4. 自動的にクリップボードのデータを読込み、グラフ表示

12. Spreadsheetに展開

  • RDRA定義をクリップボードにコピー
  • Google SpreadsheetのZeroOneシートに貼り付けて活用

13. RDRA定義の説明を作成

  • RDRA定義の各要素について説明文書を生成

14. RDRA定義の妥当性を検証

  • 妥当性検証環境.csv を使用してRDRA定義を検証
  • 要件の整合性や漏れをチェック

■RDRASpec(仕様作成)

21. 仕様の作成

  • 論理データ構造、画面定義、ビジネスルールを生成
  • 出力ファイル:
    • 2_RDRASpec/論理データ.tsv - 論理データモデル(TSV形式)
    • 2_RDRASpec/論理データモデル.md - 論理データモデル(Markdown形式)
    • 2_RDRASpec/ui.json - 画面定義
    • 2_RDRASpec/business_rule.md - ビジネスルール

22. 仕様の妥当性を検証

  • 論理データと画面定義の整合性を検証

23. 画面編集を表示する

  • UI仕様をブラウザで表示・編集
  • ui_server.js でHTTPサーバーを起動
  • ローカルホスト上で画面定義をビジュアル確認

24. アクター別画面を表示する

  • アクター(利用者役割)別に画面を整理して表示
  • 処理内容:
    1. convertUI2ActorUI.js でui.jsonをアクター別に変換
    2. actorUI_server.js でサーバー起動(ポート3001)
    3. ブラウザで http://localhost:3001/ を開く

■全般

0. メニュー終了

  • プログラムを終了
  • 起動中のサーバーも自動停止

99. 生成した成果物の削除

  • 以下のフォルダーの成果物を削除:
    • 0_RDRAZeroOne/
    • 1_RDRA/
    • 2_RDRASpec/

ワークフロー

基本的な作業の流れ

  1. 初期準備

    • 初期要望.txt にシステム要求を記述
    • Samples/ フォルダーのサンプルを参考にする
  2. 要件定義(ZeroOne)

    • メニュー「1」または「2」で要件定義を実行
    • 4つのフェーズで段階的に要件を洗い出し
  3. RDRA可視化

    • メニュー「11」でRDRAGraphを表示
    • 要件の関連性を図で確認
  4. RDRA検証

    • メニュー「14」で妥当性を検証
    • 必要に応じて要件を修正
  5. 仕様作成

    • メニュー「21」で仕様を生成
    • データモデル、画面、ビジネスルールを作成
  6. 仕様確認

    • メニュー「23」で画面仕様を確認
    • メニュー「24」でアクター別画面を確認
  7. 仕様検証

    • メニュー「22」で仕様の妥当性を検証

使用例

例1: 図書館システムの要件定義

# 1. サンプルの初期要望をコピー
copy Samples\図書館システム\初期要望.txt 初期要望.txt

# 2. メニューシステムを起動
node menu.js

# 3. メニューで「2」を選択(一括要件定義)
# → 4つのPhaseが順次実行される

# 4. メニューで「11」を選択(RDRAGraph表示)
# → ブラウザでRDRAGraphが表示される

# 5. メニューで「21」を選択(仕様作成)
# → 論理データモデル、画面定義、ビジネスルールが生成される

# 6. メニューで「23」を選択(画面確認)
# → ブラウザで画面プロトタイプが表示される

例2: 段階的な要件定義

# 1. 初期要望を記述
notepad 初期要望.txt

# 2. メニューシステムを起動
node menu.js

# 3. メニューで「1」を選択(フェーズ単位の要件定義)
# → Phase1が実行される

# 4. Phase1の結果を確認
# → 0_RDRAZeroOne/phase1/ フォルダー内のTSVファイルを確認

# 5. 再度メニューで「1」を選択
# → Phase2が実行される

# (Phase3、Phase4も同様に実行)

# 6. 全Phase完了後、メニューで「14」を選択(妥当性検証)
# → 妥当性検証環境.csvを使用して検証

例3: 画面定義のアクター別表示

# 1. 仕様作成後(メニュー21実行済み)

# 2. メニューで「24」を選択(アクター別画面表示)
# → ui.jsonがアクター別に変換される
# → ブラウザでアクター別画面が表示される(ポート3001)

# 3. ブラウザでアクターを切り替えて画面を確認

ファイル構成

入力ファイル

  • 初期要望.txt - システムの初期要求
  • 妥当性検証環境.csv - 検証用データ(オプション)

サンプルフォルダー

  • Samples/ - 参考となるサンプルプロジェクト
    • 介護事業者向けシステム/ - 介護事業者向けシステムのサンプル
    • 図書館システム/ - 図書館システムのサンプル
    • 貸し会議室SaaS/ - 貸し会議室SaaSのサンプル
    • 各サンプルには 初期要望.txt が含まれています

出力フォルダー

  • 0_RDRAZeroOne/phase1~4/ - フェーズ別のTSVファイル
  • 1_RDRA/ - RDRA定義ファイル(統合版、TSV/JSON形式)
  • 2_RDRASpec/ - 仕様ファイル(JSON/TSV/Markdown形式)

ヘルパーツール

  • RDRA_Knowledge/helper_tools/ - 各種支援スクリプト
    • makeGraphData.js - グラフデータ生成
    • makeZeroOneData.js - クリップボードデータ生成
    • convertUI2ActorUI.js - アクター別UI変換
    • deleteFiles.js - 成果物削除
    • web_tool/ui_server.js - UI表示サーバー
    • web_tool/actorUI_server.js - アクター別UI表示サーバー

ナレッジベース

  • RDRA_Knowledge/0_RDRAZeroOne/ - ZeroOneフェーズの説明
    • RDRAZeroOne.md - ZeroOneの概念説明
    • WhatIsZeroOne.md - ZeroOneとは何か
  • RDRA_Knowledge/1_RDRA/ - RDRA定義の説明
    • RDRA.md - RDRAの基本概念
    • HowToUseRDRA.md - RDRAの使い方
    • RDRAGraph.md - RDRAGraphの説明
    • RDRASheet.md - RDRASheetの説明
    • rdraStory.md - RDRAストーリー作成方法
    • rdraValidation.md - RDRA妥当性検証方法
  • RDRA_Knowledge/2_RDRASpec/ - 仕様作成の説明
    • 21_data.md - 論理データモデル作成方法
    • 22_ui.md - UI定義作成方法
    • 23_business_rule.md - ビジネスルール作成方法
    • specValidation.md - 仕様妥当性検証方法
  • RDRA_Knowledge/utilityPrompt/ - ユーティリティプロンプト集

設定ファイル

  • .claude/settings.local.json - Cursor/Claudeのアクセス権限設定

ファイルフォーマット

TSVファイル規則

  • タブ区切り文字: をタブに変換して出力
  • UTF-8エンコーディング
  • 1行目:ヘッダー行(カラム名)

主要なTSVファイル

Phase1で生成されるファイル

  • アクター.tsv - システム利用者の役割
  • 外部システム.tsv - 連携する外部システム
  • ビジネスポリシー.tsv - ビジネスポリシー
  • 業務.tsv - 業務フロー
  • 情報.tsv - システムが扱う情報
  • 状態.tsv - 状態遷移モデル

Phase2で生成されるファイル

  • 業務.tsv - 業務詳細化
  • 条件.tsv - ビジネスルール
  • バリエーション.tsv - 業務パラメータ
  • 情報.tsv - 情報の構造化
  • 状態.tsv - 状態の詳細化

Phase3で生成されるファイル

  • アクター.tsv - アクターのコンテキスト化
  • 外部システム.tsv - 外部システムのコンテキスト化
  • 条件.tsv - 条件の関連付け
  • バリエーション.tsv - バリエーションの関連付け
  • 情報.tsv - 情報の関連付け
  • 状態.tsv - 状態の関連付け
  • BUC.tsv - ビジネスユースケース定義

Phase4で生成されるファイル

  • BUC.tsv - BUCの関係モデル化
  • 条件.tsv - 条件の最終形式
  • 情報.tsv - 情報の最終形式
  • 状態.tsv - 状態の最終形式

1_RDRAフォルダーで生成されるファイル

  • システム概要.json - システム全体の概要
  • BUC.tsv - ビジネスユースケース(統合版)
  • アクター.tsv - アクター(統合版)
  • 外部システム.tsv - 外部システム(統合版)
  • 情報.tsv - 情報(統合版)
  • 状態.tsv - 状態(統合版)
  • 条件.tsv - 条件(統合版)
  • バリエーション.tsv - バリエーション(統合版)
  • 関連データ.txt - RDRAGraph用の関連データ

LLM連携(Windows環境)

メニューの一部機能(1, 2, 13, 14, 21, 22)はLLM(大規模言語モデル)を使用します:

  • 自動的に新しいターミナルウィンドウが開きます
  • 実行される指示ファイル:
    • メニュー1, 2: RDRA_Knowledge/0_ZeroOne指示.md
    • メニュー13, 14: RDRA_Knowledge/1_RDRA指示.md
    • メニュー21, 22: RDRA_Knowledge/2_Spec指示.md
  • RDRA_Knowledge/helper_tools/command/commandRun.bat を経由して実行

トラブルシューティング

ファイルが生成されない

  • 原因: LLMの実行が完了していない、またはエラーが発生
  • 対処: 各フェーズの実行確認機能が自動でチェック
    • 不足ファイルは自動再生成される
    • ターミナルウィンドウのエラーメッセージを確認

サーバーが起動しない

  • 原因: ポート競合(3000, 3001)
  • 対処:
    • メニュー「0」で一度終了し、再起動
    • タスクマネージャーでNode.jsプロセスを確認
    • 別のポートを使用している場合は手動でブラウザを開く

データが表示されない

  • 原因: 必要なファイルが未生成
  • 対処:
    • 事前にメニュー「21」で仕様ファイル生成が必要
    • 2_RDRASpec/ui.json の存在を確認
    • メニュー「99」で一度クリアして再実行

PowerShellの実行ポリシーエラー

  • 原因: PowerShellの実行ポリシーが制限されている
  • 対処: 管理者権限で以下を実行
    Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

参考情報

RDRA構造の基本概念

  • アクター - システムを利用する人の役割
  • 外部システム - 連携する外部システム
  • 業務 - 会社の機能単位
  • BUC - ビジネスユースケース(業務の価値実現単位)
  • 情報 - システムが扱うビジネス情報
  • 状態 - 情報の変化を管理する状態モデル
  • UC - ユースケース(システムとの接点)
  • 条件 - ビジネスルールや制約
  • バリエーション - 業務のバリエーションパラメータ

詳細は RDRA_Knowledge/1_RDRA/RDRA.md を参照してください。

Phase別の作業内容

Phase1: 要素の洗い出し

  • システムの基本要素を特定
  • アクター、外部システム、ビジネスポリシー、業務、情報、状態を定義

Phase2: 要素の詳細化

  • 業務の詳細化とBUC候補の抽出
  • 条件(ビジネスルール)の定義
  • バリエーションの定義
  • 情報と状態の構造化

Phase3: コンテキスト化とBUC定義

  • 各要素のコンテキスト(文脈)を明確化
  • BUC(ビジネスユースケース)の正式定義
  • 要素間の関連付け

Phase4: 関係モデル化

  • RDRAの関係モデルへの変換
  • 最終的なRDRA定義の完成
  • 1_RDRAフォルダーへの統合

よくある質問

Q: Phase1で生成されるファイルとPhase4で生成されるファイルで同じ名前のものがありますが、違いは何ですか? A: 各Phaseで同じ名前のファイルが生成されることがありますが、内容は段階的に詳細化・構造化されていきます。最終的にPhase4までの内容が1_RDRAフォルダーに統合されます。

Q: RDRAGraphが表示されない場合は? A: 1_RDRA/関連データ.txtが生成されていることを確認し、ブラウザのポップアップブロックが有効になっていないか確認してください。

Q: 途中でエラーが出た場合は? A: メニュー「99」で成果物を削除し、最初からやり直すことをお勧めします。または、エラーが出たPhaseのみを再実行することもできます。

Q: サンプルプロジェクトを試すには? A: Samplesフォルダー内のサンプルの初期要望.txtを、プロジェクトルートの初期要望.txtにコピーして使用してください。

関連リンク

  • RDRAツール公式サイト: https://vsa.co.jp/rdratool/
  • RDRAGraph: https://vsa.co.jp/rdratool/graph/
  • RDRA手法について: RDRA_Knowledge/1_RDRA/RDRA.md を参照

バージョン情報

現在のバージョン: RDRAAgent v0.6

変更履歴

  • v0.6: 現行バージョン
    • 4フェーズのRDRA定義プロセス実装
    • RDRAGraph連携機能
    • 画面プロトタイプ表示機能
    • アクター別画面表示機能
    • 妥当性検証機能

ライセンス

MIT License