
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.
credflowcli
Advanced tools
๐ CredFlow Ultimate - Enhanced CLI tool for GitLab automation, ERPNext integration, and DevOps workflows
A powerful, enterprise-ready command-line tool for automating GitLab workflows, ERPNext integration, and deployment processes.
Built by: Gaurav, Manthan, Sharat
CredFlow is your one-stop solution for automating complex DevOps workflows. Whether you're a beginner or an experienced developer, CredFlow makes it easy to:
Option 1: Install from npm (Recommended)
# Install globally
npm install -g credflowcli
# Verify installation
credflow --version
Option 2: Install from source
# Clone the repository
git clone https://gitlab.credenceanalytics.com/sharatyaragatti/CredflowCLI.git
cd CredflowCLI
# Install dependencies
npm install
# Make CLI globally available
npm link
Required:
Optional (for AI-Enhanced Features):
npm install -g @google/generative-ai-cli or use Gemini CLIGEMINI_API_KEY environment variable to use API insteadRun the initialization wizard - it will guide you through everything:
credflow init
The wizard will ask for:
https://gitlab.credenceanalytics.com)https://erp.credenceanalytics.com)# Launch interactive menu
credflow
# Or use specific commands
credflow mr --from-mr "https://gitlab.../merge_requests/123" --target preprod
That's it! You're ready to automate your workflows! ๐
Simply run credflow to access the interactive menu:
credflow
You'll see options like:
Deploy a new development patch:
credflow mr --from-mr "https://gitlab.../merge_requests/123" --target preprod
Deploy an addon patch (additional changes to existing deployment):
credflow mr \
--from-mr "https://gitlab.../merge_requests/124" \
--target preprod \
--patch-type addon \
--original-branch "PREPROD-v6.5.0.286_Update_BBPS_SMS_templates"
What happens behind the scenes:
Basic MR creation:
credflow mr --source feature/my-feature --target main --title "Add new feature"
Advanced MR with file attachments:
credflow mr \
--source feature/user-auth \
--target main \
--title "Feature: User Authentication" \
--description "Implements JWT-based authentication" \
--files ./documentation \
--report ./test-results.docx \
--push \
--merge
credflow software-release --mr-url "https://gitlab.../merge_requests/123"
This will:
Create release tags automatically based on merged MRs:
credflow # Then select "๐ท๏ธ Create GitLab Tag (from MR)"
What happens:
TARGET-vX.X.X.X_SOURCE_BRANCH_NAMEExample Tag Names:
release/lrs-rbi_2025_07_16 โ Tag: PREPROD-v6.5.0.286_lrs-rbi_2025_07_16feature/new-api โ Tag: PROD-v6.5.0.287_new-apiFeatures:
CredFlow automatically detects Thomas Cook projects (mercuryfx/tcil) and uses their specific patch structure and naming conventions.
When you use "Deploy from MR" with a Thomas Cook project, CredFlow automatically:
MFXSTD_RETAIL_LIVE_X_X_X_XXX naming conventionMFXSTD_RETAIL_LIVE_5_0_0_439/
โโโ ReleaseNote.txt (with proper metadata format)
โโโ MR_Description.md (template for GitLab)
โโโ code/
โ โโโ new/ (modified files)
โ โโโ old/ (original files)
โโโ script/
โโโ applyscript.sql
โโโ revertscript.sql
# Just use the normal Deploy from MR workflow
credflow
# Select: ๐ฆ Deploy from MR
# Enter Thomas Cook project MR URL
# Select target branch (e.g., uat)
# CredFlow will detect it's Thomas Cook and handle the rest!
patch_no:MFXSTD_RETAIL_LIVE_5_0_0_439
codebase:1
prev_patch_no:MFXSTD_RETAIL_LIVE_5_0_0_438
release_date:13-10-2025
released_by:Your Name
isaddon:no
parentaddon:MFXSTD_RETAIL_LIVE_5_0_0_439
codechanges:yes
object1:file#filename.jds#Framewrk#0.0.0.1#modify#comment.
total_no_objects:2
dbchanges:no
comments:
authorised_by:Approver Name
qa_certified:yes
CredFlow now supports intelligent tag naming and branch generation powered by Google Gemini AI. The AI learns from your existing project tags to automatically generate branch names that follow your project's conventions.
Option 1: Use Local Gemini CLI (No API Key Required)
# Install Gemini CLI globally
npm install -g @google/generative-ai-cli
# CredFlow will automatically detect and use it
credflow mr --from-mr "https://gitlab.../123" --target prod
Option 2: Use Gemini API
# Set API key in environment
export GEMINI_API_KEY="your-api-key-here"
# Or add to ~/.credflow.env
echo "GEMINI_API_KEY=your-api-key-here" >> ~/.credflow.env
Input:
master (maps to PROD)PROD-v6.5.0.222_Cross_Currency_SplitAI Output:
release/PROD-v6.5.0.223_update_bbps_sms_templates
โ Correct prefix (PROD) โ Incremented version (223) โ Lowercase style (matching existing tags) โ Underscore separators
Confidence Score: AI provides confidence (0-1) for generated names. CredFlow uses AI suggestions only if confidence โฅ 0.7
CredFlow supports secure TOTP authentication for ERPNext. Follow these steps to set up TOTP:
Run the interactive setup:
credflow totp
When prompted for QR code:
Options available:
Example:
# When prompted, provide the SVG file path
Enter QR code image path: /path/to/your/qr-code.svg
CredFlow intelligently handles sequential deployments:
Scenario 1: Base Branch โ First Addon
PREPROD-v6.5.0.286_Update_BBPS_SMS_templatesPREPROD-v6.5.0.286_1_Update_BBPS_SMS_templatesScenario 2: Addon โ Next Addon
PREPROD-v6.5.0.286_1_Update_BBPS_SMS_templatesPREPROD-v6.5.0.286_2_Update_BBPS_SMS_templatesUnlimited sequential patches supported! ๐
CredFlow can automatically resolve merge conflicts:
# Prefer source branch changes (for features)
credflow mr --source feature/new-feature --auto-resolve prefer-source
# Prefer target branch changes (for hotfixes)
credflow mr --source hotfix/urgent-fix --auto-resolve prefer-target
# Manual resolution (default)
credflow mr --source my-branch --auto-resolve manual
api - Full API accessread_repository - Read repository accesswrite_repository - Write repository accessread_user - Read user informationhttps://erp.credenceanalytics.com)After running credflow init, your global configuration file (~/.credflow.env) will contain:
# GitLab Configuration
GITLAB_URL=https://gitlab.credenceanalytics.com
GITLAB_TOKEN=your_gitlab_token_here
# ERPNext Configuration
ERP_URL=https://erp.credenceanalytics.com
ERP_USER=your.email@company.com
ERP_PASSWORD=your_erp_password
ERP_RELEASED_BY_NAME=Your Full Name
# Optional: TOTP for ERPNext (if enabled)
ERP_TOTP_SECRET=your_base32_secret_here
๐ Benefits of Global Configuration:
.env files can still override global settings if needed| Command | Description | Example |
|---|---|---|
credflow | ๐ฎ Launch interactive menu | credflow |
credflow init | ๐ง Initialize CLI with credentials | credflow init |
credflow mr | ๐ Create/manage merge requests | credflow mr --help |
credflow totp | ๐ Setup TOTP authentication | credflow totp |
credflow --help | โ Show help information | credflow --help |
| Option | Description | Example |
|---|---|---|
--from-mr <url> | ๐ฆ Deploy from existing MR | --from-mr "https://gitlab.../123" |
--target <branch> | ๐ฏ Target deployment branch | --target preprod |
--patch-type <type> | ๐ Patch type (new/addon) | --patch-type addon |
--original-branch <name> | ๐ฟ Original branch for addon | --original-branch "PREPROD-v6.5.0.286_Feature" |
--source <branch> | ๐ฑ Source branch | --source feature/my-feature |
--push | ๐ค Push branch before MR | --push |
--merge | ๐ Auto-merge after creation | --merge |
# 1. Deploy to preprod first
credflow mr \
--from-mr "https://gitlab.../merge_requests/123" \
--target preprod
# 2. Test in preprod environment
# ... run your tests ...
# 3. Deploy to production
credflow mr \
--from-mr "https://gitlab.../merge_requests/124" \
--target prod
# Deploy urgent hotfix
credflow mr \
--from-mr "https://gitlab.../merge_requests/urgent-fix" \
--target prod \
--auto-resolve prefer-target
# Additional changes to existing deployment
credflow mr \
--from-mr "https://gitlab.../merge_requests/addon-changes" \
--target preprod \
--patch-type addon \
--original-branch "PREPROD-v6.5.0.286_Original_Feature"
# Create software release in ERPNext
credflow software-release \
--mr-url "https://gitlab.../merge_requests/123"
# Create a release tag from merged MR
credflow # Select "๐ท๏ธ Create GitLab Tag (from MR)"
# Enter MR URL: https://gitlab.../merge_requests/123
# Result: Creates tag like PREPROD-v6.5.0.286_feature_name
# with full GitLab release and MR metadata
Complete Release Workflow:
# 1. Deploy to preprod
credflow mr --from-mr "https://gitlab.../MR/123" --target preprod
# 2. Test and validate
# 3. Create release tag (optional)
credflow # โ Create GitLab Tag (from MR) โ Enter same MR URL
# 4. Deploy to production
credflow mr --from-mr "https://gitlab.../MR/123" --target prod
# 5. Create production tag
credflow # โ Create GitLab Tag (from MR) โ Enter prod MR URL
Problem: "CredFlow CLI is not initialized"
# Solution: Run initialization
credflow init
Problem: "Failed to resolve project from MR URL"
# Solution: Check MR URL format
# Correct: https://gitlab.../namespace/project/-/merge_requests/123
# Wrong: https://gitlab.../merge_requests/123
Problem: "ERPNext login failed"
# Solution: Check credentials and run
credflow # Then select "Test ERP Login"
Problem: "TOTP authentication failed"
# Solution: Re-setup TOTP
credflow totp
Problem: "Merge conflicts detected"
# Solution: Use auto-resolution or resolve manually
credflow mr --source my-branch --auto-resolve prefer-source
Enable detailed logging:
# Set in .env file
LOG_LEVEL=debug
# Or run with debug
DEBUG=* credflow mr --source my-branch
credflow --help or credflow mr --helpcredflow (guides you through everything)credflow.log for detailed informationLOG_LEVEL=debug in .envCredflowCLI/
โโโ ๐ bin/
โ โโโ credflow.js # ๐ฏ Main CLI entry point
โโโ ๐ src/
โ โโโ ๐ config/
โ โ โโโ index.js # โ๏ธ Configuration management
โ โโโ ๐ modules/
โ โ โโโ gitlab.js # ๐ฆ GitLab API integration
โ โ โโโ git-operations.js # ๐ฟ Git operations
โ โ โโโ erp.js # ๐ข ERPNext integration
โ โ โโโ prompt-flows.js # ๐ฎ Interactive flows
โ โโโ ๐ utils/
โ โ โโโ logger.js # ๐ Logging utility
โ โ โโโ project-resolver.js # ๐ Project resolution
โ โ โโโ version-manager.js # ๐ท๏ธ Version management
โ โโโ ๐ commands/
โ โโโ patch-create.js # ๐ฆ Patch creation
โโโ ๐ .env.example # ๐ Environment template
โโโ ๐ package.json # ๐ฆ Project metadata
โโโ ๐ README.md # ๐ This documentation
# Run test suite
npm test
# Run with coverage
npm run test:coverage
# Lint code
npm run lint
git checkout -b feature/my-featurenpm testnpm run lintcredflow mr --source feature/my-featureMIT License - feel free to use in your projects!
We welcome contributions! Here's how:
git checkout -b feature/amazing-featureCore Team:
Special Thanks:
credflow --helpMade with โค๏ธ by the CredFlow Team
Automate your workflows, focus on what matters! ๐
FAQs
๐ CredFlow Ultimate - Enhanced CLI tool for GitLab automation, ERPNext integration, and DevOps workflows
We found that credflowcli 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.