softpulze / devpulse-cli
DevPulse CLI - An open-source command-line tool that simplifies and unifies developer workflows.
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
pkg:composer/softpulze/devpulse-cli
Requires
- php: ^8.2.0
Requires (Dev)
- larastan/larastan: ^3.0
- laravel-zero/framework: ^12.0
- laravel/pint: ^1.18
- mockery/mockery: ^1.6.12
- pestphp/pest: ^3.5.1
- pestphp/pest-plugin-type-coverage: ^3.2
- rector/rector: ^2.0
This package is auto-updated.
Last update: 2026-02-02 07:09:53 UTC
README
DevPulse is an open-source, lightweight command-line interface (CLI) designed to simplify and standardize development workflows. It provides a unified interface for managing scripts and server connections across platforms, boosting productivity and reducing complexity.
โ ๏ธ Note: DevPulse is in active development. We're working toward a stable releaseโstay tuned!
Key Features
- ๐ Cross-Platform Support: Available via Composer; support for Windows, macOS, and Linux coming soon.
- โก Quick Setup: Auto-generates configuration on first run or with
devpulse init. - ๐ Smart Configuration Merging: Combines global and local configurations, with local settings taking precedence.
- ๐ User-Friendly JSON Configs: Easy-to-edit, human-readable JSON files for scripts and servers.
- ๐ Full Data Control: Store configurations locally with no vendor lock-in.
- ๐ก๏ธ Lightweight & Secure: Zero dependencies, safe for any environment, including servers.
- ๐ ๏ธ Script Management: Easily add, remove, edit, list, and run scripts with intuitive commands. Execute multiple scripts simultaneously, including concurrent execution.
- ๐ Server Management: Easily add, remove, edit, list, and SSH into servers without manual configuration of host, port, or other SSH details.
Installation
Prerequisites
- PHP: Version 8.2 or higher
- Composer: Required for installation
- PATH Setup: Ensure Composer's global bin directory is in your PATH. Add this to your
.bashrc,.zshrc, or equivalent:export PATH="$PATH:$HOME/.composer/vendor/bin"
Install DevPulse
- Install globally via Composer:
composer global require softpulze/devpulse-cli
- Verify installation:
devpulse --version
Getting Started
Initial Setup
Run DevPulse for the first time to auto-generate a configuration file, or initialize manually:
devpulse init
devpulse init creates a devpulse.json file in the current directory. When executing any command, local settings (./devpulse.json) take precedence over global settings (e.g., ~/.devpulse/devpulse.json).
Configuration File
DevPulse uses a simple devpulse.json file to manage scripts and servers. Example:
{
"scripts": [
{
"name": "rector",
"command": "./vendor/bin/rector",
"description": "Refactor with Rector"
},
{
"name": "pint",
"command": "./vendor/bin/pint",
"description": "Reformat code with Pint"
},
{
"name": "refacto",
"command": "devpulse run rector,pint",
"description": "Refactor code with rector and reformat code with Pint"
}
],
"servers": [
{
"name": "production",
"host": "example.com",
"user": "deploy",
"port": 22
}
]
}
- Scripts: Define reusable commands with optional descriptions.
- Servers: Store SSH connection details for quick access.
Script Management
Manage project scripts with straightforward commands:
| Command | Description | Example |
|---|---|---|
script:list |
List all scripts | devpulse script:list |
script:add |
Add a new script (interactive mode) | devpulse script:add |
script:add <name> <command> |
Add a script with inline options | devpulse script:add test "npm test" --description="Run tests" |
script:update <name> |
Update an existing script | devpulse script:update test --command="npm run test:ci" |
script:remove <name> |
Remove a script | devpulse script:remove test |
run <name> |
Run a script | devpulse run test |
run <name>,<another-name> |
Run multiple script at once | devpulse run test,test2 |
Running Scripts
Execute scripts with flexible options:
- Basic execution:
devpulse run test - Run concurrently:
devpulse run test,test2 --concurrently
- Pass custom options:
devpulse run deploy --env=production --force
Server Management
Simplify server connections with these commands:
| Command | Description | Example |
|---|---|---|
server:list |
List all servers | devpulse server:list |
server:add |
Add a new server (interactive mode) | devpulse server:add |
server:add <name> <host> |
Add a server with inline options | devpulse server:add production example.com --user=deploy --port=22 |
server:update <name> |
Update server details | devpulse server:update production --port=2222 |
server:remove <name> |
Remove a server | devpulse server:remove production |
ssh <name> |
SSH into a server | devpulse ssh production |
Contributing
We welcome contributions! Fork the repository, make changes, and submit a Pull Request. Check the repository for guidelines and open issues.
License
DevPulse is licensed under the MIT License.
Support
- Documentation: Official DevPulse Docs (Available Soon)
- Issues: Report bugs or request features on the GitHub repository
- Community: Join discussions on X by searching for
#DevPulseCLI.