macOS Data Toolbelt
└─ cd ../projects
Squire

// native macOS app · swift · [●] live

Squire

SQLite-редактор для Mac, который не лезет под руку. Открывает любой .sqlite — базу твоего приложения, кэш iOS-симулятора, даже хранилище Notes.app — и даёт реально понять, что внутри.

macOS 14+Apple Silicon · Intelбез Xcodefree & open sourceno telemetry
Squire — Schema
└─01

ЧЕТЫРЕ ВКЛАДКИ

// каждая делает одно — и хорошо
Schema

Видно, как устроена таблица

Каждая колонка и каждый constraint — человеческим языком. Индексы и триггеры сразу под ними. Внешние ключи ведут себя как внешние ключи: каскадные удаления работают, сиротливые строки отклоняются.

Schema
Browse

Настоящая таблица данных

Редактируешь ячейки на месте, сортируешь кликом по заголовку, фильтруешь из футера. Клик по любому BLOB — и Squire понимает, что это: UUID, картинка, JSON, gzip-пейлоад, даже текст Apple Notes из protobuf. Прыжок по внешнему ключу — кликом, обратно — тем же.

Browse
Query

Нормальный редактор SQL

Подсветка синтаксиса и автокомплит, который знает твои таблицы, вьюхи и колонки. Несколько букв — и подсказка по делу. Результат — прямо снизу, в той же таблице, что ты уже знаешь. ⌘↵ выполнить.

Query
History

Каждый запрос — под рукой

Всё, что ты выполнял, с таймингом и числом строк. Найти ту самую удачную выборку часовой давности вместо того, чтобы писать её заново. Упавшие запросы хранят сообщение об ошибке — видно, что пошло не так.

History
└─02

ГЛУБЖЕ ПОВЕРХНОСТИ

// реальные базы — это BLOB'ы, локи и схемы, которых никто не помнит
blob inspector

Клик по непрозрачному BLOB — и Squire говорит, что внутри: UUID, JSON, картинка, gzip, бинарный plist. Даже Apple Notes возвращаются читаемым текстом, а не стеной hex.

ask ai · локально

Опиши на английском — получи рабочий запрос. Опиши таблицу — получи схему с уже подключёнными FK. Нужны реалистичные строки? Один клик. Всё локально, база не покидает Mac.

diff баз

Сравнить прод-схему со стейджингом или вчерашний бэкап с сегодняшним — бок о бок, таблица за таблицей, колонка за колонкой.

import / export

Бросил CSV на Squire — получил таблицу. В обратную сторону — экспорт в CSV, TSV или JSON, ровно то, что импортнёшь назад.

визуальная схема

Без ручных CREATE: формы для таблиц, индексов, вьюх и триггеров. Squire сам выбирает безопасный путь — нативный ALTER или транзакционный rebuild. Точный SQL — снизу.

открывает залоченное

Читает SQLite, даже когда файл занят системой — база iOS-симулятора, Notes, Messages. Автоматически падает в read-only, чтобы всё равно заглянуть внутрь.

└─03

ПОЧЕМУ ТАК

// why not GRDB / SQLite.swift?

Ядро — тонкая Swift-обёртка над системным C-шным libsqlite3, без внешних SPM-зависимостей. Никаких GRDB и SQLite.swift: меньше веса, меньше магии, сборка остаётся лёгкой и предсказуемой. Каждое окно держит живое соединение с файлом базы.

Нативное, а не веб в рамке. Открывается мгновенно, скроллит плавно, дружит с клавиатурой и трекпадом — как Finder.
Не платформа. Нет аккаунтов, облака, подписок и аналитики, звонящей домой. Просто редактор локальных SQLite, которым можно пользоваться и через десять лет.
Маленькое и читаемое. Исходник открыт, кода — на вечер чтения. Каждый экран приложения — это один Swift-файл.
Собирается без Xcode. Только Command Line Tools и ad-hoc подпись — ни полного Xcode, ни аккаунта разработчика.
└─04

SPEC

platformmacOS 14+ · Apple Silicon & Intel
uiSwiftUI + AppKit (NSTableView, NSTextView)
datasystem libsqlite3 · zero SPM deps
buildSPM + shell · Command Line Tools · без Xcode
signingad-hoc · без Apple Developer аккаунта
licensefree & open source · alcovegan/squier

Брось базу на иконку — и ты уже внутри.

$ brew install --cask squire // скоро └─ вернуться ко всем проектам