clonio-dev / clonio-cli
The clonio application
Requires
- php: ^8.5
- fakerphp/faker: ^1.24
- illuminate/database: ^12.17
- illuminate/encryption: ^12.56
- illuminate/http: ^12.17
- illuminate/log: ^12.17
- laravel-zero/framework: ^12.1.0
- symfony/yaml: ^8.0
Requires (Dev)
- driftingly/rector-laravel: ^2.2
- larastan/larastan: ^3.9
- laravel/pint: ^1.29.0
- mockery/mockery: ^1.6.12
- pestphp/pest: ^4.4.3
- pestphp/pest-plugin-type-coverage: ^4.0
README
Clonio transfers your production database to your test and dev environments with automatic anonymization, fake data generation, and full audit trails.
It is free and open source for individuals and NGOs. See clonio.io for more information.
Installation
Download the binary for your platform from the latest release:
| Platform | Binary |
|---|---|
| Linux x86_64 | clonio-linux-x86_64 |
| Linux aarch64 | clonio-linux-aarch64 |
| macOS Apple Silicon | clonio-macos-aarch64 |
| Any (PHP 8.5+) | clonio.phar |
The platform binaries are fully self-contained — no PHP required. The PHAR requires PHP 8.5 on the target machine (php clonio.phar) but is smaller and works on any platform.
Rename it, make it executable, and optionally move it to your PATH:
# Linux mv clonio-linux-x86_64 clonio chmod +x clonio mv clonio /usr/local/bin/clonio # macOS mv clonio-macos-aarch64 clonio chmod +x clonio mv clonio /usr/local/bin/clonio
No PHP installation required — the binary is fully self-contained.
macOS note: The binary is currently unsigned. macOS may block it with a Gatekeeper warning. To allow it, run:
xattr -d com.apple.quarantine clonioSee docs/code-signing.md for the full signing setup once an Apple Developer account is available.
Composer (dev dependency)
Clonio can also be required as a dev dependency in any PHP project:
composer require --dev clonio-dev/clonio-cli
This makes vendor/bin/clonio available with the exact release version. See docs/composer-distribution.md for details, CI examples, and PHP version requirements.
Commands
| Command | Description |
|---|---|
init |
Bootstrap Clonio in the current directory |
update |
Update to the latest release |
connection:add |
Add a new database connection |
connection:update |
Update an existing database connection |
connection:list |
List all configured database connections |
connection:delete |
Delete a saved database connection |
connection:test |
Test one or all saved database connections |
cloning:dump |
Inspect a database and generate a .cloning.yaml file |
cloning:run |
Transfer a database using a .cloning.yaml configuration |
.cloning.yaml format |
Full reference for the cloning configuration file format |
matchers:init |
Write PII matcher baseline to clonio.pii-matchers.yaml |
matchers:update |
Add new baseline matchers to clonio.pii-matchers.yaml |
matchers:list |
Show effective PII matcher set |
matchers:check |
Test a column name against the matcher set |
audit:add |
Add an audit delivery channel |
audit:update |
Update an existing audit delivery channel |
audit:delete |
Delete an audit delivery channel |
audit:list |
List all configured audit delivery channels |
cloning:verify-audit |
Verify the integrity of a Clonio audit log |
about |
Display product information |
Development
See docs/development.md for setup, local builds, testing, and linting.
Releasing
See docs/releasing.md for the step-by-step release process.
Contributing
See CONTRIBUTING.md.