Files
hakorune/docs/development/cleanup/docs-reorg/PLAN.md

11 KiB
Raw Blame History

Nyash ドキュメント再編成計画 📚

📊 現状の分析結果

ファイル数統計

  • 総ファイル数: 283個.md: 211個, .txt: 72個
  • archive/: 113ファイル40%
  • 予定/: 111ファイル39%
  • 説明書/: 41ファイル14%
  • その他: 18ファイル7%

重複・散在ファイル

  • README系: 18個各ディレクトリに散在
  • GETTING_STARTED: 3バージョン存在
  • Phase関連: 42ファイル主に予定/native-plan/issues/
  • AI相談記録: 41ファイル複数箇所に散在
  • ビルドログ: 13ファイルarchive各所

🔍 現状の問題点

1. 構造の混乱

  • トップレベルに開発中/正式文書が混在
  • 説明書/ と直下に同じような内容が散在
  • archive/ に無秩序に大量のファイル

2. 重複と不明確な階層

  • 説明書/reference/reference/ が併存
  • GETTING_STARTED.md が複数存在通常版と2025版
  • MIR関連ドキュメントが複数箇所に分散

3. AI相談記録の散在

  • gemini/chatgpt相談が archive/, トップ, design/decisions/ など複数箇所
  • ビルドログも同様に散在

4. 開発フェーズ管理の複雑さ

  • Phase関連ファイルが 予定/native-plan/issues/ に大量
  • 現在のタスクと将来計画が混在

📋 提案する新構造

docs/
├── README.md                    # ドキュメントマップ(どこに何があるか)
│
├── 📖 reference/               # 正式な技術仕様(安定版)
│   ├── README.md
│   ├── language/               # 言語仕様
│   │   ├── syntax.md          # 構文リファレンス
│   │   ├── types.md           # 型システム
│   │   ├── boxes.md           # Box仕様
│   │   └── delegation.md      # デリゲーション仕様
│   ├── architecture/          # アーキテクチャ
│   │   ├── overview.md        # 全体設計
│   │   ├── mir.md             # MIR仕様
│   │   ├── vm.md              # VM仕様
│   │   └── plugins.md         # プラグインシステム
│   └── api/                   # API仕様
│       ├── builtin-boxes.md   # ビルトインBox一覧
│       └── stdlib.md          # 標準ライブラリ
│
├── 📚 guides/                 # 利用者向けガイド
│   ├── README.md
│   ├── getting-started.md     # はじめに(統一版)
│   ├── tutorials/             # チュートリアル
│   │   ├── hello-world.md
│   │   ├── basic-boxes.md
│   │   └── p2p-apps.md
│   ├── examples/              # サンプルコード
│   └── playground.md          # プレイグラウンドガイド
│
├── 🔧 development/            # 開発者向け(進行中)
│   ├── README.md
│   ├── current/               # 現在の作業
│   │   ├── CURRENT_TASK.md
│   │   └── VM_CHANGES.md
│   ├── roadmap/               # 開発計画
│   │   ├── phases/            # Phase別計画
│   │   │   ├── phase-8/
│   │   │   ├── phase-9/
│   │   │   └── phase-10/
│   │   └── native-plan/       # ネイティブビルド計画
│   └── proposals/             # 提案・RFC
│       └── phase_9_78e.md
│
├── 🗄️ archive/                # アーカイブ(古い/歴史的文書)
│   ├── README.md              # アーカイブの説明
│   ├── consultations/         # AI相談記録
│   │   ├── gemini/
│   │   ├── chatgpt/
│   │   └── codex/
│   ├── decisions/             # 過去の設計決定
│   ├── build-logs/            # ビルドログ
│   └── old-versions/          # 古いドキュメント
│
└── 🎨 assets/                 # 画像・図表など
    ├── diagrams/
    └── screenshots/

🔄 移行計画

Phase 1: 基本構造作成(優先度: 高)

  1. 新しいディレクトリ構造を作成
  2. README.md でドキュメントマップ作成
  3. 現在進行中のファイルを development/current/ へ移動

Phase 2: リファレンス整理(優先度: 高)

  1. 説明書/reference/ の内容を reference/ に統合
  2. 重複ファイルの統合GETTING_STARTED統一版作成
  3. MIR/VM関連ドキュメントを適切な場所に配置

Phase 3: アーカイブ整理(優先度: 中)

  1. AI相談記録を archive/consultations/ に集約
  2. ビルドログを archive/build-logs/ に集約
  3. 古いドキュメントを archive/old-versions/

Phase 4: 開発ドキュメント整理(優先度: 中)

  1. Phase関連ファイルを番号順に整理
  2. 現在のタスクと将来計画を明確に分離
  3. native-plan を整理して見やすく

💡 メリット

  1. 明確な分類: 利用者向け/開発者向け/アーカイブが明確
  2. 検索性向上: 必要な情報がどこにあるか分かりやすい
  3. メンテナンス性: 新しいドキュメントの追加場所が明確
  4. バージョン管理: 現在の仕様と過去の記録が分離

🤔 検討事項

日本語ディレクトリ名の変換案

