PHPackages                             helsingborg-stad/project-synchronizer - 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. helsingborg-stad/project-synchronizer

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

helsingborg-stad/project-synchronizer
=====================================

A utitlity to synchronize projects from one repo to another

0.1.14(7mo ago)030[1 PRs](https://github.com/helsingborg-stad/project-synchronizer/pulls)MITPHPCI passing

Since Sep 22Pushed 3mo agoCompare

[ Source](https://github.com/helsingborg-stad/project-synchronizer)[ Packagist](https://packagist.org/packages/helsingborg-stad/project-synchronizer)[ RSS](/packages/helsingborg-stad-project-synchronizer/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (7)Dependencies (3)Versions (9)Used By (0)

Project synchronizer
====================

[](#project-synchronizer)

Adds and upgrades dependencies and files from a master repository.

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

[](#installation)

Install using composer: `composer global require helsingborg-stad/project-synchronizer`

Usage
-----

[](#usage)

```
Usage: $(composer config -g home)/vendor/bin/ps

	--config             	Configuration file or URL
	--source           	Source repository path
	--target 				Target repository path
	--force							Overwrite existing files and property values
	--help                         	Display this help message

```

Configuration
-------------

[](#configuration)

A project specific configuration file is used to define which file and optionally which properties of a file that should be synchronized. The composition of the configuration is quite straight forward.

Commandline options (except for the --config parameter) can be stored in the configurationfile. If the corresponding options are provided in the configuration, they will take prescedence over the commandline options.

```
{
	"source": "...",
	"target": "...",
	"force": true|false,
	"files": {  }
}

```

The files structure:

```
{
	"files": {
		"/package.json": [
			"license",
			"dependencies",
			"devDependencies",
			"scripts",
			"engines",
			"jest"
		],
		"/composer.json": ["require", "require-dev", "scripts"],
		"/tsconfig.json": ["compilerOptions"],
		"/.vscode/settings.json": [
			"editor.formatOnSave",
			"editor.defaultFormatter",
			"editor.codeActionsOnSave"
		],
		"/.vscode/extensions.json": ["recommendations"],
		"/vite.config.mjs": []
	}
}

```

Note that only json files can be transformed. Other file types will be be copied "as is".

By default the application is looking for a ps-config.json file in the running path of the project but the path could be altered with the --config parameter.

Default target is the current directory.

The location of the source files should be set using the --source parameter, either https or filesystem. (It will default to this Github project).

To configure which files to be synched, simply list the project relative path of the file and optionally which items to synchronize. If the item list is empty, e.g "/myfile.txt": \[\], the complete file will be transfered (see constraints of 'target files' below).

The synchronization is non-destructive by default:

- Additions will always be processed (e.g a property is missing in the target project).
- A target property will be replaced IF it contains a semver compatible value AND the range of the source value is higher than the same value in the target property.
- Arrays will be merged and existing values preserved.
- Existing target files will be preserved

Using the --force flag will have the following implications:

- Existing target properties will be overwritten with values of source.
- Target arrays will be replaced with the values of the source.
- Existing target files will be replaced.

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance72

Regular maintenance activity

Popularity7

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity31

Early-stage or recently created project

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

Total

7

Last Release

235d ago

### Community

Maintainers

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

---

Top Contributors

[![petter-a](https://avatars.githubusercontent.com/u/40427478?v=4)](https://github.com/petter-a "petter-a (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/helsingborg-stad-project-synchronizer/health.svg)

```
[![Health](https://phpackages.com/badges/helsingborg-stad-project-synchronizer/health.svg)](https://phpackages.com/packages/helsingborg-stad-project-synchronizer)
```

###  Alternatives

[composer/composer

Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.

29.4k187.2M2.6k](/packages/composer-composer)[friendsofphp/php-cs-fixer

A tool to automatically fix PHP code style

13.5k234.7M20.6k](/packages/friendsofphp-php-cs-fixer)[orchestra/canvas

Code Generators for Laravel Applications and Packages

21017.2M158](/packages/orchestra-canvas)[symfony/asset-mapper

Maps directories of assets &amp; makes them available in a public directory with versioned filenames.

1656.9M131](/packages/symfony-asset-mapper)[sllh/composer-versions-check

Checks if packages are up to date to last major versions after update

2352.4M16](/packages/sllh-composer-versions-check)[internal/dload

Downloads binaries.

98142.7k10](/packages/internal-dload)

PHPackages © 2026

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