
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
A comprehensive GitHub repository management tool with CLI and Web UI support
The ultimate tool for GitHub repository management with advanced commit graph manipulation, automated repository creation, and a beautiful web interface.
RepoFlow is organized into clear, logical directories:
repoflow/
├── 📁 scripts/ # All shell scripts and batch files
├── 📁 docs/ # Individual script documentation
├── 📁 examples/ # Example usage scripts
├── 📁 config/ # Configuration files
├── 📁 src/ # Source code (TypeScript, Python, Rust)
├── 📁 ui/ # React web interface
├── 📁 tests/ # Test files
└── 📄 README.md # This file
See PROJECT_STRUCTURE.md for detailed organization.
# Install globally
npm install -g repoflow@latest
# Or use npx (no installation required)
npx repoflow@latest --help
Go to GitHub Settings:
Create New Token:
repo (Full control of private repositories)workflow (Update GitHub Action workflows)write:packages (Upload packages to GitHub Package Registry)delete:packages (Delete packages from GitHub Package Registry)Copy the Token:
ghp_)# Set up your GitHub credentials (all in one command)
repoflow-js config --token YOUR_GITHUB_TOKEN --username your-username --email your-email@example.com
# Or set them individually
repoflow-js config --token YOUR_GITHUB_TOKEN
repoflow-js config --username your-username
repoflow-js config --email your-email@example.com
# View current configuration
repoflow-js config --show
# Logout and clear all configuration
repoflow-js logout
When you first start the web UI, you'll be prompted to configure your GitHub credentials:
The web UI will guide you through this process with helpful links to GitHub settings.
The auto command is the most powerful feature - it automatically handles everything:
# Basic auto-push (detects directory, creates repo if needed)
repoflow-js auto
# With specific directory and repository
repoflow-js auto --dir /path/to/project --repo my-awesome-project
# With advanced commit manipulation
repoflow-js auto --repo my-project --multiple 5 --spread 24 --date "2024-01-15"
# Create private repository
repoflow-js auto --repo my-private-project --private
# Force commit even if no changes
repoflow-js auto --repo my-project --force
# Create a new repository
repoflow-js create my-new-project
# Create private repository
repoflow-js create my-private-project --private
# Create with custom directory
repoflow-js create my-project --dir /path/to/source
# Create with multiple commits and backdating
repoflow-js create my-project --multiple 3 --spread 12 --date "2024-01-01"
# Push current changes
repoflow-js push
# Push with custom message and date
repoflow-js push --message "Add new features" --date "2024-01-15"
# Push with multiple commits
repoflow-js push --multiple 3 --spread 6
# Force push
repoflow-js push --force
# Show repository status
repoflow-js status
# Show status for specific directory
repoflow-js status --dir /path/to/project
# Guided interactive mode
repoflow-js interactive
# Start web interface
repoflow-js ui
# Start on custom port
repoflow-js ui --port 3001
# Start and open browser
repoflow-js ui --open
repoflow-js auto [options]
Options:
-d, --dir <directory> Target directory (default: current)
-r, --repo <name_or_url> Repository name or full URL
-m, --message <message> Commit message (auto-generated if not provided)
-t, --date <date> Commit date (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS)
-p, --private Create private repository
-f, --force Force commit even if no changes detected
--backdate Enable advanced backdating
--multiple <count> Create multiple commits (default: 1)
--spread <hours> Spread commits over hours (default: 0)
--open Open browser automatically
repoflow-js create <name> [options]
Options:
-p, --private Create private repository
-d, --dir <directory> Target directory (default: current)
-m, --message <message> Initial commit message
-t, --date <date> Commit date
--backdate Enable backdating
--multiple <count> Create multiple commits (default: 1)
--spread <hours> Spread commits over hours (default: 0)
repoflow-js push [options]
Options:
-d, --dir <directory> Target directory (default: current)
-m, --message <message> Commit message
-t, --date <date> Commit date
--backdate Enable backdating
--multiple <count> Create multiple commits (default: 1)
--spread <hours> Spread commits over hours (default: 0)
--force Force push
repoflow-js status [options]
Options:
-d, --dir <directory> Target directory (default: current)
repoflow-js config [options]
Options:
--token <token> Set GitHub token
--username <username> Set GitHub username
--email <email> Set email address
--show Show current configuration
repoflow-js logout
Description:
Logout and clear all saved configuration including token, username, and email
Example:
repoflow-js logout
# ✅ Successfully logged out!
# 🗑️ All saved configuration has been cleared.
repoflow-js ui [options]
Options:
-p, --port <port> Port number (default: 3000)
-h, --host <host> Host address (default: localhost)
--open Open browser automatically
# Create a project with commits spread over the last month
repoflow-js auto --repo my-project --multiple 10 --spread 720 --date "2024-01-01"
RepoFlow automatically generates natural, varied commit messages instead of robotic ones:
# Instead of: "Update project (1/10)", "Update project (2/10)", etc.
# You get:
# ✅ Initial commit
# ✅ Implement user authentication system
# ✅ Add responsive design for mobile
# ✅ Update documentation and README
# ✅ Optimize performance and loading speed
50+ different professional commit message templates are used automatically!
# Add commits with specific dates
repoflow-js push --date "2024-01-15" --multiple 3 --spread 24
# Use existing repository URL
repoflow-js auto --repo https://github.com/username/existing-repo.git
# Or work with directory that already has a repo
cd /path/to/existing/project
repoflow-js auto --multiple 5 --spread 12
RepoFlow automatically detects your current branch (main, master, or custom):
# Works with any branch - no need to specify!
repoflow-js auto --repo my-project
# Automatically detects: master, main, develop, etc.
# Guided setup for complex scenarios
repoflow-js interactive
# Switch between different GitHub accounts
repoflow-js logout
repoflow-js config --token NEW_TOKEN --username new-user --email new@email.com
# Check current account
repoflow-js config --show
repoflow-js ui --openhttp://localhost:3000# Clone the repository
git clone https://github.com/cybergenii/repoflow.git
cd repoflow
# Install dependencies
npm install
# Build the project
npm run build
# Start development server
npm run dev
npm run build # Build TypeScript and UI
npm run build:ui # Build React UI only
npm run dev # Start development server
npm run test # Run tests
npm run lint # Run linter
repoflow/
├── src/ # TypeScript source
│ ├── cli.ts # Main CLI implementation
│ ├── services/ # Core services
│ │ ├── git.ts # Git operations
│ │ └── github.ts # GitHub API
│ ├── utils/ # Utilities
│ │ ├── config.ts # Configuration management
│ │ └── commit-messages.ts
│ └── types/ # TypeScript definitions
├── ui/ # React web interface
│ ├── src/
│ │ ├── App.tsx # Main React app
│ │ ├── pages/ # UI pages
│ │ └── components/ # React components
│ └── dist/ # Built UI assets
├── dist/ # Compiled JavaScript
└── package.json
~/.repoflow/config.jsongit checkout -b feature/amazing-featuregit commit -m 'Add amazing feature'git push origin feature/amazing-featureThis project is licensed under the MIT License - see the LICENSE file for details.
scripts/ directory)All scripts are located in the scripts/ directory and provide various automation features:
ad.sh - Simple automated deployment scriptadv.sh - Advanced deployment with multiple optionscreate_repo.sh - Create new GitHub repositorycommit_repo.sh - Commit and push changessimp_push.sh - Simple push scriptcomplex_commit.sh - Advanced commit manipulation with backdatingcomplex_create.sh - Complex repository creation with custom optionsdocs/ directory)Each script has corresponding documentation:
docs/ad.md - Simple deployment documentationdocs/adv.md - Advanced deployment documentationdocs/create_repo.md - Repository creation guidedocs/commit_repo.md - Commit operations guidedocs/simp_push.md - Simple push guidedocs/complex_commit.md - Complex commit guidedocs/complex_create.md - Complex creation guidecreate-release.sh - Create and publish new releases (Linux/Mac)create-release.bat - Create and publish new releases (Windows)diagnose.sh - Diagnostic script for troubleshootingrun-examples.sh - Example usage scripts (Linux/Mac)run-examples.bat - Example usage scripts (Windows)repoflow-js.ps1 - PowerShell wrapper for Windows# Make script executable
chmod +x scripts/ad.sh
# Run the script
./scripts/ad.sh
# Or run from scripts directory
cd scripts
./ad.sh
# Run PowerShell script
.\scripts\repoflow-js.ps1
# Or run batch file
.\scripts\run-examples.bat
logout command to clear all saved configuration-u flag on first pushMade with ❤️ by cybergenii
FAQs
A comprehensive GitHub repository management tool with CLI and Web UI support
The npm package repoflow receives a total of 11 weekly downloads. As such, repoflow popularity was classified as not popular.
We found that repoflow demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.