Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Generates tests from acceptance criteria, then converges code with an agent that never sees them.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
QIKLY_PROJECT_ROOT必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"qikly": {
"command": "uvx",
"args": [
"qikly"
],
"env": {
"QIKLY_PROJECT_ROOT": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add qikly --env QIKLY_PROJECT_ROOT=your-value -- uvx qikly動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"qikly": {
"command": "uvx",
"args": [
"qikly"
],
"env": {
"QIKLY_PROJECT_ROOT": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"qikly": {
"type": "stdio",
"command": "uvx",
"args": [
"qikly"
],
"env": {
"QIKLY_PROJECT_ROOT": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
QIKLY_PROJECT_ROOT envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント gal-a で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.6.1)がレジストリに届いたのは13 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Dialyne
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Real phone calls in France for AI agents: dial +33 numbers, menus, hold, AI disclosure.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
The problem: Your AI writes both the code and its tests. How do you know the tests are really valid?
*One logged run. The test agent builds the test suite: it was told, from the spec's acceptance criteria, that a rate may not exceed 100. The coding agent never saw the acceptance criteria and discovered that rate limit from a failing test: it then added or rate > 100 by itself, so the 9 of 9 is code eventually passing the test suite after applying fixes in an automated repair loop.*
| Get started | Why use qikly? · Start here · What it is for · From your coding agent |
| How it works | The idea · What makes this different |
| Running it | Four ways to use it · Free commands · The demo · Your own data · Test data · Running · When a run stalls · Output · Two free checks |
| Set up | Configuration · Use it in CI · Version check |
| Reference | Features · Where it fits today · What it has caught · Further reading |
| Community | The badge · Contributing a task · Where this came from · Privacy · License |
A student who writes the exam paper, writes the answer key and then sits the exam will pass. That is what happens when one model is given the acceptance criteria and asked to produce both the implementation and the suite that checks it. Everything goes green, and the green can mean nothing. qikly takes the answer key away from the student: the coding agent never sees the acceptance criteria.
Before you start, three things:
pip install --upgrade qikly. export GEMINI_API_KEY="..." # macOS and Linux
$env:GEMINI_API_KEY = "..." # Windows PowerShell
Getting a key, and the other two providers. Step 1 needs no key; without one, step 2 leaves every answer for you to write.
python -m pytest. qikly runs them the same way, so a missing package or the wrong Python version stops step 1 too.Then run these from that root folder. Each takes one module or a whole folder, and the same path in every step:
qikly --score my_module.py # 1. what your tests miss free, no key
qikly --scaffold my_module.py # 2. the drafted spec, to check a fraction of a cent qikly --tasks my_module.py # 3. the run a cent or so
test_*.py and *_test.py files that import your code, searched from the project root. To name them instead, add --score-tests tests/. No model is called and nothing of yours is changed.inputs_private/config/tasks/MY_MODULE_VERIFY.yaml, with everything it can read from your code filled in, and a data file of the values your tests already call it with. With a key set (Google Gemini, Anthropic or OpenAI), a spec agent then drafts the parts only an owner could write: a line on what the module is for, and an answer to each of step 1's questions as an acceptance criterion. It reads your README and docstrings, never your code, so it says what the code should do rather than what it does, and a test written from it can disagree with the code: #? What should apply_discount(100, 100) do?
#? Answer below drafted by qikly from your README or docstrings: "...so a rate #? of 100 or more is rejected with ValueError". Keep it, or change it.
Each answer says where it came from: a quote from your documentation, checked word for word, or CHECK where the agent judged it from the module's purpose because nothing written decides it. Run the draft as it is, or change any answer you disagree with, with or without quotes. What the documentation cannot decide is left as a TODO: answer it with an option's number where qikly found values by running your code (1: for one that asks for a value, keep for what the code does now), or a sentence that names a value. A TODO you leave is skipped. Without a key, every answer is yours to write, and the requirements line is marked TODO: MODIFY THIS:. On a folder it writes one task file for each module step 1 asked about. Lines starting #? are notes for you, and neither agent reads them. This file is the one source of truth: change it and run step 3 again. qikly --validate my_module.py checks it, free, and shows each short answer as the criterion it becomes.
qikly_generated/, rewritten to import your module rather than qikly's copy, and runs them on your code. A test that fails there is one to compare with its criterion: either your code or the test is wrong, and the report says which failures were written from a criterion and which are the test writer's own reading, to check.Try it on a worked example first: docs/examples/ has a one-module project and a two-module folder, each with its task files as they look once answered, to compare yours against.
The task is named after the module, MY_MODULE_VERIFY, where _VERIFY marks a task that tests code you already have. You never need to type it: every step takes the path you gave --score, and a task written with --task-id is found by its path too. qikly --scaffold my_module.py --fresh writes MY_MODULE.yaml instead, a task in which qikly writes a new implementation of the same interface.
| If you want to | Run | Costs |
|---|---|---|
| Watch a real run end to end, on a bundled task | qikly --demo | needs a key, about half a minute and well under a cent |
| Start from a finished example in a project of your own | qikly --example | nothing to set it up |
| See the split for yourself, on a bundled task | qikly --explain CALC_TAX | nothing, no API key |
| Write a task from nothing | qikly --init | nothing to set it up |
--score-mutants 48 sets the number, and --score-seed 1 draws a different sample.--demo works in a throwaway demo/throwaway_ / folder it expects you to delete. It is for watching, not for building in. --example and --scaffold create a real project in the directory you are standing in, and those are the two to build from.--upgrade rather than a bare install, because the Skill ships inside the package: pip install qikly on a machine that already has an older one prints "Requirement already satisfied", changes nothing, and --install-skill then writes that older Skill.New: an agent Skill.
qikly --install-skillteaches Claude Code, Gemini
CLI, Codex, Cursor or GitHub Copilot how to drive qikly.
Who it is for: a developer or team pointing an AI coding agent at a self-contained Python module that transforms data, for example an ETL step, a merge, a calculation or a validation routine, who does not want to trust a green suite when the same agent wrote both the code and the tests. It suits one module at a time in small to mid-sized repositories: when a test fails, only the files that failure names are loaded, so runs stay small and quick. It fits most naturally where verification already has to be
冒頭だけを表示しています。続きはリポジトリで読めます