Skip to content

kavix/eko

Repository files navigation

Eko ✦

Eko is an AI-powered snapshot versioning CLI designed to help you capture, restore, and visualize the evolution of your projects. Think of it as a "Time Machine" for your local development environment.

Features

  • Snapshots: Instantly save the state of your project.
  • Restore: Revert your project to any previous snapshot with a single command.
  • Visual History: A beautiful web-based timeline to explore your project's past.
  • Database Driven: Efficiently tracks snapshots and metadata.

Getting Started

Prerequisites

  • Go 1.26+
  • Node.js (for the UI)

Installation

Homebrew (macOS)

You can install Eko via Homebrew:

brew tap kavix/tap
brew install eko

From Source

go build -o eko main.go

Usage

  1. Initialize Eko in your project:

    eko init
  2. Save a snapshot:

    eko save
  3. View history:

    eko history
  4. Restore a snapshot:

    eko restore <snapshot-id>
  5. Open the UI:

    eko ui

    (Note: You will need to run npm run dev in the ui directory for the web app to work)

Development

UI

The frontend is built with Next.js and is located in the ui/ directory.

cd ui
npm install
cp .env.example .env.local
npm run dev

The UI reads NEXT_PUBLIC_API_URL from ui/.env.local when proxying API requests. The example points to the local Go API at http://localhost:7700.

API

The backend is a Go application that serves a REST API on port 7700.

License

MIT

About

Eko: AI-powered snapshot versioning CLI for projects. Save, restore, and visualize your project's memory with ease.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors