Browserflow を始めるには、クローン、インストール、そして scaffold コマンドが1つあれば十分です。プロビジョニングするものも、サインアップするサービスもありません。このエンジンは、まずローカルで動くライブラリとバイナリであり、その後もポータブルなままです。
@browserflow/cli はまだ npm に公開されていません。このモノレポ内の workspace package です。registry に公開されるまでは、npx browserflow ... は 404 になります。それまでは、以下に示すように repo をクローンし、workspace の browserflow binary を直接使ってください。

前提条件

toolchain は pnpm + Bun のモノレポで、browserflow binary が入口です。実行するには動作する Node/Bun toolchain が必要で、browser tools を作成または実行する場合はローカルの Chromium も必要です。
必要なもの必要な理由
Node / Bun toolchainbrowserflow binary と TypeScript SDK を実行します。toolchain は mise で固定されています。
Local Chromiumbrowser capability を支えます。browser tool を record し、runtime で決定論的にリプレイするために必要です。
Local filesystem + SQLiteインフラゼロのデフォルトです。実行状態には SQLite、artifacts とシークレットには filesystem を使います。外部サービスは不要です。
browserflow は local-first, cloud-optional(tenet T6)です。すべてがインフラゼロで動きます。状態には SQLite、artifacts には filesystem、シークレットにはファイルを使います。後でスケールアウトしても、入れ替わるのは実装であって概念ではありません。

インストールと scaffold

日常的な inner loop は、1秒未満で、かつ決して破壊的でないように設計されています。まずモノレポをクローンし、scaffold step を実行します。
1

クローンしてインストールする

repository をクローンし、pnpm で workspace をインストールします。これにより packages/clibrowserflow binary がリンクされます。個別の publish step は不要です。
git clone https://github.com/carnot-tech/jinba-trail-app
cd jinba-trail-app
pnpm install
@browserflow/cli が npm に公開されると、先にこの repo をクローンしなくても、npx browserflow init で任意のディレクトリにプロジェクトを scaffold できるようになります。それまでは、以下のコマンドはクローン済み workspace の中から実行します。
2

プロジェクトを scaffold する

init を一度実行して、プロジェクトの骨組みを作成します。
browserflow init
これにより、すべてのプロジェクトに必要な3つのものが作成されます。
パス含まれるもの
flows/TypeScript(SDK)または YAML で作成する Flow 定義。
tools/browserflow record で作成する browser Recordings を含む、ローカル tool sources。
browserflow.locktool と pack のバージョンを固定する lockfile。これにより、どこで install してもバイト単位で同一の tools が取得されます。
生成された artifacts(コンパイル済み FlowSpecs、run outputs、Journals、Recordings)は、デフォルトで gitignored かつ再生成可能な out/ ディレクトリに置かれます。生成物は、固定することを選ばない限りコミットされません(たとえば、CI fixture として保持する Journal など)。
3

インストールを検証する

starter Flow に対して compile check を実行し、toolchain が動作していることを確認します。
browserflow compile flows/hello.yaml --check
--check は pure operation です。Flow を type-check し、browserflow.lock に照らして tools を resolve し、FlowSpec digest を出力します。network calls も side effects もありません。digest が出力されれば、toolchain の準備は完了です。
4

最初の browser tool を作成する(任意)

browser capability を使うには、準備済みの ops file から browser tool を作成します。--ops flag は、record する操作を列挙した JSON file を受け取ります。
browserflow record --name search-price \
  --task "Search a product, read the first price" \
  --ops path/to/ops.json \
  --input query:string
この Recording は、Flow に組み込む決定論的な tool になります。Live interactive Playwright capture は計画中です。現在の実装は file から ops を読み込みます。
5

Flow を実行する

flows/ 配下で Flow を接続したら、ローカルで実行します。デフォルトでは、run はこれから実行する外向きの effects を要約し、最初の effect が発火する前に一度だけ確認します。
browserflow run flows/price.yaml --input query="wireless headphones"
次に、何が起きたかを正確に確認します。timeline、すべての手順、そして Journal を確認できます。
browserflow inspect $(browserflow runs last)
canonical な daily-price-watch Flow は、browser tool search-price@1.2.0 を実行し、transform を適用し、条件付きでシークレット webhook に http.post を発火します。1つの文から、決定論的で、inspect 可能で、再デプロイ可能な workflow へ。実行時の loop に AI は入りません。
secret: true とマークされた inputs(cookies、tokens、webhook URL)は、FlowSpec、Journal、log、公開済み Pack のいずれにも入りません。値は、secrets capability を宣言した step の内部でのみ、かつ実行時にのみ resolve されます(tenet T8)。シークレットは、logs、inspect、errors、--dry plans のすべての stream で masked されます。

プロジェクトの構造

browserflow は、1つのモノレポ内で独立してバージョン管理される packages の集合として提供されます。多くの場合、それらの大半を直接触ることはありません。browserflow CLI が残り全体の composition root です。それでも layout を知っておくと、システムを理解しやすくなります。
packages/
  core/        FlowSpec, Tool contract, compiler, Rider, Journal  (エンジン)
  sdk/         fluent builder (method chaining) → FlowSpec
  yaml/        YAML parser + canonical emitter (round-trip)
  std/         standard tool packs: http, transform, shell, fs, control, model
  browser/     browser tool: record (author-time) + replay (runtime)
  cli/         `browserflow` binary (上記全体の composition root)
  registry/    pack format, publish/resolve, replication, browserflow.lock
  web-api/     Hono on Bun control-plane API (registry, runs, schedules, secrets)
apps/
  web/         Next.js run inspector + canvas/YAML editor
パッケージ役割
coreエンジンです。FlowSpec、Tool contract、compiler、Rider、Journal を含みます。自身の interfaces 以外には依存しません。
sdkFlowSpec に lower する、fluent で type-safe な TypeScript builder です。
yamlYAML parser と canonical emitter です。round-trip surface でもあります。
stdStandard tool packs です。httptransformshellfscontrolmodel を含みます。
browserbrowser tool です。author-time の record と、決定論的な runtime replay を提供します。
cli上記すべてを合成した browserflow binary です。
registryPack format、publish/resolve、replication、そして browserflow.lock lockfile を扱います。
web-api任意で使える control-plane HTTP API です(Hono on Bun、SQLite-backed)。
依存の矢印は常に内側の core を向きます。 core は自身の interfaces 以外に依存しません。sdkyamlcore に依存し、それ以外のすべては内向きに依存します。矢印が core から外へ向くことはありません。エンジンは cloud SDK、transport、model を import しません(tenets T4T5)。これにより、Flow はどこでもポータブルで再現可能に保たれます。

次のステップ

クイックスタート

最初の5分で、init から実行中かつ inspect 可能な Flow まで進みます。

最初の Flow を作成する

daily-price-watch Flow を end to end で構築します。browser tool、transform、conditional webhook を含みます。