qikly — MCP-сервер для Claude Code: тесты отдельно от кода
Генерирует тесты из критериев приёмки и гоняет код против них в цикле, причём кодирующий агент критериев не видит.
claude mcp add --env QIKLY_PROJECT_ROOT=<QIKLY_PROJECT_ROOT> --transport stdio qikly -- uvx qiklyЧто делает qikly
qikly разводит две роли: один агент пишет тесты по критериям приёмки из спецификации, второй правит код и о критериях не знает. Такой разрыв и есть суть инструмента: тесты не подгоняются под реализацию, потому что автор кода их не читал. Ошибку видно на прогоне — кодирующий агент находит ограничение через падающий тест, а не через подсказку.
Снаружи это три шага из корня проекта: qikly --score my_module.py проверяет, что ловят уже написанные тесты, qikly --scaffold my_module.py черновик спецификации в inputs_private/config/tasks/MY_MODULE_VERIFY.yaml, qikly --tasks my_module.py запускает цикл с ремонтом. Для шагов 2 и 3 нужен ключ одного из провайдеров: Google Gemini (бесплатный тариф), Anthropic или OpenAI.
Перед первым запуском проверьте, что тесты проходят сами: qikly вызывает их так же, через python -m pytest. Нет пакета или не та версия Python — встанет и первый шаг. Спецификацию агент черпает из README и докстрингов, код он не читает, поэтому черновик может требовать от кода не того, что тот делает. Это повод прочитать ответы в MY_MODULE_VERIFY.yaml и поправить те, с которыми не согласны.
Какие задачи решает
- проверить, какие ошибки в коде тесты не замечают
- собрать черновик спецификации из README и докстрингов
- прогнать цикл правок кода против тестов, не показывая их автору кода
- найти модуль, покрытие которого держится на пустых проверках
- запустить проверку тестов в CI без ключа API
Примеры запросов агенту
- Проверь
--scoreдляmy_module.py, какие ошибки тесты не ловят? - Сделай черновик спецификации для
--scaffold my_module.pyи покажи, откуда взяты ответы. - Запусти
--tasks my_module.pyи доведи до зелёного.
Как установить qikly
Командой платформы
claude mcp add --env QIKLY_PROJECT_ROOT=<QIKLY_PROJECT_ROOT> --transport stdio qikly -- uvx qiklyВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from qikly <команда>
Командой платформы
codex mcp add qikly --env QIKLY_PROJECT_ROOT=<QIKLY_PROJECT_ROOT> -- uvx qiklyВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from qikly <команда>
Файл настроек
{
"mcpServers": {
"qikly": {
"command": "uvx",
"args": [
"qikly"
],
"env": {
"QIKLY_PROJECT_ROOT": "<QIKLY_PROJECT_ROOT>"
}
}
}
}Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from qikly <команда>
Файл настроек
{
"servers": {
"qikly": {
"type": "stdio",
"command": "uvx",
"args": [
"qikly"
],
"env": {
"QIKLY_PROJECT_ROOT": "<QIKLY_PROJECT_ROOT>"
}
}
}
}Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from qikly <команда>
Командой платформы
gemini mcp add -e QIKLY_PROJECT_ROOT=<QIKLY_PROJECT_ROOT> qikly uvx qiklyВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from qikly <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о qikly
Как установить qikly в Claude Code?
Добавьте сервер командой claude mcp add qikly -- uvx qikly. Если нужен корень проекта, используйте вариант с переменной: claude mcp add --env QIKLY_PROJECT_ROOT=<QIKLY_PROJECT_ROOT> --transport stdio qikly -- uvx qikly.
Что делает qikly?
Пишет тесты по критериям приёмки, а затем правит код в цикле, пока тот не пройдёт эту проверку. Кодирующий агент критериев не видит, поэтому тесты не подгоняются под реализацию.
Что нужно, чтобы запустить шаги 2 и 3?
Ключ одного из провайдеров: Google Gemini (есть бесплатный тариф), Anthropic или OpenAI. Шаг --score работает без ключа.