Skip to content

Latest commit

 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Siya-CLI

A lightweight version control system built from scratch to understand and replicate core Git internals like object storage and commit histories.

Supports essential commands like init, add, commit, revert, pull and push with remote storage powered by AWS S3.


Tech Stack

  • Node.js: Interation with File system
  • Yargs.js: Dealing with commands
  • AWS S3: Object storage

Features

  • Initialize repository (init)
  • Stage files (add)
  • Snapshot commits and metadata (commit)
  • Revert to previous states (revert)
  • Push/Pull from remote (AWS S3)
  • Custom object storage design (inspired by Git internals)

Architecture

Siya-CLI mimics Git's internal design:

  • Objects stored as blobs (file snapshots)
  • Commits track file states and parent history
  • Metadata stored locally and synced to AWS S3
  • CLI commands parsed using Yargs

Usage

# Initialize repo
siya init

# Add file
siya add <file>

# Commit changes
siya commit "commit message"

# Push to remote
siya push

Installation

git clone https://github.com/ShreelaxmiHegde/siya-cli
cd siya-cli

npm install
npm link

Buit to understand how Git works under the hood, including object storage, commit trees and other version control concepts.

About

Version Control CLI tool. Supporting init, add, commit, revert, push and pull commands.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages