KnowledgeQuery

kqs — Git-native платформа для управления знаниями и документацией. Документация, задачи, спецификации данных и связи между ними — обычные Markdown-файлы в Git-репозитории, а один бинарник kqs добавляет к ним поиск, AI-ассистента, трекинг задач и трассировку требований до кода. Без серверов, без внешних баз данных, без vendor lock.

Зачем это нужно

Obsidian и любой markdown-редактор отлично подходят для чтения и редактирования заметок. Но за пределами одной папки начинаются проблемы: нет синхронизации между репозиториями, нет кросс-репозиторного поиска, документация живёт отдельно от кода, и никто не знает, покрыты ли требования реализацией.

kqs не заменяет Obsidian — он дополняет его тем, чего там нет: multi-repo sync, полнотекстовый и семантический поиск, AI-ассистент в CLI, задачи в Git и глубокая трассировка цепочки «требование → дизайн → код».

Возможности

  • Двойной режим--dev для разработчика (сканирование кода, проверки) и --doc для knowledge-репозитория (полный доступ, создание документов).
  • Цепочка документов — от идеи до данных: idea → bft → brd/frd/nfr → adr → rfc → tz → typespec → code.
  • Поиск — полнотекстовый (SQLite FTS5) и векторный (sqlite-vec + Candle, полностью офлайн).
  • AI-ассистентkqs ask через Ollama, OpenAI или Anthropic любой llm etc..
  • Задачи в Git — один файл = одна задача, CRDT-события вместо перезаписи, никаких merge-конфликтов.
  • Watcher — авто-коммит изменений; push — только по команде kqs push.
  • README на автопилоте — канбан-доска задач и оглавление документов обновляются автоматически.
  • Трассировка — аннотации @doc-anchor в коде, проверка цепочек требований, поиск сирот и устаревших связей.
  • llm-help - контекст для llm для правильного использования kqs.

Цепочка документов

Каждый тип документа отвечает на свой вопрос:

ТипВопрос
ideaСтоит ли думать об этом?
bftЧего хочет бизнес и зачем?
brd / frd / nfrЧто должна делать система?
adrКакое решение принято и почему?
rfcЧто предлагается обсудить?
tzКак это устроено технически?
typespecКакие данные реализует код?
codeРеализация, связанная с документацией

Трассировка документации и кода

Разработчик помечает код аннотацией:

// @doc-anchor SecureTokenStorage
// @see docs://architecture/ADR-001.md
class KeychainStorage: TokenStorable { }

kqs check scan находит такие аннотации по всем проектам из конфига и строит граф BFT-001 → ADR-001 → TZ-001 → TypeSpec → @doc-anchor → код. kqs check traceability-deep проверяет полноту цепочек требований, kqs check orphans находит документы без связей, а сироты-анкоры превращаются в задачи автоматически.

Установка

cargo install kqs

Или скачай бинарник из GitHub Releases.

Быстрый старт

kqs init --path ~/knowledge --remote https://github.com/user/knowledge.git
kqs doc new adr "Database Choice"       # → docs/03-architecture/adr-001-*.md
kqs search "system architecture"        # полнотекстовый + векторный
kqs task new --title "Implement search" --priority high
kqs check traceability-deep --deep      # полнота цепочек требований
kqs push                                # readme-gen → push

Ссылки