Version everything.
Gitstack is an open-source system that redefines version control. Traditional Git has been the backbone of modern software development for decades, but it is built almost exclusively around text-based source code: commits, diffs, and branches. What about everything else — dependencies, environments, models, datasets, and the hidden glue that makes a project actually run?
That’s where Gitstack comes in.
Gitstack extends the philosophy of Git beyond code. It snapshots and restores entire project states — files, dependencies, environments, and time itself — ensuring reproducibility and reliability for developers, researchers, and teams everywhere.
Think of it as:
- Git for time
- Git for dependencies
- Git for states
- Git for everything
Every developer has experienced this nightmare:
“It worked on my machine yesterday. Today, it doesn’t.”
Traditional Git saves lines of code but not the full environment needed to reproduce results. It doesn’t capture the evolving mess of dependencies, dataset versions, or system configs.
Gitstack exists to solve this gap:
- For developers → prevent broken builds and roll back instantly.
- For researchers → reproduce AI experiments and datasets exactly.
- For teams → share environments seamlessly, not just repositories.
- For indie hackers → save time by snapshotting entire project states instead of debugging broken setups.
Version control shouldn’t stop at code. Gitstack moves the concept forward: version everything.
Gitstack introduces an intuitive CLI that integrates into any project:
-
gitstack snap→ Snapshot your project. Captures file structure, metadata, and environment details. Future versions will include Python dependencies,.envconfigs, Docker states, and even datasets. -
gitstack restore→ Instantly roll back to your last snapshot. Fix broken dependencies, recover missing files, or undo destructive changes with one command. -
gitstack time→ Prints the current time. A simple command that represents Gitstack’s philosophy: every snapshot is grounded in a moment in time. -
gitstack date→ Prints today’s date. Every snapshot becomes anchored to a timeline. -
gitstack deploy→ (In development) Deploy snapshots directly into isolated containers or the cloud. Think Vercel-style deployment, but triggered from your CLI.
The design principle is simple: Your project is more than code. Gitstack makes it reproducible, restorable, and shareable.
When you run gitstack snap, a hidden .gitstack/ directory is created in your project root. Inside it:
- JSON metadata describing files, timestamps, and snapshot IDs.
- (Planned) Environment descriptors (
pip freeze,.envcontents, container IDs). - (Planned) File hashes for integrity checking.
When you run gitstack restore, Gitstack reconstructs your last working state. This is the starting point for much deeper functionality:
- Rebuild Python environments automatically.
- Restore datasets and AI checkpoints.
- Launch Docker containers tied to specific snapshots.
- Push or pull snapshots from Gitstack Cloud.
This foundation makes Gitstack more than a CLI — it’s a state management platform.
Gitstack is available via PyPI.
Install globally with:
pip install gitstackVerify installation:
gitstack time
# Output: 08:48:15.743508
gitstack date
# Output: 2025-09-10Snapshot your first project:
cd my_project
gitstack snap# Take a snapshot
gitstack snap
# Break something (oops!)
# Restore to last snapshot
gitstack restoreFuture workflows will include:
# Deploy snapshot to a container
gitstack deployAlongside the CLI, Gitstack will include a visual dashboard at gitstack.com.
The dashboard will allow you to:
- Browse snapshots visually in a timeline view.
- Compare states side-by-side.
- Share environments with collaborators.
- Push or pull to the cloud for distributed teamwork.
- Gain analytics into project evolution (lines of code, dataset growth, dependency shifts).
Gitstack’s vision extends far beyond snapshots. Upcoming features include:
-
AI-Augmented Snapshots
- Automatic plain-English summaries of what changed.
- Example:
$ gitstack snap Snapshot taken! AI Summary: Added signup API, updated login, refactored styles.
-
Universal Version Control
- Version everything: datasets, ML models, documents, configs.
-
Time Travel Debugging
- Roll back projects by time:
gitstack rewind 2h
- Roll back projects by time:
-
Zero-Setup Cloud Deploy
- Deploy snapshots directly from CLI to containerized sandboxes.
-
AI-Powered Conflict Resolution
- AI suggests fixes for merge conflicts.
-
Snapshot Analytics
- Dashboards showing metrics, growth, and risk hotspots.
-
Offline-First with Smart Sync
- Works without internet, syncs automatically when online.
-
Knowledge Graph Layer
- Ask Gitstack:
gitstack ask "Where do we handle login?" - Get an instant answer.
- Ask Gitstack:
-
Security by Default
- Every snapshot cryptographically signed.
-
Cross-IDE Integrations
- Plug Gitstack into VS Code, JetBrains, or CLI assistants.
Gitstack is open source, and we welcome contributions from developers, researchers, and creators worldwide.
Steps to contribute:
- Fork this repository.
- Create a feature branch.
- Write tests where applicable.
- Open a pull request with a clear description.
All contributions are reviewed to maintain project integrity.
Gitstack was created by Bola Banjo.
- X (Twitter): @bolaabanjo
- Open to collaborations, partnerships, and community contributions.
Gitstack is released under the MIT License.
- Free & Open Source → The CLI will always remain open.
- Commercial Extensions → Hosted services, premium analytics, or enterprise features may be introduced under commercial licenses via gitstack.com.
This dual model ensures Gitstack stays accessible to the developer community while scaling sustainably.
Git revolutionized software development by versioning code. Gitstack’s ambition is to do the same — but for everything: states, dependencies, datasets, configs, and time.
By making environments reproducible, shareable, and intelligent, Gitstack unlocks a new layer of productivity for developers, researchers, and teams.
Gitstack is more than a tool. It’s the future of version control.
