stubbedev / treeman
Per-worktree development databases, snapshots and test clones, distributed as verified native binaries
Requires
- php: >=8.1
- composer-runtime-api: ^2.2
- ext-curl: *
- ext-pcntl: *
- ext-zlib: *
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-master
- v2.5.121
- v2.5.120
- v2.5.119
- v2.5.118
- v2.5.117
- v2.5.116
- v2.5.115
- v2.5.114
- v2.5.113
- v2.5.112
- v2.5.111
- v2.5.110
- v2.5.109
- v2.5.108
- v2.5.107
- v2.5.106
- v2.5.105
- v2.5.104
- v2.5.103
- v2.5.102
- v2.5.101
- v2.5.100
- v2.5.99
- v2.5.98
- v2.5.97
- v2.5.96
- v2.5.95
- v2.5.94
- v2.5.93
- v2.5.92
- v2.5.91
- v2.5.90
- v2.5.89
- v2.5.88
This package is auto-updated.
Last update: 2026-11-03 06:41:17 UTC
README
Isolated databases for every git worktree.
treeman gives each git worktree its own databases, search indices and parallel test clones: migrated and ready when the worktree is, kept current as migrations change, dropped when the worktree is deleted. Language- and framework-agnostic; you declare the migrate command.
Documentation: stubbedev.github.io/treeman
treeman worktree create PROJ-123 # checkout + databases + hooks treeman worktree delete PROJ-123 # hooks + drop databases + remove
Features
- MySQL, PostgreSQL, MongoDB, Redis, Elasticsearch, S3 and SQLite (plus MariaDB, TiDB, Valkey, DragonflyDB, OpenSearch, DuckDB), spoken over their wire protocols.
- A snapshot cache keyed by the content of your migrations, dumps and lockfiles: new worktrees are cloned, not re-migrated.
- One database clone per parallel test worker (paratest, pytest-xdist, jest, vitest, cargo-nextest, …).
- Create, delete, checkout and file-change hooks; a file watcher and auto-fetch that keep worktrees current.
- Git helpers with a built-in picker, an MCP server for AI agents, and a daemon-less mode for CI.
- One static binary per platform plus a user-mode daemon.
Install
brew install stubbedev/tap/treeman # Homebrew (macOS, Linux) nix profile install github:stubbedev/treeman # Nix composer require --dev stubbedev/treeman # Composer (PHP projects)
Release tarballs for linux amd64/arm64 and darwin arm64 are on the releases page. See Getting started for every option.
Quick start
cd ~/code/my-app treeman init # write a .treeman.yaml for this repo treeman daemon install # start the daemon now and at login treeman worktree create PROJ-123 cd "$(treeman worktree go PROJ-123)"
Documentation
The site is built from docs/ and redeployed on every push to
master. Preview it locally with nix develop --command just docs-serve.
License
Dual-licensed under Apache-2.0 OR MIT.