PHPackages                             alex-kalanis/kw\_clipr - 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. alex-kalanis/kw\_clipr

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

alex-kalanis/kw\_clipr
======================

CLI Processor

v6.0.0(2y ago)02901BSD-3-ClausePHPPHP &gt;=7.4.0

Since Mar 1Pushed 2y ago1 watchersCompare

[ Source](https://github.com/alex-kalanis/kw_clipr)[ Packagist](https://packagist.org/packages/alex-kalanis/kw_clipr)[ RSS](/packages/alex-kalanis-kw-clipr/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (10)Dependencies (9)Versions (13)Used By (1)

kw\_clipr
=========

[](#kw_clipr)

[![Build Status](https://github.com/alex-kalanis/kw_clipr/actions/workflows/code_checks.yml/badge.svg)](https://github.com/alex-kalanis/kw_clipr/actions/workflows/code_checks.yml/badge.svg)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/9d17faa7ca98f4cc0f3ad9a34de969a63a87cce3cfc09e6ae7bce0ede99067e5/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f616c65782d6b616c616e69732f6b775f636c6970722f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/alex-kalanis/kw_clipr/?branch=master)[![Latest Stable Version](https://camo.githubusercontent.com/b914bad3f2ce04fcd3dc9a96020593b31145776847ce6ffc720afdd8096e5e14/68747470733a2f2f706f7365722e707567782e6f72672f616c65782d6b616c616e69732f6b775f636c6970722f762f737461626c652e7376673f763d31)](https://packagist.org/packages/alex-kalanis/kw_clipr)[![Minimum PHP Version](https://camo.githubusercontent.com/0e9ac047546796cfdbe1423d1f4d91c8f37d2fbb11614a7900bb7686aaa5401f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344253230372e342d3838393242462e737667)](https://php.net/)[![Downloads](https://camo.githubusercontent.com/3e17d76632da8dd7d83eef832bcae910ebe47c7fe68fc95b963a0b2edb5acce1/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f616c65782d6b616c616e69732f6b775f636c6970722e7376673f7631)](https://packagist.org/packages/alex-kalanis/kw_clipr)[![License](https://camo.githubusercontent.com/468f082bb7d4b3b1e6d3553682fee7f91dd8b1aac76a3e7399cd4ffa2d111265/68747470733a2f2f706f7365722e707567782e6f72672f616c65782d6b616c616e69732f6b775f636c6970722f6c6963656e73652e7376673f763d31)](https://packagist.org/packages/alex-kalanis/kw_clipr)[![Code Coverage](https://camo.githubusercontent.com/ed3db06f2522f1e020fc70a5b6b322919d96f79468b5b20184da61afbf5bc664/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f616c65782d6b616c616e69732f6b775f636c6970722f6261646765732f636f7665726167652e706e673f623d6d617374657226763d31)](https://scrutinizer-ci.com/g/alex-kalanis/kw_clipr/?branch=master)

CLI Processor
-------------

[](#cli-processor)

Basic framework for running your scripts from CLI in a bit prettier package. It calls task from predefined sources and allows them to run. Based on django cli and private CliC. You can use it as base for running your own scripts like regular checks or menial tasks. All that with simplified write to CLI output. All that with coloring and runable from web interface, \*nix or Windows CLI. As extra you will get a table engine which creates output in markdown syntax.

Command line query is simple: `clipr task --rest-of-params -t here`. It uses kw\_input for determination which params came. So with a bit of tinkering you can also pass regular files to tasks for some processing.

The tasks returns Unix codes and Clipr pass them back to caller. See the IStatuses interface for their description.

PHP Installation
----------------

[](#php-installation)

### Direct usage

[](#direct-usage)

Install and set PHP on target machine. Then download this project and by following steps fill it by tasks suited for your needs.

1.) Download clipr somewhere / install via Composer

2a.) For \*nix check if your base script with bootstrap can be executed

2b.) For Windows check if you have PHP installed and in %PATH%

3.) Run Clipr from /bin without parameters to test if it works; You must be inside the project dir.

4a.) Here you probably copy clipr initial file to somewhere for better access for users.

4b.) Then it's necessary to include your own autoloader in that file. Preset one probably will not work.

4c.) And you need to set correct paths to basic clipr tasks, mainly due different Composer paths.

