Ikeraq

Fission-AI/OpenSpec

AIにコードを書かせる前に、何を作るかを文書で決めておく

MIT · 商用可 TypeScript ★ 72,334 (今日 +85) 昨日 更新
GitHub で見る Fission-AI/OpenSpec
GitHub の説明(原文)
Spec-driven development (SDD) for AI coding assistants.

どういうものか

AI にコードを書かせるとき、「何を作るか」はたいていチャットの履歴の中だけにある。OpenSpec は、そこに仕様の層をひとつ足す道具で、コードが書かれる前に人間と AI が合意するところを作業の中心に置く。README はこれを「要件がチャット履歴の中にしか無い状態」への対処だと説明している。書かれている言語は TypeScript、ライセンスは MIT。

入れるのと更新するのは CLI(openspec init など)で、日々の入口はコーディング支援ツール側のスラッシュコマンドになる。/opsx:explore で何を作るか相談し、/opsx:propose で変更ひとつぶんのフォルダを作る。中には提案・要件・設計・タスクの4つが入る。要件はふつうの Markdown で書かれ、覚える独自の記法は無いと README は書いている。書き方は「〜する」という文と、「こうしたとき、こうなる」という場面の組になっている。そのまま /opsx:apply で実装し、/opsx:archive でその変更をしまうと、決まった内容が仕様の側に反映される。

コマンドの呼び名は使う道具によって綴りが変わり(/opsx-propose や @opsx-propose など)、初期化のときに自分の道具に合った形が表示される。README は対応を「30種類以上」と書いている。チーム向けには Stores という仕組みがあり、計画だけを別のリポジトリに置いて複数のリポジトリから参照する使い方ができる。ただしこちらはベータと明記されている。

コードの前に、変更ごとの文書を作る 相談する (どう作るか、先に話す) 提案する (変更フォルダが1つできる) 実装する (タスクを順に消す) しまう (仕様に反映して保管) 変更フォルダの中身:提案・要件・設計・タスク(すべてMarkdown) 次の機能に進んでも、決めたことはチャットではなく仕様に残る
効いてくるのは2回目以降。前の変更で決めたことが仕様として残るので、次の相談を同じ土台から始められる。

どんなときに使うか

決めたはずのことが、チャットの履歴に埋もれるとき

やり取りの中で決めた仕様は、会話を閉じた時点で追いにくくなる。OpenSpec は変更ごとにフォルダを切り、提案・要件・設計・タスクをファイルとして残す。リポジトリの中に置かれるので、次に開いた AI も同じものを読める。

複数のリポジトリにまたがる機能を、先に決めたいとき

API とアプリと共通部品に分かれている場合、計画だけを別リポジトリ(Stores)に置いて、各リポジトリから参照する形が取れる。README は「コードが3つのリポジトリに分かれても、計画はひとつ」と説明している。ただしベータ扱いなので、重要な案件でいきなり頼るのは早い。

注意点

Stores はまだベータ。 README 自身がそう書いている。チームで使う前提の機能なので、動かなくなったときの影響も人数ぶんになる。まずは1リポジトリでの使い方から始めるほうが安全だ。

枠が緩いぶん、進め方は自分で持つことになる。 OpenSpec は、工程ごとに関門を置くやり方(README は Spec Kit をその例に挙げている)と対比して、どの文書もいつでも直せることを利点として挙げている。裏を返せば、どこまで決まったかを管理するのは書き手の側だということでもある。

モデルと文脈の条件が付く。 README は推論の強いモデルを勧め、実装に入る前に文脈(コンテキスト)を空にしておくことを勧めている。手元の道具立てによって、同じようには動かない可能性がある。

匿名の利用統計が既定で送られる。 送るのはコマンド名と版だけで、引数やパスや中身は含まないと明記されている。設定か環境変数で止められる。動かすのに Node.js 20.19.0 以上が要る。ライセンスは MIT。

開発の様子

1.2 年
公開してからの期間。2025-08-05 が最初のコミットです
46 回
リリースの回数です
103 人
開発に参加した人数です
1 日前
最後のコミットです
193 件
未解決の Issue とプルリクエストの合計です(GitHub はこの2つを同じ数に含めます)

ほかの候補

github/spec-kit
思いつきの指示をやめ、仕様書を正本にしてAIに作らせる
obra/superpowers
思いつきで書き始めさせず、設計から合流までの手順を毎回踏ませる
headroomlabs-ai/headroom
エージェントが読むログや検索結果を手元で圧縮してから、モデルに渡す
X で共有 この記事がよかったら

この記事の更新日は 2026-09-18 です。 内容は公開されている README と GitHub のデータに基づいています。 数値は GitHub から取得したもの、警告は判定の基準にある条件での自動判定です。事実誤認を見つけた場合はお知らせください。