# 📚 Nyash Documentation ## 🚀 はじめに(導線) - 現在のタスクと進行状況: ../CURRENT_TASK.md - コア概念の速習: reference/architecture/nyash_core_concepts.md - 設計ブループリント(文字列/文字コード): development/design/blueprints/strings-utf8-byte.md --- ## 📂 ドキュメント構造(指針) ### 📖 [reference/](reference/) - 正式な技術仕様 - **language/** - 言語仕様(構文、型システム、Box仕様) - **architecture/** - システムアーキテクチャ(MIR、VM、実行バックエンド) - **api/** - ビルトインBoxのAPI仕様 - **plugin-system/** - プラグインシステム、BID-FFI仕様 - 🆕🔥 **[TypeBox ABI統合 + セルフホスティング](../development/roadmap/phases/phase-12/)** - ABIすらBoxとして扱う革命的設計! - まずはこちら: `reference/boxes-system/plugin_lifecycle.md`(PluginBoxV2のライフサイクル、singleton、nyash.tomlの要点) ### 📚 [guides/](guides/) - 利用者向けガイド - **getting-started.md** - はじめに(統一版) - **tutorials/** - ステップバイステップのチュートリアル - **examples/** - 実践的なサンプルコード - **wasm-guide/** - WebAssemblyビルドガイド ### 🧩 [how-to/](how-to/) - 目的別ハウツー - 手順重視の短いガイド(前提→コマンド→検証) ### 🔧 [development/](development/) - 開発者向け - **current/** - 現在進行中のタスク(CURRENT_TASK.md等) - **roadmap/** - 開発計画 - phases/ - Phase 8~12の詳細計画 - phase-12/ - 🆕🔥 TypeBox統合ABI + Nyash ABI C実装(セルフホスティング実現!) - native-plan/ - ネイティブビルド計画 - **proposals/** - RFC、新機能提案 ### 🔌 Net Plugin(HTTP/TCP) - 使い方と仕様: `reference/plugin-system/net-plugin.md` ### 🗄️ [archive/](archive/) - アーカイブ - **consultations/** - AI相談記録(gemini/chatgpt/codex) - **decisions/** - 過去の設計決定 - **build-logs/** - ビルドログ、ベンチマーク結果 - **old-versions/** - 古いドキュメント --- ## 📌 Docs マップ(トップレベルとステータス) 新しくドキュメントを書くときや、どこに置くか迷ったときはこの表を基準にする。 | パス | 用途 | 主な対象 | ステータス | |------|------|----------|------------| | `reference/` | 言語仕様・正式なリファレンス | 利用者 / 実装者 | **Active / SSOT** | | `guides/` | チュートリアル・長めの読み物 | 利用者 / 新規開発者 | **Active** | | `how-to/` | 手順書・レシピ集 | 日常開発 | **Active** | | `quick-reference/` | コマンドやオプションの早見表 | 日常参照 | **Active** | | `development/` | Rust 実装側の設計・ロードマップ | コア開発者 | **Active(Rust層)** | | `private/` | 将来の整理待ちのメモ・長文案 | コア開発者 | **Draft / Incubator** | | `design/` | 公開可能な安定寄り設計ノート | 実装者 | **Active(安定設計)** | | `architecture/` | 全体アーキテクチャの俯瞰図 | 実装者 / 設計者 | **Active** | | `abi/` | Nyash/Hakorune ABI 関連 | 実装者 | **Active** | | `specs/` | 古めの仕様・実験的仕様 | 実装者 | **Legacy(必要に応じ参照)** | | `checklists/` | レビュー・設計チェックリスト | 実装者 | **Active** | | `tools/` | ドキュメント生成・補助スクリプト | 実装者 | **Active** | | `updates/` | リリースノート・変更履歴 | 利用者 / 実装者 | **Active** | | `releases/` | リリース関連ドキュメント | 利用者 | **Active** | | `archive/` | 旧ドキュメント・歴史資料 | 研究・考古学用 | **Archived(正本ではない)** | | `assets/` | 画像などの共有アセット | すべて | **Support** | | `ENV_VARS.md` | 環境変数リファレンス | 実装者 / 運用者 | **Active(集約先)** | 運用ルール(提案): - **新規仕様/設計**: まずは `private/` に置き、安定したら `reference/` or `design/` へ昇格する。 - **Rust 実装寄りの話**: `development/` 配下に置く(セルフホスト側は `private/roadmap` 等)。 - **古い資料・置き換え済み**: 内容を変えずに `archive/` 以下へ移動し、先頭に「Archived / 新しい場所」の一行メモを書く。 - **ユーザー向けに見せたいもの**: `guides/`, `how-to/`, `quick-reference/`, `releases/` を優先する。 --- ## 🎯 クイックアクセス ### すぐ始める - guides/getting-started.md - guides/language-guide.md - guides/p2p-guide.md ### 技術リファレンス - reference/language/LANGUAGE_REFERENCE_2025.md - reference/language/EBNF.md(演算子: ! 採用 / do-while 非採用) - reference/language/strings.md(UTF‑8/Byte 二本柱) - reference/architecture/TECHNICAL_ARCHITECTURE_2025.md - reference/architecture/execution-backends.md - reference/runtime/gc.md - reference/plugin-system/ - tools/cli-options.md(CLI早見表) ### デザイン/ガイド - guides/language-core-and-sugar.md(コア最小+糖衣) - guides/loopform.md(ループ正規化) - guides/scopebox.md(開発時の可視化) - guides/dev-local-alias.md(開発向け: 行頭 @name = expr → local 宣言糖衣) - guides/box-patterns.md(Boxパターン集:Ownership/Lease/Cancel/Capability/Affinity/Observable) - guides/box-design-checklist.md(Box 設計チェックリスト) - proposals/concurrency/boxes.md(並行モデルのBox設計:Routine/Channel/Select/Scope) - reference/concurrency/semantics.md(ブロッキング/close/select/観測の規約) - design/(設計ノート入口) - development/design/legacy/flow-blocks.md(矢印フロー/匿名ブロック・設計草案) - development/proposals/scope-reuse.md(スコープ再利用ブロック・MVP提案) - reference/language/match-guards.md(ガード連鎖/Range・CharClass設計) - guides/core-principles.md(最小構文・ゼロランタイム・可視化の原則) ### 開発状況 - [現在のタスク](../CURRENT_TASK.md) - [開発ロードマップ](development/roadmap/) - [Phase別計画](development/roadmap/phases/) - 🔥 **[Phase 12: TypeBox統合ABI](development/roadmap/phases/phase-12/)** - 🔥 **[Phase 16: マクロ革命](development/roadmap/phases/phase-16-macro-revolution/)** - 🧪 **[Phase 17: LoopForm Self‑Hosting](development/roadmap/phases/phase-17-loopform-selfhost/)** - 💡 **[Rust所有権統合(候補)](private/ideas/new-features/2025-09-22-rust-ownership-fusion.md)** - Phase 17+候補 - 🧩 **[Mini‑VM 構築ロードマップ](development/roadmap/phases/phase-17-loopform-selfhost/MINI_VM_ROADMAP.md)** - 🧭 **Using→Loader 統合(最小設計)**: development/design/legacy/using-loader-integration.md - 🗂️ **Docsの書き方(小さく・リンク駆動)**: guides/contributing-docs.md --- ## 📋 再編成について / フォルダの見分け方 ドキュメントは2025年8月20日に再編成されました。詳細は[REORGANIZATION_REPORT.md](REORGANIZATION_REPORT.md)を参照してください。 旧パスから新パスへの主な変更: - `説明書/` → `guides/` と `reference/` に分割 - `予定/` → `development/roadmap/` - 散在していたファイル → 適切なカテゴリに整理 --- 補足: - `reference/` は正本(仕様)。 - `guides/` は読み物、`how-to/` は手順書。 - `design/` は公開できる設計ノート。 - `private/` は下書き保管庫(将来 `reference/`/`design/` に昇格)。 Nyash は「Everything is Box」哲学に基づく言語です。詳細はコア概念とガイドを参照してください。