Skip to content

Packages Overview ​

The HKM Kernel is built on top of several first-party packages that live in modules/ and are autoloaded as Composer path repositories. These packages are framework-independent, battle-tested components that the kernel depends on.

Package registry ​

PackageComposer nameNamespacePurpose
bind-itphpshots/bind-itPHPShots\CommonReflection-based dependency injection container with contextual bindings and PSR-11 compliance. Foundation for CoreContainer and ModuleContainer.
common-type-aliasphpshots/common-type-aliasPHPShots\Common\TypeAliasType alias management system. Dependency of bind-it.
httpalfacode-team/httpAlfacodeTeam\PhpServicePlatform\Kernel\HttpImmutable HTTP Request/Response/UploadedFile value objects. Currently built on Symfony HTTPFoundation (transitional).
php-io-clialfacode-team/php-io-cliAlfacodeTeam\PhpIoCliStandalone CLI application runtime with reactive terminal components and structured command execution. Powers CliPipeline.
let-migratealfacode-team/let-migrateAlfaCode\LetMigrateDatabase migration engine supporting MySQL, PostgreSQL, SQLite, SQL Server. Per-driver folders, seeders, factories, and full transaction support.
hkm-ppkgN/A (internal tool)N/AZig-based Composer-compatible package manager embedded in the hkm launcher. Not a PHP package; not autoloaded.
groundalfacode-team/hkm-plugin-groundAlfacodeTeam\Plugin\GroundPlugin testing harness. Boots a plugin on an isolated kernel without a project, database, or configuration. Dev/test only.

Dependency graph ​

CliPipeline
  ↓
php-io-cli
  ↓
bind-it ← common-type-alias

Kernel modules (CoreContainer, ModuleContainer, HttpPipeline)
  ↓
bind-it ← common-type-alias

Built-in migration commands
  ↓
let-migrate

HTTP layer
  ↓
http (Symfony HTTPFoundation—transitional)

Composer path repositories ​

Each package above is registered in the root composer.json as a path repository, so Composer treats them as if they were published on Packagist:

json
{
  "repositories": [
    {"type": "path", "url": "modules/bind-it"},
    {"type": "path", "url": "modules/common-type-alias"},
    {"type": "path", "url": "modules/http"},
    {"type": "path", "url": "modules/php-io-cli"},
    {"type": "path", "url": "modules/let-migrate"},
    {"type": "path", "url": "modules/ground"}
  ]
}

This lets the kernel depend on them locally during development while keeping each as a standalone package that could be published or used independently.

hkm-ppkg is not a PHP package

The hkm-ppkg module is written in Zig and is consumed by the native hkm launcher as a build tool, not as a PHP dependency. It is not autoloaded and nothing in src/ may reference it. Read tools/ documentation for details.

Source reference ​

Each package documents itself in its own repository:

  • bind-it: modules/bind-it/README.md + modules/bind-it/src/
  • php-io-cli: modules/php-io-cli/src/ (see /packages/php-io-cli for component API)
  • let-migrate: modules/let-migrate/README.md + modules/let-migrate/src/ (see /packages/let-migrate for full guide)
  • http: modules/http/src/ (see /http/request and /http/response for API)
  • ground: modules/ground/README.md

Source ​

Released under the MIT License.