waaseyaa/bimaaji
Composer 安装命令:
composer require waaseyaa/bimaaji
包简介
Bimaaji — application graph introspection and agent-safe mutation for Waaseyaa
README 文档
README
Bimaaji is a Waaseyaa package providing application graph introspection and an agent-safe mutation protocol. The name (Anishinaabemowin: "to give life to") reflects its role: making a booted Waaseyaa application's structure visible and actionable to AI agents.
What it does
Bimaaji exposes two surfaces:
- Read-only introspection. Six
GraphSectionProviderimplementations (admin, entities, jsonapi, public_surface, routing, sovereignty) emit versionedGraphSectionpayloads that, taken together, describe what an application contains: registered entity types and their fields, every registered route plus access classification, the JSON:API surface, admin entity groupings, the current sovereignty profile, and the public-surface map. - Validated mutation. A
MutationRequest→MutationValidator→PatchSetpipeline lets an agent propose changes (e.g., "add field X to entity Y"). The validator gates every request throughSovereigntyGuardrails; the patch generator emits content-hashed, reviewable file patches. Bimaaji itself never writes to disk — patches are returned for human (or upstream agent) review.
Quick start
After installing waaseyaa/framework (which depends on this package), the framework's PackageManifestCompiler auto-discovers BimaajiServiceProvider. The application graph generator is then reachable from the container:
use Waaseyaa\Bimaaji\Graph\ApplicationGraphGenerator; $graph = $container->get(ApplicationGraphGenerator::class)->generate(); foreach ($graph->sections as $key => $section) { echo "{$key}: " . count($section->data) . " entries\n"; }
The six default section providers are pre-wired:
| Provider | Section key | Constructor deps |
|---|---|---|
AdminIntrospectionProvider |
admin |
EntityTypeManagerInterface |
EntityIntrospectionProvider |
entities |
EntityTypeManagerInterface |
JsonApiIntrospectionProvider |
jsonapi |
RouteCollection |
PublicSurfaceProvider |
public_surface |
RouteCollection |
RoutingIntrospectionProvider |
routing |
RouteCollection |
SovereigntyIntrospectionProvider |
sovereignty |
SovereigntyProfile |
SovereigntyProfile is derived from SovereigntyConfigInterface::getProfile() and falls back to SovereigntyProfile::Local when no config is bound. RouteCollection is looked up directly and falls back to WaaseyaaRouter::getRouteCollection().
Extending: third-party graph sections
A consuming package can contribute its own section by implementing GraphSectionProviderInterface and binding it in its own ServiceProvider::register(). The canonical tag is BimaajiServiceProvider::SECTION_PROVIDER_TAG (bimaaji.section_provider); tag your binding under it for forward-compatibility with future tagged-collection container support.
final class FooSectionProvider implements GraphSectionProviderInterface { public function getKey(): string { return 'foo'; } public function provide(): GraphSection { /* ... */ } }
Installing guidelines / skills (bin/waaseyaa bimaaji:install)
Ship the framework-canonical agent skill pack to a consumer project in
per-client formats. Lifted in spirit from Laravel Boost's
php artisan boost:install; framework-native, no Node runtime.
# Install for one client bin/waaseyaa bimaaji:install --client=claude # Install for several (comma-separated or repeated) bin/waaseyaa bimaaji:install --client=claude,cursor --force # Preview without writing bin/waaseyaa bimaaji:install --client=cursor --dry-run # Interactive client selection when omitted on a TTY bin/waaseyaa bimaaji:install
Seven launch clients: claude, cursor, codex, copilot, gemini,
windsurf, junie. See
docs/specs/bimaaji-install.md
for the per-client target paths, flag semantics, interactive UX, exit
codes, sandbox guarantees, and the five-step extension guide for
adding new clients.
Status
Bimaaji is now exposed over MCP via packages/mcp/'s
per-request bridge architecture as of 2026-05-23 (M3
bimaaji-mcp-bridge-01KS5VS8). Five #[AsAgentTool] adapters live
in packages/ai-agent/src/Tool/Bimaaji/ and surface automatically
through the AgentToolRegistryBridge with no per-tool MCP code. See
docs/specs/mcp-endpoint.md §
"Bimaaji MCP bridge" for the transport contract and packages/mcp/README.md
for the operator-facing summary.
The 2026-05-20 "PHP-only" deferral that closed #1463 was formally superseded by M3; the issue stays closed with a supersession comment linking to the M3 PR set.
Legacy MCP-server cleanup (pre-M3 consumers)
Projects (e.g., Minoo) that previously wired the deleted Node-based
bimaaji MCP server (vendor/waaseyaa/bimaaji/mcp/server.js, removed
in #1387/#1464) should:
- Remove any
mcpServers.bimaajientry pointing at the deletedserver.jsfrom.claude/settings.json. The replacement is the framework-native/mcpHTTP endpoint shipped bywaaseyaa/mcp. - Drop
composer bimaaji-mcp-installfrom post-install hooks or contributor docs — the script body was Minoo-local and has no upstream entry point. - Wire the new HTTP
/mcpendpoint instead. Seepackages/mcp/README.mdfor theclaude_desktop_config.jsonexample fragment.
Where to read more
- Doctrine spec: docs/specs/bimaaji.md — design rationale, FRs/NFRs, invariants, file map.
- Design history: docs/history/plans/2026-05-21-ai-ecosystem-beta-tightening.md — the 5-mission cluster that promoted bimaaji from "scaffolding" to "shipped."
- Roadmap context: GitHub Milestone #67 (Track 2: Bimaaji & agentic).
waaseyaa/bimaaji 适用场景与选型建议
waaseyaa/bimaaji 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2.75k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 04 月 09 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 waaseyaa/bimaaji 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 waaseyaa/bimaaji 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 waaseyaa/bimaaji 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
This module allows drag & drop grouping of items in a GridField
Adds text size controls and text-to-speech controls to Flarum discussion content.
Native Blade date, datetime, and date range pickers.
Symfony and Flysystem integration for the maintained KCFinder continuation.
Laravel integration for the maintained KCFinder continuation.
PHPStan rules shared across KnpLabs organization projects
统计信息
- 总下载量: 2.75k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 38
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: GPL-2.0-or-later
- 更新时间: 2026-04-09