We build with our own tooling:
- SpecScore — specify requirements as
SpecScore.mdartifacts - SpecStudio — author & manage specs across their lifecycle
- inGitDB — store structured data in Git where applicable
- DALgo — data access layer for Go
- cover100.dev — drive toward 100% test coverage
- DataTug — query & explore data
Help wanted to get test coverage to 100%.
(p=$(mktemp) && trap 'rm -f "$p"' EXIT && curl -fsSL https://datatug.io/install/get-cli -o "$p" && sh "$p")Environment overrides: DATATUG_VERSION (default: latest release), DATATUG_INSTALL_DIR (default: ~/.local/bin).
$p=Join-Path $env:TEMP ("datatug-"+[guid]::NewGuid()+".ps1"); try { irm https://datatug.io/install/get-cli.ps1 -OutFile $p -EA Stop; & $p } finally { Remove-Item $p -EA SilentlyContinue }Environment overrides: DATATUG_VERSION, DATATUG_INSTALL_DIR (default: %LOCALAPPDATA%\DataTug\bin). Current Windows releases support amd64.
macOS / Linux — Homebrew (tap)
brew install --cask datatug/tap/datatugThe direct installers and Homebrew package do not require Go. See the full installation guide or the official AI-agent instructions.
datatug self-update
datatug self-update --check # report whether a newer release exists, without applying itHomebrew installs run brew update && brew upgrade --yes --cask -- datatug; direct installs from curl or PowerShell download and checksum-verify the latest release and swap the binary in place. See spec/features/cli/self-update.
datatug install # list ingitdb, ovdb and specscore, with install status
datatug install ovdb # show details and install it the same way datatug itself was installed
datatug install ovdb --dry-run # report the planned action without downloading or writing anything
datatug upgrade # report current/latest/verdict for every installed fleet CLI plus datatug itself
datatug upgrade --all # upgrade every installed fleet CLI plus datatug itself, after one confirmationingitdb validates and edits the inGitDB databases DataTug reads; ovdb
runs a user-owned OpenVaultDB server DataTug can query as a catalog;
specscore lints DataTug's own specifications. datatug upgrade is the
fleet-wide counterpart to self-update: datatug self-update is exactly
datatug upgrade datatug, built from the same catalog configuration, so
the two never disagree. See
spec/features/cli/install.
- Explore data everywhere — SQL databases, cloud data sources, logs, and APIs (HTTP / REST)
- CLI-first workflows with a Web UI — dashboards, charts, and shared views
- Create parametrised queries and query sets for repeatable troubleshooting and investigation scenarios
- Automatically navigate related data across tables, views, APIs, and different data sources
- Build data pipelines to transform, combine, and enrich data
- Document schemas and metadata with a built-in wiki
- Version everything with Git — queries, dashboards, pipelines, and settings stored as readable project files
- Choose where your project lives:
- Local directory (fully offline)
- GitHub repository
- DataTug Cloud
DataTug turns scattered data into a connected, navigable workspace — combining the speed of the CLI with the clarity of a Web UI for exploration, troubleshooting, and collaboration.
This is an agent service for https://datatug.app that you can run on your local machine, or some server to allow DataTug app to scan databases & execute SQL requests.
It can be run with your user account credentials (e.g. trusted connection) or under some service account.
No, we won't.
The project is free and open source codes available at https://github.com/datatug/datatug. You are welcome to check - we do not look into your data.
When DataTug agent scans or compare your database it stores meta information in a datatug project as set of simple to understand & easy to compare JSON files.
We recommend to check-in the project to some source versioning control system like GIT.
You can run commands for different projects by passing path to DataTugProject folder. E.g.:
> datatug show --project ~/my-datatug-projects/DemoProject
Paths to the DataTug project files, and their names are stored in ~/datatug.yaml in the root of your user's home
directory.
This allows you to address a DataTug project in a console using a short alias. Like this:
> datatug show -p DemoProject
If the current directory is a DataTug project folder you don't need to specify project name or path.
> datatug show
Use one of the supported methods in Installation. None requires Go.
Then verify the installed CLI:
> datatug --help
Check the CLI section on how to run DataTug agent.
At the moment we any DB supported by DALgo. Like:
Datatug can work with sql DBs if a relevant driver has been linked into datatug
- SQLite - via github.com/mattn/go-sqlite3
- Microsoft SQL Server - via go-mssqldb
We are open for pull requests to support other sql DBs.
Read README-dev.md for details on how to setup, debug, and contribute.
- SQLite
- MS SQL Server
- Oracle
- tview - Terminal UI library with rich, interactive widgets — written in Golang
- DALgo - Database Abstraction Layer for Go
- https://gihub.com/strongo/validation - helpers for requests & models validations
We welcome contributions to DataTug! Please read our contributing guidelines for more information on how to contribute to the project.
Apache License

