ゼロコンフィグ設計
設定なしでも十分に動作し、必要に応じて段階的にカスタマイズできる設計思想。「Convention over Configuration」(設定より規約)とも重なる概念。
核心的なアイデア
デフォルト値を限りなく賢くすることで、ユーザーが「何もしなくても使える」状態を実現する。初期摩擦を最小化し、価値を即座に体感できるようにする。
設計上のポイント
デフォルトの高品質化
「デフォルトが十分に高品質であること」が前提。安全でない・不便なデフォルトを設定なしに使わせるのはゼロコンフィグではない。
段階的なカスタマイズ
- 使い始めは設定不要
- 物足りなくなったら設定を追加
- 設定の複雑さは段階的に増加(急激に難しくならない)
プラットフォーム慣例への準拠
ユーザーがすでに知っている慣例(OSのキーバインドなど)に従うことで、学習コストをゼロにする。プラットフォームネイティブUIとの親和性が高い。
具体例
- Ghostty:Nerd Fontsがデフォルト有効、OSのキーボードショートカットがそのまま動作
- Ruby on Rails:設定より規約(MVC構造、ディレクトリ構成が自動)
- Tailscale:インストールするだけで繋がるVPN
- Next.js:ファイルベースルーティング(設定なしで動作)
カスタマイズとのバランス
「ゼロコンフィグ」と「高いカスタマイズ性」は矛盾しない。Ghosttyのような設計では、シンプルなキー・バリュー形式の設定ファイルで、必要に応じて細かく調整できる。重要なのは「設定しなければ動かない」という状況を排除すること。
ドキュメントとの関係
ゼロコンフィグに成功したツールは、ドキュメントを読まなくても使い始められる。逆に言えば、ドキュメントを読まないと使えないツールは、ゼロコンフィグを達成できていない。