A comprehensive Node.js automation suite that goes beyond simple commit generation. While most GitHub automation tools only handle commits, Git Pulse provides a complete development workflow automation including commits, issues, pull requests, merges, and post-merge code reviews.
This repository contains automation scripts designed to provide end-to-end GitHub workflow automation. Unlike traditional GitHub automation tools that focus solely on commit generation, Git Pulse offers a comprehensive solution that mimics real development workflows.
Traditional GitHub Automation: Only generates commits
- β Creates commits
- β No issue tracking
- β No pull request workflow
- β No code review process
Git Pulse: Complete development lifecycle automation
- β Auto Code Commits: Intelligent commit generation with realistic patterns
- β Issue Management: Create, assign, and manage GitHub issues
- β Pull Request Workflow: Create PRs with proper branching strategies
- β Automated Merges: Handle PR merges with configurable approval workflows
- β Post-Merge Reviews: Generate realistic code review comments and discussions
This creates a natural, authentic development workflow that mirrors real team collaboration patterns.
Git-Pulse/
βββ src/
β βββ package.json
β βββ package-lock.json
β βββ index.js
β
βββ Credits/
β βββ Credit.md
β
βββ Archive/
β βββ Readme.md
β βββ index.js
β
βββ .github/
β βββ ISSUE_TEMPLATE/
β β βββ bug_report.md
β β βββ feature_request.md
β βββ Assets/
β β βββ logo.png
β βββ CODE_OF_CONDUCT.md
β βββ README.md/
β
βββ LICENSE
- Smart Commit Generation: Create realistic commits with varied content and timing patterns
- Issue Lifecycle Management: Automatically create, label, assign, and close GitHub issues
- Pull Request Automation: Generate PRs with proper branching, descriptions, and linking to issues
- Automated Code Reviews: Post meaningful review comments and suggestions
- Merge Management: Handle PR approvals and merges with configurable strategies
- Multi-Repository Management: Operate on multiple Git repositories simultaneously
- Automated Discovery: Automatically find and process Git repositories in specified directories
- Workflow Templates: Pre-configured workflows for different development patterns
- Integration APIs: Connect with GitHub API for complete platform integration
- Realistic Timing: Simulate natural development patterns and team collaboration rhythms
- Flexible Configuration: Customizable settings for different automation scenarios
- Error Handling: Robust error handling for reliable batch operations
- Comprehensive Logging: Detailed logging for monitoring and debugging
- Node.js (v14.0.0 or higher)
- Git installed and configured
- A GitHub account with access to the repositories to be automated
- Access to target repositories (using GitHub Fine-Grained Token)
-
Clone the repository
git clone https://github.com/Jyotibrat/Git-Pulse.git cd Git-Pulse -
Install dependencies
cd src npm install -
Configure your settings
Edit your details of GitHub Username, GitHub Fine-Grained Token and Repositories Names.
const GitPulse = require('./src/git-pulse');
const pulse = new GitPulse({
repositories: ['../repo1', '../repo2'],
autoDiscoverRepos: true,
parentDirectory: '../projects',
// Workflow configuration
workflows: {
commits: true,
issues: true,
pullRequests: true,
codeReviews: true,
autoMerge: true
}
});
await pulse.execute();// Configure a full development cycle
const fullWorkflow = new GitPulse({
repositories: ['../my-project'],
workflows: {
// Create realistic commits
commits: {
frequency: 'daily',
types: ['feat', 'fix', 'docs', 'refactor'],
realistic: true
},
// Generate and manage issues
issues: {
createRate: 0.3,
types: ['bug', 'feature', 'enhancement'],
autoAssign: true
},
// Handle pull requests
pullRequests: {
branchStrategy: 'feature-branch',
linkToIssues: true,
reviewRequired: true
},
// Post-merge activities
postMerge: {
codeReview: true,
documentation: true,
cleanup: true
}
}
});
await fullWorkflow.start();const config = {
// Repository settings
repositories: [], // Array of repository paths
autoDiscoverRepos: true, // Auto-discover repositories
parentDirectory: '../', // Parent directory to search
// GitHub Integration
github: {
token: process.env.GITHUB_TOKEN, // GitHub personal access token
owner: 'username', // Repository owner
defaultBranch: 'main' // Default branch name
},
// Workflow Configuration
workflows: {
commits: {
enabled: true,
frequency: 'daily', // daily, weekly, random
pattern: 'realistic' // realistic, burst, steady
},
issues: {
enabled: true,
createRate: 0.3, // Issues per day ratio
autoClose: true, // Auto-close resolved issues
labels: ['bug', 'feature'] // Default labels
},
pullRequests: {
enabled: true,
branchStrategy: 'feature', // feature, hotfix, release
reviewers: 2, // Number of reviewers
autoMerge: true // Auto-merge when approved
},
codeReview: {
enabled: true,
depth: 'comprehensive', // light, moderate, comprehensive
tone: 'constructive' // constructive, strict, casual
}
},
// Operation settings
batchSize: 10, // Number of repos to process simultaneously
delay: 100, // Delay between operations (ms)
// Logging
verbose: true, // Enable detailed logging
logFile: 'git-pulse.log' // Log file path
};Run the test (would suggest first do it in a freshly made GitHub Account):
# Run all tests
cd "Git-Pulse/src"
node index.jsWe welcome contributions! Please see our CODE_OF_CONDUCT for details.
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes and perform tests.
- Commit your changes:
git commit -m 'Add feature' - Push to your fork:
git push origin feature-name - Submit a pull request
This tool is designed for legitimate automation needs such as:
- Repository maintenance and cleanup
- Consistent workflow enforcement
- Development process automation
- CI/CD pipeline integration
Please use responsibly and avoid any practices that might artificially inflate contribution statistics or mislead about development activity.
- Dry-run mode for testing operations
- Backup recommendations before bulk operations
- Confirmation prompts for destructive actions
- Comprehensive logging for audit trails
simple-git: Git operations interfacefs-extra: Enhanced file system operationslodash: Utility functionsmoment: Date manipulation
All credits and acknowledgments to the YouTube creators, developers, and educational content that inspired this project are documented in the Credit.md file. Please visit the main directory to see full credits and attributions.
This project is licensed under the MIT License - see the LICENSE file for details.
Note: The /Archive directory contains deprecated experimental code that is preserved for educational purposes but should not be used in production environments.
Disclaimer: This tool should only be used for educational purposes. Do not use it to artificially inflate contribution statistics or mislead about development activity.
