Skip to content

horner/artipod-sync

Repository files navigation

Browser Git Shell PoC

This is a Proof-of-Concept for a browser-based Git environment using ZenFS, isomorphic-git, and xterm.js.

Features

  • IndexedDB-backed FileSystem: Files persist across reloads.
  • Git Operations: clone, status, diff, files.
  • Terminal Interface: Basic shell commands (ls, cd, cat, pwd, help).
  • File Editing: Simple modal editor.

How to Run

  1. Install dependencies:

    npm install
  2. Run the development server:

    npm run dev
  3. Open http://localhost:3000 in your browser.

Usage

  • Clone a repo:

    git clone https://github.com/isomorphic-git/isomorphic-git

    (Note: Large repos might take time. Use small repos for testing.)

  • List files:

    ls
    cd isomorphic-git
    ls
  • Check status:

    git status
  • Edit a file:

    edit README.md

    Make changes and save.

  • Check diff:

    git diff README.md

Architecture

  • FileSystem: @zenfs/core with @zenfs/dom (IndexedDB).
  • Git: isomorphic-git using the ZenFS instance.
  • Terminal: xterm.js rendered in a React component.
  • Shell: Custom command parser in lib/shell.ts.
  • Framework: Next.js (App Router).

Notes

  • The filesystem is mounted at /.
  • The default working directory is /repo.
  • CORS proxy is used for GitHub cloning (https://cors.isomorphic-git.org).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published