git-lite-cli
v2.0.5
Published
A lightweight CLI tool for seamless GitHub automation—create, initialize, and push repositories with a single command.
Maintainers
Readme
git-lite CLI, Simplifying GitHub from Your Terminal
Hi, I'm Nikhil, Creator of git-lite CLI
🌟 GitLite CLI is a lightweight command-line automation tool built to simplify common Git and GitHub workflows. It removes repetitive steps by offering a clean, interactive interface for creating repositories, pushing code, and managing branches — all from your terminal.
- No complex Git commands
- No setup headaches
- Just a clean, intuitive experience, perfect for beginners and experts alike.
Built with Node.js, this tool is made for developers who want to learn Git in a straightforward way.
Features
- GitHub token-based authentication, stored securely on your device
- GitHub user profile validation
- Push any local project to GitHub in seconds
- Clone repositories using an interactive UI
- Create GitHub repository (public/private) directly from the CLI
- Branch management - Create, switch, and manage Git branches
- Commit management - Handle commits with ease
- Pull updates - Fetch and merge the latest changes from remote repositories
- Auto-generates
.gitignorefiles - Framework Detection with smart
.gitignoresupport - Clean, colorful CLI with loaders and prompts
- Modular structure, easy to extend
New in v2.0.0 -- Latest
- Enhanced Repository Creation (public/private)
- Improved Framework Detection (Node.js, React, Python, Java...)
- Auto
.gitignorefallback for unknown projects - Better Branch Management
- Enhanced CLI Experience with @clack/prompts
Installation & Usage
Run Locally
npx git-lite-cliOr install globally:
npm install -g git-lite-cliThen run:
git-lite-cliCommand Line Options
git-lite-cli # Run the interactive CLI
git-lite-cli --version # Show version number
git-lite-cli -v # Show version number (short)
git-lite-cli --help # Show help information
git-lite-cli -h # Show help information (short)First-Time Setup
- You'll be prompted to enter a GitHub Personal Access Token. Generate your token here: https://github.com/settings/tokens
- Your token and GitHub profile will be safely saved.
Sample Workflow
Welcome to Git-Lite CLI
✔ Welcome NikhilKatkuri!
✔ Choose what you want to do: Create a new Git repository
✔ Enter repository name: my-awesome-project
✔ Visibility: Public
✅ Repo created: https://github.com/NikhilKatkuri/my-awesome-project
✔ Choose what you want to do: Push code to the repository
✔ Enter the local project path: .
✔ Enter commit message: Initial commit from git-lite-cli
✅ Successfully pushed to GitHub: https://github.com/NikhilKatkuri/my-awesome-project.gitAvailable Commands
| Feature | Description |
| ------------------ | ----------------------------------------------------- |
| Create Repository | Initialize new Git repositories locally and on GitHub |
| Push Code | Push local project to GitHub |
| Pull Updates | Fetch and merge changes from remote repository |
| Clone Repository | Clone a GitHub repo interactively |
| Manage Commits | Handle commit operations |
| Manage Branches | Create, switch, and manage Git branches |
| Generate Gitignore | Generate .gitignore for your project |
| Manage Profile | Configure and manage your GitHub profile |
Tech Stack
- Node.js - Runtime environment
- TypeScript - Type-safe JavaScript
- @clack/prompts - Beautiful command-line prompts
- ESLint - Code linting
- Prettier - Code formatting
Development
Prerequisites
- Node.js (v14 or higher)
- npm or yarn
- Git
- GitHub account
Local Development Setup
Clone the repository:
git clone https://github.com/NikhilKatkuri/git-lite-cli.git cd git-lite-cliInstall dependencies:
npm installBuild the project:
npm run buildRun in development mode:
npm run cli
Available Scripts
npm run build- Compile TypeScript to JavaScriptnpm run dev- Watch mode for developmentnpm start- Run the compiled CLInpm run cli- Run the CLI in development modenpm run format- Format code with Prettiernpm run format:check- Check code formattingnpm run lint- Lint code with ESLint
Project Structure
src/
├── index.ts # Main entry point
├── auth/ # Authentication modules
│ ├── isAuth.ts # Authentication checker
│ └── profile.ts # User profile management
├── dir/ # Directory configuration
│ ├── config_dir.ts # Directory configuration
│ └── config_root.ts # Root configuration
├── services/ # Core services
│ ├── branch.ts # Branch operations
│ ├── cli.ts # CLI interface
│ ├── create.ts # Repository creation
│ ├── gitIgnoreGen.ts # .gitignore generation
│ └── push.ts # Push operations
├── tasks/ # Task handlers
│ ├── branchTask.ts # Branch task handler
│ ├── clone.ts # Clone task handler
│ ├── commit.ts # Commit task handler
│ ├── profileTask.ts # Profile task handler
│ └── pull.ts # Pull task handler
├── types/ # TypeScript type definitions
│ ├── RepoConfig.ts # Repository configuration types
│ └── userProfile.ts # User profile types
└── utils/ # Utility functions
├── avatar.ts # Avatar utilities
├── crog.ts # Logging utilities
├── excuter.ts # Command execution
├── fetchUser.ts # User fetching
├── gcp.ts # Git command processor
├── greetings.ts # User greetings
├── ICN.ts # Internet connectivity
├── isGit.ts # Git repository checker
└── repo.ts # Repository utilitiesContributions Welcome!
Git-Lite CLI is open-source and beginner-friendly. Contributions are welcome, whether it's:
- Adding new features
- Improving user experience
- Fixing bugs
- Suggesting ideas
How to Contribute
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Let's make Git easier and friendlier for everyone!
License
This project is licensed under the MIT License - see the LICENSE file for details.
Author
NIKHIL KATKURI
- GitHub: @NikhilKatkuri
Issues
If you encounter any issues or have suggestions, please open an issue on GitHub.
Links
GitHub Repo
npm Git-Lite CLI package
Demo Video - Coming Soon
If you find this project helpful, please consider giving it a star on GitHub!
