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

v0.0.2-beta 2025-09-27 20:14 UTC

This package is auto-updated.

Last update: 2026-02-02 07:09:53 UTC


README

Overview DevPulse PHP

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

  1. Install globally via Composer:
    composer global require softpulze/devpulse-cli
  2. 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