Agent skill · software engineering · affaan-m
tinystruct-patterns
tinystruct Java フレームワークで開発する際の専門ガイダンス。tinystruct コードベース、または tinystruct 上に構築されたあらゆるプロジェクトで作業する際に使用します — プロジェクトに存在しない場合の bin/dispatcher・bin/dispatcher.cmd 起動スクリプトの生成、Application クラスの作成、@Action によるルート定義、ユニットテスト、ActionRegistry、HTTP/CLI デュアルモード対応、組み込み HTTP サーバー、イベントシステム、Builder/Builders による JSON 処理、AbstractData によるデータベース永続化、POJO 生成、Server-Sent Events (SSE)、ファイルアップロード、アウトバウンド HTTP 通信を含みます。
Why this skill is useful
Provides specific implementation patterns and examples for building applications with the tinystruct framework that the AI wouldn't reliably generate on its own.
What it needs
About 6k tokens when loaded. Last updated 2026-08-06. 238,342 stars on the source repository.
What this skill does
tinystruct 開発パターン tinystruct Java フレームワークを使用してモジュールをビルドするためのアーキテクチャと実装パターン。CLI と HTTP を等しく扱う軽量・高性能なフレームワークで、main() メソッドを必要とせず、最小限の設定で動作します。 コア原則 CLI と HTTP は等しい市民(equal citizens)です。 トランスポート中立な @Action は Mode.DEFAULT を使用するか mode を省略し、HTTP専用の依存関係を持たないものです。このようなアクションはターミナルとWebブラウザの両方から実行できます。Mode.DEFAULT はトランスポートの制限をなくすだけで、HTTPに依存するメソッドをCLI対応にするものではありません。Request と Response の引数はHTTPコンテキスト属性から供給されるため、通常のCLI呼び出しのようにその属性がなければ null のままです。共有ロジックはHTTPオブジェクト、セッション、アップロードに依存させず、必要に応じてトランスポート固有のエントリポイントから呼び出してください。この「デュアルモード」対応能力が tinystruct のコア設計思想です。トランスポート固有のモード(Mode.CLI、Mode.HTTPGET、Mode.HTTPPOST など)を持つアクションは意図的にそのトランスポートに限定されており、もう一方から呼び出すとフレームワークは "The action is not allowed to be executed." で拒否します。 主要な開発ツール:bin/dispatcher bin/dispatcher は tinystruct アプリケーションを開発・実行・テスト・デバッグするためのデフォルトかつ最優先のツールです — IDE の実行構成、手書きの main()、curl、ブラウザよりも先にこれを使ってください。 トランスポート中立な @Action メソッドは設計上デュアルモードであるため、bin/dispatcher を使うことでサーバーやブラウザを必要とせず、ターミナルから直接ルーティング・引数バインディング・ビジネスロジックを、最速のフィードバックループで検証できます。HTTPメソッドに限定されたアクション(Mode.HTTPPOST、Mode.HTTPGET など)は bin/dispatcher からは呼び出せないため、起動中のサーバーに対してHTTPクライアントでテストしてください。 このワークフローをデフォルトにしてください:トランスポート中立な @Action を実装したら、bin/dispatcher <action> ですぐに実行して CLI モードで正しく動作することを確認し、Web向けのパス(例:mode = Mode.HTTPPOST、セッション、ファイルアップロードなど)を検証する必要があるときだけ HTTP サーバー(これも bin/dispatcher start ... で)を起動します。HTTP専用のアクションではCLIの手順を省略してHTTPでテストし、Mode.CLI のアクションではサーバーは不要です。アプリのエントリポイントとして main(String[] args) を決してハードコードしないでください — bin/dispatcher(Windows では bin/dispatcher.cmd)がすべてのモジュールの唯一のエントリポイントです。 bin/dispatcher と bin/dispatcher.cmd の生成 すべての tinystruct プロジェクトは bin/ に起動スクリプトを必要とします。フレームワークがこれを生成します — 手で書いたり、他のプロジェクトからコピーしたり、main() で代用したりしないでください。 ApplicationManager.init() は、起動スクリプトが存在しない場合、tinystruct jar 内のテンプレートからそのjarのバージョンを埋め込んだ、実行中のOS用のスクリプトを作業ディレクトリ配下の bin/ に書き出します。改行コードと実行権限はすでに正しく設定されています。 1. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills affaan-m/tinystruct-patterns