specter mark 軽量モック API サーバー

specter

pronounced SPEK-ter /ˈspɛk.tɚ/ スペクター

手間の少ないモック API。YAML でルートを定義し、単一バイナリを起動するだけで、実バックエンドの完成を待たずにフロントエンド、テスト、デモを進められます。

  • YAML で定義するルートと hot reload
  • 状態管理、vars、stores、rate limit、delay、fault
  • OpenAPI 生成とバリデーション
  • VS Code 補完と組み込み Web UI
terminal
$ specter init
config.yml を作成しました

$ specter -c config.yml
registered 2 route(s):
  GET      /users
  POST     /login

UI running on http://localhost:4444
specter control room live
Requests 24
Routes 12
Stores 3
Requests
Routes
State & Vars
Stores
Auto Refresh On
config.yml
routes:
  - path: /users
    method: GET
    response:
      - id: 1
        name: Alice

  - path: /login
    method: POST
    set_state: logged_in
    response:
      token: abc123

Download

自分のワークフローに合うインストール方法を選ぶ

すべてのバイナリ

Homebrew

macOS / Linux で Homebrew を使っているなら一番手早い方法です。

curl

macOS / Linux で使える 1 コマンドのインストール方法です。

PowerShell

Windows 向けのインストーラーです。

Docker

手元の環境を汚さず、一時的なモックサーバーとして使いたいときに便利です。

How It Works

空のフォルダから実用的なモック API までの 3 ステップ

01

設定ファイルを生成

specter init

大きなバックエンドを作る前に、小さな YAML ファイルから始められます。

02

モック API を起動

specter -c config.yml

サーバーをすぐ起動し、ファイル保存ごとに hot reload しながら調整できます。

03

現実的なシナリオを作る

curl http://localhost:8080/users

状態、vars、matching、delay、fault、組み込み UI を使って必要なフローを再現できます。

Operate

アプリを作り直さずにモックを操作する

specter は、フロントエンドがバックエンドより先行している時期、決まった失敗を再現したいデモ、実バックエンドなしで API 形状を使いたいテストのために作られています。

まずは 1 つのルートから始め、必要に応じて状態遷移、OpenAPI 検証、フィルタ、ストア、組み込み UI を重ねて現実的なシナリオにできます。

1
YAML を編集

保存するとルートが再読み込みされるため、レスポンス変更をすぐ確認できます。

2
コントロール UI を使う

リクエスト確認、状態変更、ストア初期化、シナリオ操作をブラウザから行えます。

3
フロントエンド開発を止めない

本物の API が固まり切っていない間も、開発やデモを前に進められます。

Feature Set

CLI、VS Code、Docs までひとつながりで使える

config-driven な開発を、作成・検証・診断・編集補完・共有まで支える機能を GitHub Pages から確認できます。

VS Code extension

Specter config を開いた瞬間から YAML 補完と inline validation が効きます。

  • specter.yaml / specter.yml / config.yaml / config.yml に schema を関連付け
  • routes、match、stores、scenarios、OpenAPI、latency、fault profiles を補完
  • field name、enum、status code、numeric range のミスを editor 上で検出

CLI workflow

空のプロジェクトから診断、生成、記録、scenario 操作まで CLI だけで回せます。

  • specter init / examples / validate / doctor
  • OpenAPI から config 生成、request history から export
  • running server に対して scenario preset を list / apply / reset

Mock behavior

単純な固定レスポンスから stateful な E2E scenario まで広げられます。

  • state、vars、stores、seed data、persistent store
  • timeline、sequential/random responses、latency profiles、fault profiles
  • GraphQL matching、webhooks、SSE、redirects、cookies、proxy

Docs on GitHub Pages

増えてきた config surface を探しやすく、試しやすい形で整理しています。

  • docs search と copyable snippets
  • examples gallery と comparison guide
  • config reference、CLI reference、introspection API

Use Cases

バックエンド待ちの時間を、開発できる時間に変える

フロントエンド開発

API の実装前でも、画面、フォーム、error handling、empty state を作り込めます。

E2E テスト

状態、失敗、rate limit、遅延を固定し、再現性のあるテスト環境を作れます。

デモとプロトタイプ

実 backend の準備を待たず、決まったデータや失敗パターンで demo flow を確認できます。

OpenAPI mock

OpenAPI から config を生成し、request / response validation で API contract のずれを見つけられます。

Retry / failure simulation

sequential responses、on_call、error_rate、delay を使って retry や timeout を試せます。

Local integration

一部だけ real API に proxy し、それ以外を mock する hybrid な開発環境を作れます。

Security

ローカル開発向けのツールです

specter は信頼できるネットワークで使う local development tool です。追加の firewall、reverse proxy、authentication なしに public internet へ公開しないでください。

Security Policy を読む