The Problem

MacOS database clients force a trade-off: single-engine open source tools (Sequel Ace, Postico) or polished multi-database tools that are either proprietary (TablePlus) or non-native (DBeaver, Beekeeper Studio). TablePro targets the missing quadrant — native, multi-database, and open source — with a Swift codebase (4,250 Swift files) and a plugin architecture for database drivers.

What This Does

TablePro is a native SwiftUI database client for macOS 14+ and iOS 18+. The main app lives in TablePro/ (1,946 files) and ships built-in drivers for MySQL, PostgreSQL, SQLite, Redis, ClickHouse, and others. Additional engines — MongoDB, Oracle, SQL Server, Cassandra, DynamoDB — load as plugins from Plugins/ (622 files). The editor stack is vendored: LocalPackages/CodeEditSourceEditor and LocalPackages/CodeEditLanguages provide the SQL editor with tree-sitter grammars for SQL, JSON, Bash, and JavaScript.

The app also bundles an AI layer (chat, inline suggestions, Explain/Optimize) and an MCP server. AI agent configuration is extensive: .claude/ contains rules and skills for SwiftData, SwiftUI, plugin development, and release processes, and .codex/ defines agent roles including an adversarial reviewer and plugin ABI reviewer. A Rust component, Native/DamengBridge/, bridges the Dameng DM8 database via a Cargo package — the only non-Swift entry point and the only Cargo-managed dependency in the repo.

How It Is Wired

The repository's internal call graph was not mapped for this analysis, so I can only trace the one explicit entry point: Native/DamengBridge/src/lib.rs, a Rust library compiled via Native/DamengBridge/Cargo.toml that exposes a foreign-function interface for the Swift app to call into Dameng's native client. The Swift-side call paths — how the SQL editor reaches drivers, how the MCP server routes queries, how the plugin system loads driver bundles — are not traceable from the available structure. The wiring for the main application has not been mapped for this repository yet.

What is visible: the project uses xcodegen (.github/actions/setup-xcodegen/action.yml) to generate the Xcode project from config files like Configs/Base.xcconfig, Configs/Debug.xcconfig, and Configs/Release.xcconfig. CI runs through GitHub Actions — build.yml, macos-tests.yml, and ios-tests.yml — with signing handled by .github/actions/apple-signing/action.yml.

How To Use It

The README excerpt does not document build commands, and no Makefile or top-level build script is present. The evidence points to an xcodegen + xcodebuild flow, but the exact invocation is not in the repo. The Rust bridge builds with:

cd Native/DamengBridge && cargo build

Configuration is split across Configs/*.xcconfig files. Configs/Secrets.xcconfig.example is a template; the actual file is gitignored. TablePro/Resources/license_public.pem is a public key, not a credential.

Real-World Use

A developer using Cursor or Claude Desktop points the MCP server at TablePro, which opens an SSH tunnel to a PostgreSQL instance, runs a query through the built-in driver, and returns results in the editor grid. The AI chat can then explain or optimize that query via a user-supplied API key or a local Ollama model. Plugin drivers (e.g., MongoDB) install on demand from the plugin registry at .github/plugin-registry.json.

Code Health & Issues

Static analysis flagged one low-severity finding: secret-shaped paths. Configs/Secrets.xcconfig.example is an example template, and TablePro/Resources/license_public.pem is a public key — both appear benign but should be confirmed.

  • Low — Secret-shaped paths present — Configs/Secrets.xcconfig.example, TablePro/Resources/license_public.pem (verify these contain no real credentials).

Beyond that: 1,536 test files across TableProTests/ and TableProUITests/ indicate serious test coverage. CI runs macOS and iOS test suites on every push. SwiftLint (.swiftlint.yml) and SwiftFormat (.swiftformat) enforce style. The AGPL v3 license (in LICENSE) is the main constraint for commercial embedding.

The Bottom Line

A well-engineered native database client with real test coverage and a clean plugin architecture. The AGPL license and the Swift-only stack limit it to the Apple ecosystem and to use cases compatible with copyleft. This fork (0 stars) tracks the upstream project (5,641 stars); teams should evaluate upstream TableProApp/TablePro for active maintenance before building on this fork.