Installation
Download the signed DMG, or build from source with Xcode 16.
Requirements
- macOS 14 Sonoma or later, Apple Silicon.
- A PostgreSQL, MySQL or MariaDB server you can reach directly or over SSH — or nothing at all, if the database you want to open is a SQLite file.
- Xcode 16 or later, only if you build from source.
Download the DMG
Releases are published on GitHub. Open the DMG, drag Tinker into Applications, and launch it. The app is Developer ID signed and notarized, so Gatekeeper opens it without a warning. Updates arrive through Sparkle 2; check for them from the Tinker menu.
https://github.com/tammami/Tinker/releases
Build from source
git clone git@github.com:tammami/Tinker.git cd Tinker open App/Tinker.xcodeproj
Select the Tinker scheme and run. The packages can also be built and tested from the command line:
swift build swift test
Run the test suite against real servers
Integration tests run against an isolated tinker_test database and a non-privileged tinker_test user on servers you already run. Nothing is installed, started or reconfigured, and Docker is never used. Prepare once with admin URLs, then export the non-admin URLs the script prints.
export TINKER_TEST_PG_ADMIN_URL='postgresql://<you>@localhost:5432/postgres' export TINKER_TEST_MYSQL_ADMIN_URL='mysql://root:<password>@127.0.0.1:3306/' testenv/prepare.sh export TINKER_TEST_PG_URL='postgresql://tinker_test:tinker_test@localhost:5432/tinker_test' export TINKER_TEST_MYSQL_URL='mysql://tinker_test:tinker_test@127.0.0.1:3306/tinker_test' Scripts/ci.sh
tinker_test or any superuser account. Engines without a URL are skipped with a visible warning. A skipped test is never counted as a pass.Release builds
Scripts/release.sh # archive, Developer ID sign, notarize, staple, DMG Scripts/release.sh --skip-notarize # sign only Scripts/release.sh --unsigned # local smoke test
The appcast URL and EdDSA key for Sparkle are supplied from the environment at release time. A build without them ships with the updater disabled and says so.