https://github.com/ekicyou/pasta
Memories of pasta twine together—now and then a knot, yet always a delight.
https://github.com/ekicyou/pasta
pasta ukagaka ukagaka-shiori
Last synced: 14 days ago
JSON representation
Memories of pasta twine together—now and then a knot, yet always a delight.
- Host: GitHub
- URL: https://github.com/ekicyou/pasta
- Owner: ekicyou
- License: mit
- Created: 2025-12-16T00:30:22.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2026-02-21T23:39:06.000Z (4 months ago)
- Last Synced: 2026-02-22T06:20:53.521Z (4 months ago)
- Topics: pasta, ukagaka, ukagaka-shiori
- Language: HTML
- Homepage:
- Size: 20.7 MB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README

# pasta
Memories of pasta twine together—now and then a knot, yet always a delight.
**pasta** は「伺か」などのデスクトップマスコット、あるいはノベルゲーム向けの対話スクリプトエンジン/SHIORI.DLL です。
日本語フレンドリーな全角マーカー、前方一致によるランダム選択、Lua ランタイムによる拡張性を特徴とします。
```pasta
*OnBoot
@挨拶:ごきげんよう、お待ちしておりましたわ、まあまあ
%ぱすた、ラザニア
ラザニア:@挨拶 !
:べ、別にあなたを待っていたわけではありませんのよ?
ぱすた:素直じゃないなあ……
:ようこそ!一緒に楽しもうね。
```
---
## 📖 ゴーストを作りたい方へ — 利用者マニュアル
### 👉 **[pasta 利用者マニュアル](https://ekicyou.github.io/pasta/)**
Pasta DSL の文法、Lua API/コーディング、ゼロからの入門チュートリアルを、**日本語で検索可能な単一サイト**にまとめています。
ゴースト作者の方は、まずこちらからどうぞ。
> 以前 `GRAMMAR.md` や `doc/spec/` に分散していた利用者向けの知識は、上記マニュアルへ集約しました。
> この README は、pasta **本体の開発**に関わる方のための入口です。
---
## 🛠️ 開発者・コントリビュータの方へ
pasta 本体(パーサ・トランスパイラ・ランタイム)の開発に関わる方向けの入口です。
### ドキュメント
| ドキュメント | 説明 |
| ------------ | ---- |
| [doc/spec/](doc/spec/) | Pasta DSL 正式言語仕様(章別分割・実装判断の**権威的ソース**) |
| [GRAMMAR.md](GRAMMAR.md) | 文法クイックリファレンス(開発時の手元参照用) |
| [マニュアル デバッグ章](https://ekicyou.github.io/pasta/) ([`book/src/debug/`](book/src/debug/)) | デバッグの**権威的ソース**:有効化・VSCode 接続・`.pasta` ソースレベル操作・構造的制約と緩和策。[DEBUGGING.md](DEBUGGING.md) は本章へのリダイレクトスタブ |
| [CLAUDE.md](CLAUDE.md) | AI 開発支援・Kiro 仕様駆動開発の概要(プロジェクト指示・コマンド一覧) |
| [SOUL.md](SOUL.md) | コアバリュー・設計原則 |
| [.kiro/steering/](.kiro/steering/) | プロジェクト構造・技術スタック・開発ワークフローのステアリング |
### クレート構成
| クレート | 役割 |
| -------- | ---- |
| [pasta_dsl](crates/pasta_dsl/README.md) | DSL パーサー(Pest PEG → AST) |
| [pasta_core](crates/pasta_core/README.md) | レジストリ・ユーティリティ(言語非依存層) |
| [pasta_lua](crates/pasta_lua/README.md) | Lua トランスパイラ・ランタイム(2-pass) |
| [pasta_shiori](crates/pasta_shiori/README.md) | SHIORI DLL 統合 |
レイヤー構成:
```
Engine (上位API) → Cache/Loader
↓
Transpiler (2pass) ← Parser (pasta_dsl, Pest)
↓
Runtime (LuaJIT VM) → IR Output (ScriptEvent)
```
### クイックスタート
```bash
cargo build --workspace # ビルド
cargo test --workspace # テスト
```
前提: Rust 2024 edition / cargo。詳しいプロジェクト構造は [.kiro/steering/structure.md](.kiro/steering/structure.md) を参照してください。
### エディタ拡張
- [Pasta DSL VSCode 拡張](https://marketplace.visualstudio.com/items?itemName=ekicyou.pasta-vscode) — 構文ハイライト・LSP 連携
---
## ライセンス
[LICENSE](LICENSE) ファイルを参照してください。