coquibot/coqui-toolkit-composer

Composer dependency management toolkit for Coqui — install, remove, inspect, and update packages in the workspace

Installs: 24

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/coquibot/coqui-toolkit-composer

0.1.1 2026-02-22 00:07 UTC

This package is auto-updated.

Last update: 2026-02-22 21:19:05 UTC


README

Composer dependency management toolkit for Coqui. Provides workspace-sandboxed composer require, remove, update, and audit tools that agents can use to manage dependencies at runtime.

Requirements

  • PHP 8.4+
  • Composer 2.x available on PATH

Installation

composer require coquibot/coqui-toolkit-composer

When installed alongside Coqui, the toolkit is auto-discovered via Composer's extra.php-agents.toolkits — no manual registration needed.

Tools Provided

composer

Manage Composer dependencies in the workspace.

Parameter Type Required Description
action enum Yes require, remove, show, installed, update, validate, outdated, audit
package string No Package name (vendor/package)
version string No Version constraint (e.g. ^2.0)
dev bool No Use --dev flag (default: false)

Safety features:

  • All operations target the workspace project only — the host project is never modified
  • Mutating operations create automatic backups before executing
  • A denylist blocks full frameworks (Laravel, Laminas, Symfony framework-bundle, etc.)
  • Security audit runs automatically after every install
  • Newly installed toolkit packages are detected and registered via PackageEventListenerInterface

Package Event Listener

The toolkit accepts a PackageEventListenerInterface (from carmelosantana/php-agents) in its constructor. When provided, the listener is notified after package installs and removals — enabling features like automatic toolkit discovery.

use CoquiBot\Toolkits\Composer\ComposerToolkit;
use CarmeloSantana\PHPAgents\Contract\PackageEventListenerInterface;

$toolkit = new ComposerToolkit(
    workspacePath: '/path/to/.workspace',
    listener: $myDiscoveryListener,
);

Standalone Usage

<?php

declare(strict_types=1);

use CoquiBot\Toolkits\Composer\ComposerToolkit;

require __DIR__ . '/vendor/autoload.php';

$toolkit = ComposerToolkit::fromEnv();

foreach ($toolkit->tools() as $tool) {
    echo $tool->name() . ': ' . $tool->description() . PHP_EOL;
}

// Install a package
$result = $toolkit->tools()[0]->execute([
    'action' => 'require',
    'package' => 'monolog/monolog',
]);
echo $result->content;

Development

git clone https://github.com/AgentCoqui/coqui-toolkit-composer.git
cd coqui-toolkit-composer
composer install

Run tests

./vendor/bin/pest

Static analysis

./vendor/bin/phpstan analyse

License

MIT