PHPackages                             saiyan/selim - 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. saiyan/selim

AbandonedLibrary

saiyan/selim
============

Selim

18[1 issues](https://github.com/Saiyan/selim/issues)PHP

Since Jun 22Pushed 9y ago1 watchersCompare

[ Source](https://github.com/Saiyan/selim)[ Packagist](https://packagist.org/packages/saiyan/selim)[ RSS](/packages/saiyan-selim/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

selim
=====

[](#selim)

CLI Tool for scanning Silverstripe-CMS Installations

[![Build Status](https://camo.githubusercontent.com/532278afb637996f9b99494d4079afe1f53c55386ab6446ead55f364cc958283/68747470733a2f2f7472617669732d63692e6f72672f53616979616e2f73656c696d2e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/Saiyan/selim)[![Code Climate](https://camo.githubusercontent.com/cbfa1139dd3da406a8f3481aa76e50ab0744caf5219c12c3ec40e0e4c5a21d33/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f53616979616e2f73656c696d2f6261646765732f6770612e737667)](https://codeclimate.com/github/Saiyan/selim)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/9a6db8d2c146c7ed56819acf93551a92e21c9a9af2e9a480afee3d52f704b235/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f53616979616e2f73656c696d2f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/Saiyan/selim/?branch=master)[![Dependency Status](https://camo.githubusercontent.com/540c04b7fad7fc06c38bf088e2b18ae8236be19ab2a97dfa6aa8f8eb26090469/68747470733a2f2f7777772e76657273696f6e6579652e636f6d2f757365722f70726f6a656374732f3535373832323462333336363330303031653030303031342f62616467652e7376673f7374796c653d666c6174)](https://www.versioneye.com/user/projects/5578224b336630001e000014)

Requirements
------------

[](#requirements)

- composer
- symfony/yaml: v2.6.1
- pear/console\_table: 1.2.1

Installation
------------

[](#installation)

```
git clone https://github.com/Saiyan/selim.git
cd selim
composer install

```

Or

Commands
--------

[](#commands)

```
php bin/selim.php  command [options] [arguments]

```

Before you can start to use selim you have to tell it where your silverstripe folders are. For this you can use the two commands "find" and "add".

### find

[](#find)

```
php bin/selim.php find PATH

```

This command searches for all possible paths of silverstripe project-folders. After that selim will prompt you for every found folder which name you want to assign to each folder.

### add

[](#add)

```
php bin/selim.php add

```

The NAME for your site is just a String so you can identify your site later on whereas the PATH needs to be the path to the "project" folder of your silverstripe instance. If you dont change it after installing Silverstripe it should be the "mysite" folder.

### rm

[](#rm)

If you want to remove a page "NAME" from your config then just use

```
php bin/selim.php rm NAME

```

### security

[](#security)

this command reads the Version of your site "NAME" and shows all security vulnerabilities known for this version

```
php bin/selim.php security NAME

```

### start

[](#start)

This is the main command to use with selim. "start" lists all sites that you added and their properties.

```
php bin/selim.php start [OPTIONS]

```

#### options

[](#options)

#### --html

[](#--html)

To generate html and send the output to a html file you could do something like this.

```
php bin/selim.php start --html > htmloutput.html

```

##### --template

[](#--template)

Default:

```
{% for page in pages %}

Site:            {{ page.getName }}
Root:            {{ page.getRootPath }}
Version:         {{ page.getVersion }}
DefaultAdmin:    {{ page.hasDefaultAdmin }}
EmailLogging:    {{ page.hasEmailLogging }}
EnvironmentType: {{ page.getEnvironmentType }}
Modules:         {% for module in page.getModules %}{{ module }} {% endfor %}

{% endfor %}

```

Example:

```
 #List the names of all sites and the path to their _config.php
php bin/selim.php start --template=my_own_template.twig

```

##### --filter-name

[](#--filter-name)

if you don't want to see all your sites listed you can filter the results shown to you with --filter-name= Everything after the parameter name will be interpreted as a Regular Expression and will be tested against the name of the site.

Some Examples

```
//list every site which starts with the string "site"
--filter-name=^site

//list every site which name ends with the string "site"
--filter-name=site$

//list only sites which have only characters in their name
--filter-name=\w+

```

##### --filter-module

[](#--filter-module)

```
//list only sites with userforms module
--filter-module=userforms

```

##### --filter-da

[](#--filter-da)

```
//list only sites which use Security::setDefaultAdmin
--filter-da

```

##### --filter-env

[](#--filter-env)

```
//list only sites which have a specific environment type set (dev,live or test)
--filter-env=dev

```

### global options

[](#global-options)

#### --config=

[](#--config)

Naturally selim uses/generates the config.json file in its own directory. If you want to use another config-file you can use the --config parameter

```
--config=/home/user/temp/my-selim-config-file

```

Build
-----

[](#build)

Building a phar for selim is easy. Get the Repository. Use composer to install all dependencies. Let Box do all the work.()

```
git clone https://github.com/Saiyan/selim.git selim-build
cd selim-build
composer global require "kherge/box:~2.0"
~/.composer/vendor/kherge/box/bin/box build -v
#Composer under Windows uses the following path
#~\AppData\Roaming\Composer\vendor\kherge\box\bin\box

```

###  Health Score

16

—

LowBetter than 5% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 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.

### Community

Maintainers

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

---

Top Contributors

[![Saiyan](https://avatars.githubusercontent.com/u/663986?v=4)](https://github.com/Saiyan "Saiyan (108 commits)")

### Embed Badge

![Health badge](/badges/saiyan-selim/health.svg)

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

PHPackages © 2026

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