next2d-development-mcp 1.1.0 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -7
- package/dist/references/player-specs.md +36 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
# next2d-development-mcp
|
|
2
2
|
|
|
3
|
-
<div align="center">
|
|
4
|
-
<img src="https://github.com/Next2D/next2d-development-mcp/raw/main/icon.png" width="180" alt="Next2D">
|
|
5
|
-
</div>
|
|
6
|
-
|
|
7
3
|
[](https://github.com/Next2D/next2d-development-mcp/actions/workflows/integration.yml)
|
|
8
4
|
[](https://github.com/Next2D/next2d-development-mcp/actions/workflows/github-code-scanning/codeql)
|
|
9
5
|
[](https://github.com/Next2D/next2d-development-mcp/actions/workflows/lint.yml)
|
|
@@ -27,6 +23,7 @@ Provides code generation, architecture validation, and API reference following *
|
|
|
27
23
|
- [Resources / リソース](#resources--リソース)
|
|
28
24
|
- [Prompts / プロンプト](#prompts--プロンプト)
|
|
29
25
|
- [サポートするアーキテクチャ / Supported Architecture](#サポートするアーキテクチャ--supported-architecture)
|
|
26
|
+
- [関連リンク / Related Links](#関連リンク--related-links)
|
|
30
27
|
- [License](#license)
|
|
31
28
|
|
|
32
29
|
---
|
|
@@ -43,11 +40,15 @@ This MCP server provides the following capabilities to AI agents:
|
|
|
43
40
|
|
|
44
41
|
| 機能 / Feature | 説明 / Description |
|
|
45
42
|
|---|---|
|
|
46
|
-
| **コード生成** | View/ViewModel, UseCase, Repository, UI コンポーネント, Interface のスキャフォールディング |
|
|
43
|
+
| **コード生成** | View/ViewModel, UseCase, Repository, UI コンポーネント, Interface, Animation, Domain Service のスキャフォールディング |
|
|
47
44
|
| **ルーティング設定** | routing.json へのルートエントリ生成 |
|
|
48
45
|
| **アーキテクチャ検証** | プロジェクト構造の Clean Architecture 準拠チェック |
|
|
46
|
+
| **プロジェクト分析** | 実装済みファイルのスキャンと未実装箇所のレポート |
|
|
47
|
+
| **画面インスペクション** | 特定画面の全関連ファイルの一覧と実装状況の確認 |
|
|
48
|
+
| **実装計画生成** | 既存ファイルをスキップしつつ新規画面の順序付き実装ステップを生成 |
|
|
49
49
|
| **API リファレンス** | Player API, Framework 仕様, 開発テンプレート仕様の提供 |
|
|
50
50
|
| **開発ガイド** | 画面追加手順, コーディング規約, デバッグガイドの提供 |
|
|
51
|
+
| **オーケストレーター** | 新規画面作成・既存画面修正をフェーズ別に自律実行 |
|
|
51
52
|
|
|
52
53
|
---
|
|
53
54
|
|
|
@@ -256,14 +257,32 @@ args: -y next2d-development-mcp
|
|
|
256
257
|
|
|
257
258
|
## Tools / ツール
|
|
258
259
|
|
|
260
|
+
### オーケストレーション系 / Orchestration
|
|
261
|
+
|
|
262
|
+
| Tool | Description |
|
|
263
|
+
|---|---|
|
|
264
|
+
| `analyze_project` | routing.json をスキャンし、View/ViewModel/UseCase/Repository の実装状況を一覧表示。新機能追加前の現状把握に使用 |
|
|
265
|
+
| `inspect_screen` | 特定画面の全関連ファイル (View, ViewModel, Page, UseCase, Repository, Animation, Content) をファイル行数付きで一覧表示。既存画面修正前に使用 |
|
|
266
|
+
| `plan_feature` | 新規画面の実装ステップを順序付きで生成。既存ファイルは ✅ としてスキップ。`analyze_project` 実行後に使用 |
|
|
267
|
+
|
|
268
|
+
### コード生成系 / Code Generation
|
|
269
|
+
|
|
259
270
|
| Tool | Description |
|
|
260
271
|
|---|---|
|
|
261
272
|
| `create_view` | View/ViewModel ペアを生成 (MVVM パターン)。`name` にルートパスを指定 (例: `home`, `quest/list`) |
|
|
262
273
|
| `create_usecase` | UseCase クラスを生成 (Application 層)。1 アクション = 1 UseCase、`execute()` がエントリーポイント |
|
|
263
274
|
| `create_repository` | Repository クラスを生成 (Infrastructure 層)。try-catch 必須、config からエンドポイント取得 |
|
|
264
275
|
| `create_ui_component` | Atomic Design UI コンポーネント生成 (`atom` / `molecule` / `organism` / `page` / `content`) |
|
|
276
|
+
| `create_animation` | UI トランジション用 Animation クラスを生成。`@next2d/ui` の Tween/Easing/Job を使用。`src/ui/animation/{screen}/` に配置 |
|
|
277
|
+
| `create_domain_service` | Domain 層クラス (Service または Callback) を生成。Service はコアビジネスロジック、Callback は gotoView 完了後に実行 |
|
|
278
|
+
| `create_loading` | ローディング画面クラスを生成。`start()` / `end()` メソッドを持ち、config.json の `loading.callback` で登録 |
|
|
265
279
|
| `add_route` | routing.json へのルートエントリ生成。リクエスト設定 (`json` / `content` / `custom` / `cluster`) に対応 |
|
|
266
280
|
| `create_interface` | TypeScript インターフェースファイル生成 (`I` プレフィックス規約に準拠) |
|
|
281
|
+
|
|
282
|
+
### アーキテクチャ検証 / Architecture Validation
|
|
283
|
+
|
|
284
|
+
| Tool | Description |
|
|
285
|
+
|---|---|
|
|
267
286
|
| `validate_architecture` | プロジェクト構造の検証。ディレクトリ構成、設定ファイル、routing.json ↔ View の整合性をチェック |
|
|
268
287
|
|
|
269
288
|
### ツール使用例 / Tool Usage Example
|
|
@@ -275,7 +294,7 @@ Next2Dプロジェクトに「quest/list」画面を追加して。
|
|
|
275
294
|
APIからクエスト一覧を取得して表示するようにして。
|
|
276
295
|
```
|
|
277
296
|
|
|
278
|
-
|
|
297
|
+
オーケストレーターモードでは `analyze_project` → `plan_feature` → `add_route` → `create_view` → `create_usecase` → `create_repository` → `create_interface` → `create_ui_component` → `create_animation` → `validate_architecture` を自律的に実行し、必要なファイルをすべて生成します。
|
|
279
298
|
|
|
280
299
|
---
|
|
281
300
|
|
|
@@ -294,10 +313,24 @@ APIからクエスト一覧を取得して表示するようにして。
|
|
|
294
313
|
|
|
295
314
|
| Prompt | Parameters | Description |
|
|
296
315
|
|---|---|---|
|
|
316
|
+
| `orchestrate` | `task`, `screenPath`, `mode` | オーケストレーターモードを起動。`mode: "create"` で新規画面作成、`mode: "modify"` で既存画面修正のフェーズ別ワークフローを実行 |
|
|
297
317
|
| `new-screen` | `screenName`, `hasApi?`, `hasAnimation?` | 新しい画面追加のステップバイステップガイド |
|
|
298
318
|
| `architecture-guide` | — | アーキテクチャルールとコーディング規約のリファレンス |
|
|
299
319
|
| `debug-help` | `issue` | よくある問題のデバッグのヒントとトラブルシューティング |
|
|
300
320
|
|
|
321
|
+
### orchestrate プロンプトの使用例 / Orchestrate Prompt Example
|
|
322
|
+
|
|
323
|
+
```
|
|
324
|
+
# 新規画面作成
|
|
325
|
+
orchestrate(task="クエスト一覧画面を追加", screenPath="quest/list", mode="create")
|
|
326
|
+
|
|
327
|
+
# 既存画面修正
|
|
328
|
+
orchestrate(task="ホーム画面に検索機能を追加", screenPath="home", mode="modify")
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
`create` モードでは `analyze_project` → `plan_feature` → 実装 → `validate_architecture` の順に実行します。
|
|
332
|
+
`modify` モードでは `inspect_screen` → 対象ファイル Read → 最小変更 → `validate_architecture` の順に実行します。
|
|
333
|
+
|
|
301
334
|
---
|
|
302
335
|
|
|
303
336
|
## サポートするアーキテクチャ / Supported Architecture
|
|
@@ -308,9 +341,14 @@ src/
|
|
|
308
341
|
├── interface/ # インターフェース定義 (I プレフィックス)
|
|
309
342
|
├── model/
|
|
310
343
|
│ ├── application/ # UseCase (ビジネスロジック)
|
|
311
|
-
│ ├── domain/
|
|
344
|
+
│ ├── domain/
|
|
345
|
+
│ │ └── callback/ # gotoView Callback / Loading クラス
|
|
346
|
+
│ │ └── {name}/
|
|
347
|
+
│ │ └── service/ # Domain Service (純粋ビジネスロジック)
|
|
312
348
|
│ └── infrastructure/ # Repository (データアクセス)
|
|
313
349
|
├── ui/
|
|
350
|
+
│ ├── animation/ # UI トランジション Animation クラス
|
|
351
|
+
│ │ └── {screen}/ # 画面別ディレクトリ
|
|
314
352
|
│ ├── component/
|
|
315
353
|
│ │ ├── atom/ # 最小コンポーネント
|
|
316
354
|
│ │ ├── molecule/ # 複合コンポーネント
|
|
@@ -2241,6 +2241,42 @@ textField.replaceText("Next2D", 6, 11);
|
|
|
2241
2241
|
stage.addChild(textField);
|
|
2242
2242
|
```
|
|
2243
2243
|
|
|
2244
|
+
### RPGゲーム風台詞アニメーション(stopIndex)
|
|
2245
|
+
|
|
2246
|
+
`stopIndex` を使うと、テキストを先頭から順番に表示するタイプライター効果を実現できます。
|
|
2247
|
+
RPGゲームの台詞ウィンドウのような演出に適しています。
|
|
2248
|
+
`stopIndex` のデフォルト値は `-1`(全文字を表示)で、`0` にすると文字が非表示になります。
|
|
2249
|
+
|
|
2250
|
+
```typescript
|
|
2251
|
+
const { TextField } = next2d.text;
|
|
2252
|
+
const { Tween, Job } = next2d.ui;
|
|
2253
|
+
|
|
2254
|
+
const textField = new TextField();
|
|
2255
|
+
textField.width = 300;
|
|
2256
|
+
textField.height = 80;
|
|
2257
|
+
textField.multiline = true;
|
|
2258
|
+
textField.wordWrap = true;
|
|
2259
|
+
textField.text = "勇者よ、魔王を倒してくれ!世界の命運はそなたにかかっている。";
|
|
2260
|
+
|
|
2261
|
+
stage.addChild(textField);
|
|
2262
|
+
|
|
2263
|
+
// stopIndex を 0 → text.length まで 5秒かけてアニメーション(0.5秒の遅延あり)
|
|
2264
|
+
const job = Tween.add(
|
|
2265
|
+
textField,
|
|
2266
|
+
{ stopIndex: 0 },
|
|
2267
|
+
{ stopIndex: textField.text.length },
|
|
2268
|
+
0.5,
|
|
2269
|
+
5
|
|
2270
|
+
);
|
|
2271
|
+
|
|
2272
|
+
// 表示完了後のコールバック
|
|
2273
|
+
job.addEventListener(Job.COMPLETE, () => {
|
|
2274
|
+
console.log("台詞表示完了");
|
|
2275
|
+
});
|
|
2276
|
+
|
|
2277
|
+
job.start();
|
|
2278
|
+
```
|
|
2279
|
+
|
|
2244
2280
|
## イベント
|
|
2245
2281
|
|
|
2246
2282
|
| イベント | 説明 |
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "next2d-development-mcp",
|
|
3
3
|
"displayName": "Next2D Development MCP",
|
|
4
|
-
"version": "1.1.
|
|
4
|
+
"version": "1.1.2",
|
|
5
5
|
"description": "MCP server for Next2D application development assistance",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"author": "Toshiyuki Ienaga <ienaga@next2d.app>",
|