Skip to main content

forkstack

Instant, isolated development environments using zero-copy database and storage forks.

forkstack is a CLI tool for creating fully isolated development environments in seconds. Each developer gets their own copy of your entire stack—database and object storage—without duplicating data or slowing down.

Installation

# Recommended: install script
curl -LsSf https://forkstack.xyz/install.sh | sh

# Or with pip/uv
pip install forkstack
uv pip install forkstack

# Or with cargo
cargo install forkstack --bin forks

Why forkstack?

Traditional development environments share databases or require expensive duplication:

  • ❌ Shared dev DB: Developers step on each other's data
  • ❌ DB per developer: Expensive, slow to provision, hard to keep in sync
  • ❌ Local-only: Can't test with production-like data

forkstack gives you the best of all worlds:

  • ✅ Instant creation: New environments in seconds, not minutes
  • ✅ Zero cost: Fork-on-write means no data duplication charges
  • ✅ Full isolation: Each environment has its own DB and storage
  • ✅ Production parity: Fork from production to test with real data
  • ✅ Easy cleanup: Delete environments instantly when done

Quick Start

1. Create a config file

Create .forkstack.toml in your project:

[database]
provider = "turso"
organization = "your-org"
production = "my-app-prod"

[storage.uploads]
provider = "tigris"
bucket = "my-app-uploads"
endpoint = "https://fly.storage.tigris.dev"

2. Set credentials

export TURSO_API_TOKEN="your-token"
export AWS_ACCESS_KEY_ID="your-key"
export AWS_SECRET_ACCESS_KEY="your-secret"

3. Create a fork

$ forks create -n alice
Created fork: alice
Database: libsql://alice-your-org.turso.io
Storage:  uploads: s3://my-app-uploads/forks/alice/

4. Use your fork

Point your app at the fork URLs, work in isolation, then clean up:

$ forks delete alice
Deleted fork: alice

CLI Reference

forks create           # Create fork with random name
forks create -n alice  # Create fork with specific name
forks list             # List all forks
forks delete alice     # Delete a fork

How It Works

forks create
    │
    ├── Turso API: Create database branch
    │   └── Zero-copy fork from production DB
    │
    └── S3 API: Copy objects to fork prefix
        └── Full copy (or use Tigris bucket forks)

Database branching uses Turso's native branching—instant, zero-copy regardless of database size.

Storage forking copies objects to a fork-specific prefix. For zero-copy storage, use Tigris bucket forks.

Supported Services

Databases (pick one):

  • Turso - SQLite branches (recommended)
  • More coming soon (Neon, PlanetScale)

Object Storage (pick one):

  • Tigris - S3-compatible with bucket forks (recommended)
  • Any S3-compatible storage

Pattern Benefits

For Individual Developers

  • Test risky changes in isolation
  • Work on multiple features simultaneously
  • Fork from prod to debug with real data
  • Clean up experiments instantly

For Teams

  • No database conflicts between developers
  • Easy code review with deployable branches
  • Staging environments on-demand
  • Safe production debugging

For CI/CD

  • Ephemeral preview environments per PR
  • Cost-effective testing at scale
  • Automatic cleanup after merge

Documentation

Full documentation at forkstack.xyz

Contributing

Contributions welcome! Submit issues and PRs at github.com/russellromney/forkstack

License

Apache 2.0 - Use it however you want.

Metadata

Release files for forkstack 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for forkstack 0.1.0
File Size Uploaded Provenance Actions
forkstack-0.1.0.tar.gz 30.1 kB Without provenance Details for forkstack-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for forkstack 0.1.0
File Interpreter ABI Platform Actions
forkstack-0.1.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details for forkstack-0.1.0-py3-none-macosx_11_0_arm64.whl

Total release size: 6.7 MB

Release files / forkstack-0.1.0.tar.gz

Download URL forkstack-0.1.0.tar.gz
Size 30.1 kB
Tags Source
SHA-256 checksum
How to use checksums
36b70342e55828397bfb59962260f793193be511e63d99b57ca5ab339b2bd879
BLAKE2b-256 checksum
How to use checksums
2f4b385ef3bb360c66ea87f6c070f26ba3d0897d1180682038107d2f67bfa914
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Release files / forkstack-0.1.0-py3-none-macosx_11_0_arm64.whl

Download URL forkstack-0.1.0-py3-none-macosx_11_0_arm64.whl
Size 6.6 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8649088a4eebf0469387c98300d6109801efef25dfe1c7846413e8e5375fa13f
BLAKE2b-256 checksum
How to use checksums
062e2ca5fa3eb81ab540279a36ecd0efdd80dad6b1de11080f8f92d14bf22da8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.10.2

Security for forkstack 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page