現在の日本語ディレクトリを英語に統一:

  • 説明書/guides/ に内容を移動
  • 予定/development/roadmap/ に内容を移動
  • 日本語ファイル名(.txt/.mdはそのまま維持内容が日本語のため

理由:

  • 国際的な開発者にもアクセスしやすい
  • パス指定時のエンコーディング問題を回避
  • Git操作が簡単に

既存リンクの対応

  • 多くの場所から参照されている可能性
  • 対策: 移行期間は旧パスにシンボリックリンクまたはREADME配置

自動生成ドキュメント

  • MIRダンプやベンチマーク結果など
  • 提案: development/generated/ または archive/generated/ に配置

📝 実装順序の提案

Step 1: 基本構造作成スクリプト

#!/bin/bash
# create_new_structure.sh

# 新構造の作成
mkdir -p reference/{language,architecture,api}
mkdir -p guides/{tutorials,examples}
mkdir -p development/{current,roadmap/{phases/{phase-8,phase-9,phase-10},native-plan},proposals}
mkdir -p archive/{consultations/{gemini,chatgpt,codex},decisions,build-logs,old-versions}
mkdir -p assets/{diagrams,screenshots}

# 各ディレクトリにREADME.mdを配置
echo "# Reference Documentation" > reference/README.md
echo "# User Guides" > guides/README.md
echo "# Development Documentation" > development/README.md
echo "# Archive" > archive/README.md

Step 2: 優先移動ファイルリスト

  1. 現在の作業ファイル

    • CURRENT_TASK.mddevelopment/current/
    • CURRENT_VM_CHANGES.mddevelopment/current/
    • phase_9_78e_summary.mddevelopment/current/
  2. 言語仕様

    • LANGUAGE_REFERENCE_2025.mdreference/language/
    • TECHNICAL_ARCHITECTURE_2025.mdreference/architecture/
    • 説明書/reference/ の内容 → reference/ へ統合
  3. 利用者ガイド

    • GETTING_STARTED系を統合 → guides/getting-started.md
    • 説明書/guides/guides/tutorials/

Step 3: 自動整理スクリプト案

#!/bin/bash
# reorganize_docs.sh

# Phase関連ファイルの整理
find 予定/native-plan/issues -name "phase_*.md" | while read f; do
    phase=$(echo $f | grep -o 'phase_[0-9]\+' | head -1)
    mkdir -p development/roadmap/phases/$phase
    mv "$f" development/roadmap/phases/$phase/
done

# AI相談記録の集約
find . -name "*gemini*.txt" -exec mv {} archive/consultations/gemini/ \;
find . -name "*chatgpt*.txt" -exec mv {} archive/consultations/chatgpt/ \;
find . -name "*consultation*.txt" -exec mv {} archive/consultations/ \;

# ビルドログの集約
find . -name "*build*.log" -o -name "*build*.txt" -exec mv {} archive/build-logs/ \;

🚀 実装提案

  1. まず DOCUMENTATION_REORGANIZATION_PLAN.md の承認
  2. バックアップ作成
    tar -czf docs_backup_$(date +%Y%m%d).tar.gz docs/
    
  3. 基本ディレクトリ構造の作成(上記スクリプト)
  4. 段階的移行(優先度順)
  5. リンク切れチェック
  6. 最終確認とクリーンアップ

📋 具体的な移行マッピング(主要ファイル)

現在のトップレベルファイル

docs/
├── CURRENT_TASK.md                → development/current/
├── CURRENT_VM_CHANGES.md          → development/current/
├── LANGUAGE_REFERENCE_2025.md     → reference/language/
├── TECHNICAL_ARCHITECTURE_2025.md → reference/architecture/
├── Phase-9.75g-0-BID-FFI-*.md    → development/roadmap/phases/phase-9/
├── README.md                      → そのまま(インデックスとして)
├── execution-backends.md          → reference/architecture/
├── nyash_core_concepts.md         → reference/language/
└── plugin-migration-*.md         → reference/plugin-system/

archiveの主要整理

archive/
├── chatgpt5/              → archive/consultations/chatgpt/
├── codex-analysis/        → archive/consultations/codex/
├── design/                → 一部をreference/へ、残りはarchive/decisions/
├── build_logs/            → archive/build-logs/に統合
└── *.txt (相談記録)      → archive/consultations/へ分類

説明書/の再構成

説明書/
├── GETTING_STARTED*.md    → guides/getting-started.md (統合版)
├── guides/                → guides/tutorials/
├── reference/             → reference/ (トップレベルに移動)
└── wasm/                  → guides/wasm-guide/

チェックリスト

移行前の確認事項:

  • バックアップの作成
  • 重要なドキュメントの特定
  • 外部からのリンク確認README、コード内のコメント等
  • CIスクリプトでのパス参照確認

移行後の確認事項:

  • すべてのドキュメントが新構造に配置されているか
  • 重複ファイルが統合されているか
  • 各ディレクトリにREADME.mdがあるか
  • リンク切れがないか

どうでしょうか?この計画で進めてよろしいですか?

もし承認いただければ、まず小規模なテスト移行から始めることもできます。

🎯 期待される効果

  • 検索時間短縮: 必要な情報への到達が3クリック以内に
  • メンテナンス性向上: 新規ドキュメントの追加場所が明確
  • 重複削減: 18個のREADME → 5個程度に集約
  • 整理度: 283ファイル → 適切に分類された構造