# qikly

Генерирует тесты из критериев приёмки и гоняет код против них в цикле, причём кодирующий агент критериев не видит.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 18
- Автор: gal-a
- Лицензия: Apache-2.0 · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/gal-a/qikly
- Обновлён: 2026-10-19
- HTML: https://affpapa.org/nevibecode/mcp/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` и поправить те, с которыми не согласны.

## Требования
- Нужно: Python и uv (команды через uvx)
- Переменные окружения: `QIKLY_PROJECT_ROOT` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env QIKLY_PROJECT_ROOT=<QIKLY_PROJECT_ROOT> --transport stdio qikly -- uvx qikly
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from qikly <команда>

### Codex

**Командой платформы**
```bash
codex mcp add qikly --env QIKLY_PROJECT_ROOT=<QIKLY_PROJECT_ROOT> -- uvx qikly
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from qikly <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "qikly": {
            "command": "uvx",
            "args": [
                "qikly"
            ],
            "env": {
                "QIKLY_PROJECT_ROOT": "<QIKLY_PROJECT_ROOT>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from qikly <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "qikly": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "qikly"
            ],
            "env": {
                "QIKLY_PROJECT_ROOT": "<QIKLY_PROJECT_ROOT>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from qikly <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e QIKLY_PROJECT_ROOT=<QIKLY_PROJECT_ROOT> qikly uvx qikly
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from qikly <команда>

## Когда брать
- проверить, какие ошибки в коде тесты не замечают
- собрать черновик спецификации из README и докстрингов
- прогнать цикл правок кода против тестов, не показывая их автору кода
- найти модуль, покрытие которого держится на пустых проверках
- запустить проверку тестов в CI без ключа API

## Примеры запросов агенту
- Проверь `--score` для `my_module.py`, какие ошибки тесты не ловят?
- Сделай черновик спецификации для `--scaffold my_module.py` и покажи, откуда взяты ответы.
- Запусти `--tasks my_module.py` и доведи до зелёного.

## Похожие
- [Front-End Checklist](https://affpapa.org/nevibecode/mcp/front-end-checklist.md) — MCP-сервер · ★ 74559
- [Keploy](https://affpapa.org/nevibecode/mcp/keploy.md) — MCP-сервер · ★ 18727
- [SeleniumBase MCP](https://affpapa.org/nevibecode/mcp/seleniumbase-mcp.md) — MCP-сервер · ★ 13169
- [mobile-mcp](https://affpapa.org/nevibecode/mcp/mobile-mcp.md) — MCP-сервер · ★ 9946
- [e2e](https://affpapa.org/nevibecode/mcp/e2e.md) — MCP-сервер · ★ 11912
- [mockserver](https://affpapa.org/nevibecode/mcp/mockserver.md) — MCP-сервер · ★ 4996

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
