https://github.com/softpulze/devpulse-cli
DevPulseCLI: Your shortcut through the development grind.
https://github.com/softpulze/devpulse-cli
cli cli-tool dev developer developer-tools development
Last synced: 6 months ago
JSON representation
DevPulseCLI: Your shortcut through the development grind.
- Host: GitHub
- URL: https://github.com/softpulze/devpulse-cli
- Owner: softpulze
- License: mit
- Created: 2024-12-01T10:45:49.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-16T16:42:32.000Z (9 months ago)
- Last Synced: 2025-09-27T13:22:56.133Z (9 months ago)
- Topics: cli, cli-tool, dev, developer, developer-tools, development
- Language: PHP
- Homepage: https://github.com/devpulse-lab/devpulse-cli
- Size: 70.1 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
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:
```bash
export PATH="$PATH:$HOME/.composer/vendor/bin"
```
### Install DevPulse
1. Install globally via Composer:
```bash
composer global require softpulze/devpulse-cli
```
2. Verify installation:
```bash
devpulse --version
```
## Getting Started
### Initial Setup
Run DevPulse for the first time to auto-generate a configuration file, or initialize manually:
```bash
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:
```json
{
"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 ` | Add a script with inline options | `devpulse script:add test "npm test" --description="Run tests"` |
| `script:update ` | Update an existing script | `devpulse script:update test --command="npm run test:ci"` |
| `script:remove ` | Remove a script | `devpulse script:remove test` |
| `run ` | Run a script | `devpulse run test` |
| `run ,` | Run multiple script at once | `devpulse run test,test2` |
### Running Scripts
Execute scripts with flexible options:
- Basic execution:
```bash
devpulse run test
```
- Run concurrently:
```bash
devpulse run test,test2 --concurrently
```
- Pass custom options:
```bash
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 ` | Add a server with inline options | `devpulse server:add production example.com --user=deploy --port=22` |
| `server:update ` | Update server details | `devpulse server:update production --port=2222` |
| `server:remove ` | Remove a server | `devpulse server:remove production` |
| `ssh ` | 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](https://opensource.org/licenses/MIT).
## Support
- **Documentation**: [Official DevPulse Docs](https://github.com/softpulze/devpulse-cli) (Available Soon)
- **Issues**: Report bugs or request features on the [GitHub repository](https://github.com/softpulze/devpulse-cli/issues)
- **Community**: Join discussions on [X](https://x.com/search?q=%23DevPulseCLI&src=typed_query) by searching for `#DevPulseCLI`.