5.) Call your clipr initial file and check if it works again. Try Listing for check tasks.

6.) Make another directory with your tasks and fill them with classes based on your use-case.

6.) Call them and check if everything runs

### Composer

[](#composer)

```
composer.phar require alex-kalanis/kw_clipr
```

(Refer to [Composer Documentation](https://github.com/composer/composer/blob/master/doc/00-intro.md#introduction) if you are not familiar with composer)

PHP Usage
---------

[](#php-usage)

Each task is stored in preset directories in which it's possible to find them the fast way. The paths are set in initial file. And each task is subclass of kw\_clipr\\Tasks\\ATask, which allows to write outputs and call params.

For running task simply call `your/path/to/clipr task/name --task-params`

For creating your tasks you must create some directory where they will be, create some tasks with correct namespacing and add that root namespace into Clipr init file to paths. If you use DI autoloading for your classes then you also need to specify that autoloader in Clipr init file - in example there is already a prepared commented-out place. I saw this with DI of DB or other services accessing classes.

Clipr tasks can be set into tree, so you can separate them by some of your logic. Not need to fill one directory with one huge list of tasks.

For beginning I advise to just copy one of tasks and play with it.

Changes
-------

[](#changes)

- v2 uses different way to initialize DI
- v3 uses changed locking mechanism for single-running tasks
- v4 returns status codes
- v5 uses arrays as path settings

Caveats
-------

[](#caveats)

In default setup it contains subparts of kw\_autoload and kw\_inputs projects - both are necessary to run without other dependencies. If you install this via Composer you'll see kw\_input twice and kw\_autoload as extra weight. But that's okay. kw\_autoload doesn't see composer files if they aren't in predefined paths where kw\_autoload can look for them. For default run it isn't necessary to use the whole machine of Composer and it has been developed without it.

And at last - there is NO dependency injection support by default. You must set it by yourself. Because that usually means at least installing Composer and that's the thing I want to avoid. Usual DI libraries are very dependent on Composer. And the whole PSR has been made with Composer in mind. Also original project CliC had no DI support. Version 2 has better support for DI, but it is not running by default. And default tasks do not have it.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity60

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 ~102 days

Recently: every ~118 days

Total

12

Last Release

771d ago

Major Versions

v1.1.0 → v2.0.02021-08-05

v2.0.1 → v3.0.02022-06-15

v3.2.0 → v4.0.02022-12-17

v4.0.1 → v5.0.02023-05-31

v5.0.1 → v6.0.02024-04-02

PHP version history (2 changes)v1.0.0PHP &gt;=7.2.0

v6.0.0PHP &gt;=7.4.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/499b0a541b787cdb31412f578c7b94c9790bcbee7de12c65b6101c6ce45ef6f0?d=identicon)[alex-kalanis](/maintainers/alex-kalanis)

---

Top Contributors

[![alex-kalanis](https://avatars.githubusercontent.com/u/59184183?v=4)](https://github.com/alex-kalanis "alex-kalanis (35 commits)")

---

Tags

cliTasksscripts

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/alex-kalanis-kw-clipr/health.svg)

```
[![Health](https://phpackages.com/badges/alex-kalanis-kw-clipr/health.svg)](https://phpackages.com/packages/alex-kalanis-kw-clipr)
```

###  Alternatives

[symfony/console

Eases the creation of beautiful and testable command line interfaces

9.8k1.1B11.3k](/packages/symfony-console)[nunomaduro/collision

Cli error handling for console/command-line PHP applications.

4.6k331.8M8.5k](/packages/nunomaduro-collision)[nunomaduro/termwind

It's like Tailwind CSS, but for the console.

2.5k239.8M286](/packages/nunomaduro-termwind)[wp-cli/wp-cli

WP-CLI framework

5.0k17.2M320](/packages/wp-cli-wp-cli)[wp-cli/php-cli-tools

Console utilities for PHP

68325.0M367](/packages/wp-cli-php-cli-tools)[jaz303/phake

A wee clone of Ruby's rake for PHP 5.3. Uses closures for ultimate coolness.

362209.9k7](/packages/jaz303-phake)

PHPackages © 2026

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