PHPackages                             polishdeveloper/stark - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. polishdeveloper/stark

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

polishdeveloper/stark
=====================

Versioning repositories hooks framework

00PHP

Since Nov 21Pushed 11y ago2 watchersCompare

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

READMEChangelogDependenciesVersions (1)Used By (0)

STARK
=====

[](#stark)

[![Build Status](https://camo.githubusercontent.com/3f1332801639ce55985cd0986c6608355691ff1d1da52d86d304433a2f7222d6/68747470733a2f2f7472617669732d63692e6f72672f706f6c697368646576656c6f7065722f737461726b2e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/polishdeveloper/stark)[![Coverage Status](https://camo.githubusercontent.com/0672907dfa6030cb5e5b77911f7dc759012403407b5e277de5940240f7067b76/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f706f6c697368646576656c6f7065722f737461726b2f62616467652e706e673f6272616e63683d6d6173746572)](https://coveralls.io/r/polishdeveloper/stark?branch=master)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/3d87b9696886c403f2e9419c775d4dc37588463b1bc52302caf446089c8d3bf7/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f706f6c697368646576656c6f7065722f737461726b2f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/polishdeveloper/stark/?branch=master)

Stark is a project to perform VCS hooks and in case of errors stop action and report to user. Stark's use of simple XML hooks file and extensible PHP task classes make it an easy-to-use and highly flexible VCS hooks framework.

Stark was written in the way how Phing is managing the build system - one simple XML rules all tasks. Additionally system of properties is very similar to one used in Phing, if you know how to use Phing, you're ready to start using Stark.

- Supports multiple actions per hook
- Supports multiple VCS systems
- Define everything in one portable XML file
- Plug-in architecture allows super-easy extensions

Stark solved all issues with creating VCS-related scripts. With one clean XML you can manage all hooks in all your repositories . With big set of predefined tasks you are able to start checking your commits integrity just in a few seconds.

Usage
-----

[](#usage)

```
stark vcs_type action arg1, arg2, arg3, ... argN
```

paraminfotyperepository type. At this moment STARK supports only SVN. Git Support is in progressactionaction you want to perform. Stark will take all tasks defined under hooks/{ACTION} tree and execute them. If at least one of them fails script will stop commit and output error message \[only on pre-actions\]arg1, arg2, arg3arguments set for repositorySample XML definition
---------------------

[](#sample-xml-definition)

```

```

Available Tasks
---------------

[](#available-tasks)

Comment
-------

[](#comment)

```

```

ParameterDefault valueRequiredDescriptionminLength0noMinimum comment lengthnotEmptytruenocan comment be emptyregex/.\*/noregular expression comment has to matchExecute external command
------------------------

[](#execute-external-command)

```

```

ParameterDefault valueRequiredDescriptioncommandnullyescommand to runerrorMessageExecution of remote command '%s' failed with code '%snoError message to show when command fails (sends exitCode different than successExitCodesuccessExitCode0nosuccess exit codeincludeOutputfalsenowhen tasks fails, should error message contain output of scriptFile Filter
-----------

[](#file-filter)

```

```

ParameterDefault valueRequiredDescriptionextensionsnullnocomma sepearated list of extensions to filterregex''nofile paths cannot match given regular expressionnoSpacesfalsenoDon't allow spaces in file namesUseOnlyAsciiFileNamesfalsenoAllow only ASCII chars in file nameadmins''nocomma separated list of authors who are allowed to commitLog
---

[](#log)

```

```

ParameterDefault valueRequiredDescriptionfileyeslog file namemessageyesline to put into log fileMail
----

[](#mail)

```

```

ParameterDefault valueRequiredDescriptionto''yesreceiver of messagesubject''yesmessage subjectbody''yesemail contentfromstark@localhostnosenderreplyTonone@localhostnoreplyTo addressPHPLint
-------

[](#phplint)

```

```

ParameterDefault valueRequiredDescriptionfileExtensionsphp,php4,php5,phtmlnocomma separated list of php file extensionsPHP Code Sniffer
----------------

[](#php-code-sniffer)

```

```

ParameterDefault valueRequiredDescriptionfileExtensionsphp,php4,php5,phtmlnocomma separated list of php file extensionsstandardPSR-2noCode Style standardRegisterRepository
------------------

[](#registerrepository)

```
 >

```

Registers a new repository for given hooks.

ParameterDefault valueRequiredDescriptionname''yesrepository nameclassname''yesclass that implments **\\Stark\\core\\Repository** interfaceTo use new repository you have to run Stark passing new repository name

```
stark vcs myAction arg1, arg2, arg3
```

RegisterTask
------------

[](#registertask)

```

```

ParameterDefault valueRequiredDescriptionname''yesrepository nameclassname''yesclass that extends **\\Stark\\core\\Tasks\\Task** classAuthor
------

[](#author)

Piotr Miazga

License
-------

[](#license)

GNU

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity0

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 95.8% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/c49b09fa72175a03490168d735ac5684413242f4fb241dfd59dd5f7a3aae7189?d=identicon)[polishdeveloper](/maintainers/polishdeveloper)

---

Top Contributors

[![polishdeveloper](https://avatars.githubusercontent.com/u/3909689?v=4)](https://github.com/polishdeveloper "polishdeveloper (23 commits)")[![scrutinizer-auto-fixer](https://avatars.githubusercontent.com/u/6253494?v=4)](https://github.com/scrutinizer-auto-fixer "scrutinizer-auto-fixer (1 commits)")

### Embed Badge

![Health badge](/badges/polishdeveloper-stark/health.svg)

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

###  Alternatives

[cretueusebiu/laravel-vue-spa

A Laravel-Vue SPA starter project template.

3.0k18.8k](/packages/cretueusebiu-laravel-vue-spa)[michaldudek/subdomain-blacklist

Common words that your users shouldn't use when setting up accounts.

2816.0k](/packages/michaldudek-subdomain-blacklist)[ipub/gravatar

Gravatar creator for Nette Framework

122.0k1](/packages/ipub-gravatar)

PHPackages © 2026

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