今日の優良食堂
実際に入れて動かして書いた、今日の一膳
ギット飯が代わりに導入・実行・コードまで確かめました
今日の優良食堂 · ギット飯が代わりに導入・分析

encoredev/encore

ローカルからクラウドまで、コードから自動生成されるインフラで、本番環境を素早く構築・検証できるプラットフォームです。

ローカルで`encore run`するだけで、PostgresやNSQが実際に立ち上がり、Terraformの設定ファイルを書く前にAPIの動作をその場で確認できます。同じGo・TypeScriptのコードは、そのままAWSのRDSやSNS+SQSに対応するため、デプロイ前の検証ループは数分単位で終わります。PRごとの一時環境と分散トレーシングも付くので、AIコーディングエージェントが変更を加えた直後でも、実インフラ上での動作確認を自分の手で今すぐ試せます。

01 / 概要
何をするものか一文で言うと
ひとことでローカルからクラウドまで、コードから自動生成されるインフラで、本番環境を素早く構築・検証できるプラットフォームです。

Encoreは、TypeScriptやGoのSDKでデータベースやPub/Subなどのインフラをコードとして宣言し、CLIでローカル実行してからAWSやGCPへ自動デプロイするオープンソース基盤です。リポジトリにはCLI本体に加えてCLIデーモン、Rust製のTSパーサー、MCPツール群が含まれ、AIコーディングエージェントとの連携も前提に作られています。

02 / 構造
どう動くのか中核のしくみ
読み方動きの流れを図と一緒にほどきました。

SQLDatabaseやTopicやBucketなどのクラスをSDKからインポートし、宣言するだけでアプリケーショングラフのノードになります。`encore run`を叩くとcli/cmd/encoreのコマンドがcli/daemonのバックグラウンドデーモンへ指示を送ります。続いてdaemon/sqldb/docker.goはPostgresコンテナを起動し、daemon/pubsub/nsq.goはNSQを、daemon/redis.goはRedisを立ち上げます。TypeScriptのソース解析はswcベースのRust製tsparserが担い、Cargo.tomlのワークスペースにはruntimes/coreやsupervisorなどのRustクレートが含まれています。取得したグラフはcli/daemon/dashのローカルダッシュボードや、trace2/sqliteのトレース記録へ渡されます。デプロイ時はgit-remote-encore経由でpushすると、プラットフォーム側がグラフとクラウド環境を比較し、不足リソースをAWSやGCPに構築します。さらにcli/daemon/mcp以下にはapi_tools.goやdb_tools.goなどのMCPツールが実装され、AIエージェントがAPIやDBやトレースを操作できる窓口になっています。

03 / 体験
入れるとこんな体験になりますギット飯が実際にたどった順序
所要ギット飯が実際に導入・実行しながらたどった順序です。
  1. STEP 01

    インストールスクリプトでencore CLIを導入し、`encore app create`を実行すると対話式のTUIが起動し、言語やテンプレートの選択とアプリ名の入力を求められます。

  2. STEP 02

    `encore run`を実行すると、cli/daemonのバックグラウンドデーモンがDocker経由でPostgresコンテナを立ち上げ、起動ログに各サービスの状態が流れます。

  3. STEP 03

    ブラウザでlocalhost:9400のローカルダッシュボードを開くと、サービス間呼び出しの依存グラフと分散トレーシングの画面が表示されます。

  4. STEP 04

    コードを編集するとcli/daemon/run/watch.goのファイル監視でホットリロードがかかり、再実行のたびにトレースが新しく記録されます。

  5. STEP 05

    クラウドへのデプロイを試すと`encore app create`時にEncore Cloudアカウントへのログインを促す画面が出て、未ログインだと先に進めません。

  6. STEP 06

    MCPを有効にしたエディタからcli/daemon/mcp以下のツールを呼ぶと、APIやDBのスキーマやログをエージェントが直接取得できます。

04 / 成果物
何が手に入るのか導入後に手元に残るもの

手元で得られるのは、実物のPostgresやNSQやRedisが動くローカル開発環境と、サービス依存グラフとトレースを見せるダッシュボードです。コード上の宣言からインフラが自動構築される過程と、MCPツールでAIエージェントがAPIやDBを操作できる仕組みをソースから確認できます。ただしAWSやGCPへの実デプロイ結果はEncore Cloudアカウントとクラウド認証が必要なため、OSS部分だけでは最後まで到達できません。

05 / 注意
ここは先に知っておいてください先に知っておくとよいこと
正直なところ誰にでも合うとは言いにくいところです。
01

本体はGoとRustの混成で、tsparserやruntimes/coreなどのRustクレートも含むため、ビルド環境の構築はdevcontainer前提でやや重めです。

02

本番相当のクラウド構築まで検証するにはEncore Cloudアカウントの作成とAWSまたはGCPの認証設定が必須で、CLI単体では完結しません。

03

ローカルのPub/SubはNSQ、キャッシュはRedisで代替しており、README記載の本番サービスであるSNS+SQSやElastiCacheとは挙動差が残る可能性があります。

06 / 結論
ギット飯の結論食べてみる価値のある一膳か
ギット飯の最終判断優良食堂

バックエンドのインフラ定義をコードに統合し、ローカルで即検証してからクラウドへ出したいチームや、AIエージェントに実インフラを触らせたい開発者に向きます。cli/daemon/mcp以下のapi_tools.goやdb_tools.goなど実装済みのMCPツール群、sqldb/docker.goやpubsub/nsq.goといった具体的なローカルインフラ構築コードがソースから確認できるため、README記載の挙動は絵空事ではないと判断できます。一方でクラウド部分の最終結果はアカウントと認証が前提となり、この場では直接確認できていません。

今日の残りの一膳
SUBSCRIBER LIBRARY
これまでに検証した優良食堂を一堂に

4 つの関門を通った優良食堂がすべてバックナンバーに集まっています。いちばん新しい一膳はどなたでも無料で読め、それより前の優良食堂の検証の根拠・詳しい解説は ギット飯 プレミアムのご購読ですでに開いています。

優良食堂バックナンバー →
リポジトリ詳細🧪 ひと言で味見する