PHPackages                             elijahcruz/tasker - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. elijahcruz/tasker

ActiveProject[CLI &amp; Console](/categories/cli)

elijahcruz/tasker
=================

Easily deploy your projects through the command line.

2.2.0(4y ago)036MITPHPPHP ^7.4|^8.0

Since Jan 15Pushed 4y ago1 watchersCompare

[ Source](https://github.com/elijahcruz12/tasker)[ Packagist](https://packagist.org/packages/elijahcruz/tasker)[ RSS](/packages/elijahcruz-tasker/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (2)Dependencies (10)Versions (9)Used By (0)

```
|__   __|      | |
   | | __ _ ___| | _____ _ __
   | |/ _` / __| |/ / _ \ '__|
   | | (_| \__ \   <  __/ |
   |_|\__,_|___/_|\_\___|_|

```

Introduction
============

[](#introduction)

Tasker is a CLI Deployment tool, written in PHP. It's purpose is to make things simple when deploying your website, and allows you to do so without actually going into the server yourself.

How it works
============

[](#how-it-works)

Tasker works by adding a host, creating a deployment file, and then running that deployment file on your server via SSH.

First, you add the host, you choose the name, such as `myhost`, and then enter the host such as `root@1.2.3.4`.

Next, you create a deployment file, this file is stored on your PC, so it never actually is stored on your server.

Finally, you run the deployment file on the server. This works by SSHing into the server, then running the file, line by line, as commands.

Requirements
============

[](#requirements)

Tasker has very minimal requirements.

- PHP 7.4+
- SSH command installed
- SQLite extension installed

We need the SQlite extension to be able to store the hosts, and the names of the deployments.

Installation
============

[](#installation)

Tasker is available via composer.

```
$ composer global require elijahcruz/tasker

```

After installation, you then just have to run the install command

```
$ tasker install
Creating folder /home/username/.tasker: ✔
Creating Deployments Folder: ✔
Creating Database Folder: ✔
Create Database: ✔
Migrate Database: ✔
Successfully installed.

```

This creates a folder called `.tasker` in your home folder. This is where the deployments and database itself are stored. We need to store them here because we use a .PHAR file.

Usage
=====

[](#usage)

There are a few commands that Tasker has, but they are really easy to learn.

`USAGE: tasker  [options] [arguments]`

```
install         Installs taskers required folders just for your user.

run             Runs a deployment.

ssh             SSH into your hosts.

edit:deployment Edit your deployment script here.

get:host        Get's the host.

new:deployment  Command description

new:host        Creates a New Host

remove:host     Allows you to remove hosts

rename:host     Allows you to rename a host

```

How the run command works
=========================

[](#how-the-run-command-works)

Under the hood, Tasker utilizes Spatie/SSH, allowing for a much easier experience. This uses `scp` under it's hood, which is how it it able to run as such.

Deployment files are kinda like bash files in a way, only running one command per line, with the only real difference being that you don't have you .bashrc handy for it. It also doesn't work with actual bash syntax, such as if/else statements.

Tasker Limitations/Issues Observed
==================================

[](#tasker-limitationsissues-observed)

There are some issues that I've personally noticed with Tasker, some aren't related to Tasker itself, while some are issues that don't actually need to be fixed.

- When using the SSH command, after exiting, it will sometimes throw a SSH error. This is okay as it doesn't affect the usage of the SSH command.
- When using node/npm/npx, if you installed these using NVM, they will most likely not work. This is because NVM uses your `.bashrc`. The only way to fix that issue is to reinstall node using another way, such as NodeSource.

License
=======

[](#license)

Tasker uses the MIT license.

Disclaimer
==========

[](#disclaimer)

Please note that I have to say here that I take no responsability to anything that may happen to your server using Tasker. The reason I say this is because Tasker itself does not create the deployment file, you do. Tasker only runs the deployment file you ask it to run.

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~69 days

Recently: every ~118 days

Total

8

Last Release

1466d ago

Major Versions

0.0.3 → 1.0.02021-01-26

1.0.0 → 2.0.12021-07-16

PHP version history (2 changes)0.0.1PHP ^7.3|^8.0

1.0.0PHP ^7.4|^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/3cd86be6ae99ffef0c65552b89e188d783330f4f33af68e9b7a08dc1fd60ee77?d=identicon)[elijahcruz12](/maintainers/elijahcruz12)

---

Top Contributors

[![elijahcruz12](https://avatars.githubusercontent.com/u/14031707?v=4)](https://github.com/elijahcruz12 "elijahcruz12 (27 commits)")

---

Tags

cliconsoledeployment

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/elijahcruz-tasker/health.svg)

```
[![Health](https://phpackages.com/badges/elijahcruz-tasker/health.svg)](https://phpackages.com/packages/elijahcruz-tasker)
```

###  Alternatives

[helhum/typo3-console

A reliable and powerful command line interface for TYPO3 CMS

2939.0M192](/packages/helhum-typo3-console)[enqueue/async-command

Symfony async command

12200.7k3](/packages/enqueue-async-command)[php-school/php-workshop

PHP Workshop Framework

466.3k6](/packages/php-school-php-workshop)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
