gent-cli
v2.1.0
Published
A modern, Git-like version control CLI with built-in cloud authentication and global user identity management.
Downloads
28
Maintainers
Readme
Gent CLI
A modern, Git-like version control CLI with built-in cloud authentication and global user identity management.
Gent is a lightweight version control system that feels exactly like Git but handles user identity automatically through the cloud. No more configuring user.name and user.email for every repository!
Features
- Cloud Authentication: Login once, work everywhere. Your identity follows you across projects.
- Git-like Experience: Familiar commands (init, add, commit, status, log, branch, checkout).
- Cloud Synchronization: Push and pull repositories to/from the cloud.
- Zero Configuration:
gent initis silent and auto-detects your authenticated user profile. - Global Identity: Commits are automatically authored with your cloud profile.
- Secure: Tokens stored securely in your home directory.
Installation
npm install -g gent-cliAuthentication
Gent uses a global authentication system. You only need to login once.
Create an Account
gent registerLogin
gent login
# or
gent login -e [email protected] -p YourPasswordCheck Status
gent whoamiLogout
gent logoutLocal Usage
1. Initialize a Repository
gent init
# Output: Initialized empty Gent repository in /path/to/project2. Check Status
gent status3. Stage Files
gent add filename.js
# or add all files
gent add .4. Commit Changes
gent commit -m "Initial commit"
# Output: [main a1b2c3d] Initial commit
# Author: Your Name <[email protected]>Cloud Features
1. Create a Cloud Repository
# Create and link a local repo
gent create my-repo --init-local
# Or initialize with cloud directly
gent init --cloud2. List Your Repositories
gent list
# or
gent ls3. Clone a Repository
gent clone <owner_id>/<repo_name>
# Example: gent clone 1/my-repo4. Push Changes
gent push
# or commit and push in one go
gent commit -m "Update README" --push5. Pull Changes
gent pull6. Manage Remotes
gent remote add origin <owner_id>/<repo_name>
gent remote -vRepository Structure
Gent creates a .gent directory in your project root:
.gent/
├── config.json # Project configuration
├── objects/ # Stored file contents
├── refs/ # Branch pointers
├── remote.json # Remote configuration
└── HEAD # Current branch referenceYour authentication tokens are stored globally in ~/.gent/auth.json.
Contributing
We welcome contributions! Please fork the repository and submit a Pull Request.
License
ISC
Built with love by Abdalrahman Kanawati
