Skip to content

hatake業務画面を「定義」で作る

検索・一覧・CRUD・入力フォーム・帳票・ダッシュボード。UI コードではなく YAML を書く。Flutter は描画に使う実装技術であって、書く対象ではない。

定義1枚で、この画面ができる

一覧・並べ替え・行の編集削除・入力フォーム・必須チェックまで、これで全部。Dart は1行も書かない。

yaml
# yaml-language-server: $schema=https://github.com/ASIL-E-Hatake/hatake/raw/main/spec/hatake-page.schema.json
# hatake — MasterPage example: 部門マスタ (Department master)
dsl_version: "1.0"

page:
  type: master
  id: dept_master
  title: 部門マスタ
  repository: deptRepository
  key: code

  table:
    rowActions: [edit, delete]
    columns:
      - { field: code, label: 部門コード, sortable: true }
      - { field: name, label: 部門名 }

  form:
    sections:
      - title: 基本情報
        fields:
          - { field: code, label: 部門コード, type: text, required: true }
          - { field: name, label: 部門名,     type: text, required: true }

  actions:
    - { id: create, type: create, label: 新規登録 }

書いたら推測で終わらせずに検証する。知らないキーは黙って捨てられるので、「書いた気になって効いていない」を防ぐのはこれ。

bash
npx hatake validate dept_master.yaml

何がどこまでやるのか

定義から画面まで

人と AI が書くのは定義だけ。PageDefinition が唯一の正で、Renderer は業務を知らない。 データの流れと層の責務も 図解 にある。

インストールせずに触る

上の YAML を貼って、その場で画面にできる場がある。プレイグラウンド

  • 直すとその場で描き変わる。データは定義から作った仮のもの(Repository を書かなくていい)
  • 綴りを間違えたらその場で理由が出るsortblesortable の間違い?
  • 作った定義は URL で渡せる(?yaml= に載る)ので、そのままレビューに貼れる

ブラウザだけで動く(Flutter Web)。インストールも登録も要らない。

次にどこを見るか

やりたいこと行き先
「こうしたい」から書き方を引く機能別の書き方
全体像を絵で見る図解
動いている画面を触るデモ
自分で書いた定義を試すプレイグラウンド
自分の AI に hatake を書かせるAI に書かせる
導入手順・仕組み・写経用サンプルGitHub のドキュメント

この Framework が持たないもの

業務ロジック、ワークフローエンジン、DB、認証、認可、バックエンド API、ORM。持たないと決めているので、そこは普通に自分のコードで書く。境界は 仕組みと責務分担 にある。