Skip to content

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

monog

TyranoScript 向けの非公式プロジェクト管理CLIです。初期版では、新しいTyranoScriptプロジェクトを生成する monog new を提供します。

TyranoScriptおよびTyranoStudioの公式/公認ツールではありません。

必要環境

  • Node.js 26以降
  • pnpm 12以降
  • エンジン取得時のインターネット接続

開発版を使う

リポジトリを取得後、依存関係のインストールとビルドを行います。

pnpm install
pnpm build

グローバルコマンドとして使うには、リポジトリ直下で次を実行します。

pnpm add --global .

初回のみ pnpm setup を実行してシェルを再起動し、pnpmのグローバルbinディレクトリを PATH に追加してください。

pnpm setup

グローバル登録せずに試す場合は、リポジトリ直下で直接実行できます。

node dist/cli.js new my-game

生成したゲームを起動する

monog new が生成するプロジェクトには、ローカル確認用の静的HTTPサーバーが含まれます。プロジェクトへ移動して、初回だけ依存関係をインストールしてください。

cd my-game
pnpm install
pnpm dev

pnpm dev は既定のブラウザーで http://localhost:8000/ を開きます。サーバーは Ctrl+C で停止します。以後は pnpm dev だけで起動できます。index.htmlfile:// で直接開かず、HTTPサーバー経由で確認してください。

使い方

monog new <directory> [--project-id <id>] [--title <title>] [--engine-version <Gitリビジョン>] [--with-sample]

例:

monog new hello-monog --project-id hello_monog --title "Hello, monog!"
引数 説明
<directory> 新規プロジェクトの出力先。既に存在する場合はエラーになり、内容は変更しません。
--project-id <id> TyranoScriptの内部識別子。Config.tjsprojectID に設定します。省略時は出力先ディレクトリ名です。半角英数字、ハイフン、アンダースコアだけを使えます。
--title <title> ゲーム表示名。Config.tjsSystem.title に設定します。省略時はプロジェクトIDです。
--engine-version <Gitリビジョン> ShikemokuMK/tyranoscript のブランチ名、タグ、短縮SHA、完全SHAなど。省略時は master の先端です。
--with-sample 公式ダウンロードページの最新版ZIPから、サンプルシナリオ・画像・音声などの data/ を追加します。

エンジンはnpmパッケージに同梱せず、指定リビジョンをGitHubから取得します。生成時に解決した完全コミットSHAは、プロジェクトの package.jsonmonog.engine に記録されます。再現可能な生成には、そのSHAを --engine-version で指定してください。

生成されるプロジェクト

<directory>/
├── package.json
├── pnpm-lock.yaml
├── .gitignore
├── README.md                       # 起動方法を案内
├── index.html
├── tyrano/                         # 指定リビジョンのTyranoエンジン
│   └── ...
└── data/
    ├── scenario/
    │   └── first.ks                # Hello Worldシナリオ
    └── system/
        ├── Config.tjs
        └── KeyConfig.js

--with-sample を指定した場合は、公式ZIP由来のサンプル用 data/ が追加されます。エンジン本体と index.html は指定したGitHubリビジョンから取得し、ZIP内のエンジンは使用しません。取得したZIPのURLとSHA-256は生成先 package.jsonmonog.sample に記録します。ZIPは生成処理中だけ一時保存し、キャッシュしません。

公式サンプルのシナリオ、画像、音声などの素材は生成しません。エンジンの取得・展開・検証は一時領域で行い、成功時だけ出力先へ配置します。

開発

pnpm test

依存関係を更新する場合は、テスト後に package.jsonpnpm-lock.yaml の差分を確認してください。

pnpm update --latest
pnpm test

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages