@cosmstack/repoeject v0.1.4
🚀 Repo Eject CLI
Early Stage Project - This is an MVP tool with core functionality implemented. See Roadmap for planned features.
A command-line tool that helps developers clean up their GitHub accounts by finding and safely removing old or inactive repositories. Perfect for developers with cluttered GitHub profiles who want to maintain a clean, professional presence.
✨ Why Use Repo Eject?
- Declutter your GitHub profile - Remove old experiments, abandoned projects, and inactive forks
- Safe by default - Interactive prompts and dry-run mode prevent accidental deletions
- Time-saving - Quickly identify inactive repositories instead of manually browsing through dozens of repos
- Professional presence - Keep only your best work visible to potential employers and collaborators
🎯 Current Features
- ✅ Repository Analysis - Automatically scan and list your GitHub repositories
- ✅ Interactive Selection - Choose which repositories to delete through a user-friendly CLI
- ✅ Safe Deletion - Confirmation prompts and dry-run mode for safety
- ✅ GitHub API Integration - Secure authentication with personal access tokens
- ✅ Colorful Output - Clear, readable terminal interface
📋 Prerequisites
- Node.js v18 or higher
- GitHub Personal Access Token with
repo
scope (How to create one)
🚀 Quick Start
Installation
# Install globally via npm
npm install -g @cosmstack/repoeject
# Or with yarn
yarn global add @cosmstack/repoeject
GitHub Token Setup
- Go to GitHub Settings → Developer Settings → Personal Access Tokens
- Click "Generate new token (classic)"
- Select the
repo
scope (full control of private repositories) - Copy the generated token
Usage
# Run the interactive CLI
repoeject
# Dry run (see what would be deleted without actually deleting)
repoeject --dry-run
# Skip confirmation prompts (use with caution!)
repoeject --force
# Show help
repoeject --help
The CLI will guide you through: 1. Authentication - Enter your GitHub token when prompted 2. Repository Scanning - Automatically fetch and analyze your repositories 3. Selection - Choose which repositories to delete from an interactive list 4. Confirmation - Review and confirm your selections before deletion
🛠️ Development
Local Setup
# Clone the repository
git clone https://github.com/CosmStack/repo-eject-cli.git
cd repo-eject-cli
# Install dependencies
npm install
# Build the project
npm run build
# Link for local development
npm link
# Run in development mode
npm run dev
Available Scripts
npm run type-check # TypeScript type checking
npm run lint # Code linting
npm run lint:fix # Fix linting issues
npm run format # Format code with Biome
npm run build # Build for production
npm run dev # Run in development mode
🚧 Roadmap
This project is in active development. Planned features include:
- Advanced Filtering - Filter by last commit date, stars, language, etc.
- Bulk Operations - Select repositories by criteria (e.g., "all forks older than 1 year")
- Repository Backup - Export repository metadata before deletion
- Undo Functionality - Restore recently deleted repositories (if possible)
- Configuration File - Save preferences and filtering rules
- Repository Analytics - Detailed insights about your repository portfolio
🤝 Contributing
We welcome contributions! This project uses Conventional Commits for commit messages.
# 1. Fork and clone the repository
# 2. Create a feature branch
git checkout -b feature/amazing-feature
# 3. Make your changes and commit using conventional commits
git add .
npx cz # Interactive commit message helper
# 4. Push and create a Pull Request
git push origin feature/amazing-feature
📄 License
MIT License - see the LICENSE file for details.
⚠️ Important: Always review the repositories selected for deletion. This tool permanently removes repositories from GitHub.
Made with ❤️ by CosmStack