Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Kitab Laravel Package

hoa/kitab

Hoa\Kitab is a PHP library for authoring and compiling structured books. It provides tools to organize chapters and sections, handle references, and generate publishable documentation or ebook output within the Hoa ecosystem.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit: Unchanged in principle. Kitab remains a standalone documentation rendering/testing utility rather than a Laravel runtime package, and its best architectural role is still a dev-only CI quality gate for documentation and embedded code samples. It touches the repository/CI layer only; no coupling to Laravel’s container, HTTP stack, Eloquent, queues, or deployment topology. Release 0.12 does not change this; it changes how much compatibility work that CI-layer integration requires.

Integration feasibility: Improved but not resolved. The move of nikic/php-parser from 3.* to 4.* is the material change: it removes the single largest Composer resolution obstacle and puts the parser on a PHP 7.x/PHP 8-capable line (php-parser 4.10+ added PHP 8 support). That makes an isolated require-dev install or containerized CLI job more likely to succeed without a fork. However, php-parser 4 is still a major version behind the current 5.x line, and that creates a new, narrower conflict: Laravel projects using Larastan/PHPStan 2.x, Rector, or php-cs-fixer will already require nikic/php-parser ^5. Kitab should therefore still be kept out of the main Composer graph via a separate lockfile or container. The "archived / last released 2018" characterization in the prior assessment is now contradicted by this release and must be re-verified; treat the package as low-activity and under-maintained rather than definitively dead.

Technical risk: Medium-high, down from high. Risk reductions: modernized parser dependency, and anonymous-class support in the intermediate representation means fewer parse failures and fewer silent skips when documentation samples use anonymous classes (common in Laravel docs for factories, migrations, testing helpers, and one-off implementations). Risk that remains: a single release does not establish sustained maintenance; the only CI-related feature is Bors support, a bot that is retired and is not the GitHub Actions/GitLab pipeline the team will actually use, which signals an upstream workflow that is dated rather than one aligned to our tooling. PHP 8.2/8.3 runtime compatibility is unproven by these notes, and an archived-then-unarchived (or revived) project still has an unclear defect-response path. Risk is acceptable for non-blocking documentation checks; still not acceptable as an unguarded release-blocking gate.

Key questions: Which PHP versions does 0.12 actually support at runtime, and has anyone verified it on PHP 8.2/8.3? Does the php-parser 4 constraint collide with PHPStan/Larastan/Rector/php-cs-fixer in our repos, and if so can Kitab be isolated completely? What was the upstream maintenance intent behind this release — a one-off constraint bump or a resumed cadence? Is the archive flag lifted, and who responds to issues? Does the anonymous-class IR support cover the constructs our documentation samples actually use? Has parsing behavior changed in a way that alters pass/fail output versus 0.11? Who owns the fork if upstream stops again?

Integration Approach

Stack fit: Unchanged. Peripheral developer tooling only — never in production require, never in runtime service providers or application code. Use a dedicated CI job or a thin internal CLI wrapper that reads docs from the repo and emits pass/fail.

Migration path: Re-run the time-boxed spike against 0.12 rather than 0.11, in an isolated Docker image pinned to a supported PHP version. Because the parser upgrade is the only meaningful change, the spike should specifically test (a) install resolution against our current Composer version, and (b) parse behavior on samples containing anonymous classes. If resolution succeeds in isolation, pin 0.12 by version and commit hash and add a non-blocking CI job. If it conflicts with php-parser ^5 in the main graph, do not merge the graphs — keep the separate lockfile/container path, and only fork if isolation proves impossible.

Compatibility: Better than previously assessed, with one new caveat. Expect the old php-parser 3 conflicts to be gone. Expect possible conflict with any toolchain pinned to php-parser ^5, which is now the common case in modern Laravel repos. Validate against the project’s current PHP, Composer, and CI images before commitment; do not assume the version bump implies PHP 8.2+ readiness.

Sequencing: 1) inventory docs and executable samples, tagging ones that use anonymous classes; 2) run the isolated-container proof of concept on 0.12; 3) diff pass/fail output against 0.11 if a baseline exists, to catch behavior changes from the parser upgrade; 4) confirm no interference with PHPStan/Rector/php-cs-fixer constraints in the main graph; 5) pin and add CI in non-blocking mode; 6) observe false positives/negatives for a defined period; 7) promote to required check only if stable; 8) document ownership, upgrade cadence expectations, and exit strategy.

Operational Impact

Maintenance: Still assume internal ownership from day one, but with slightly better odds of upstream help than the prior assessment assumed. Low activity is not zero activity. Budget for dependency pinning and CI image upkeep; the php-parser 4 → 5 question is a future fork trigger if upstream stalls again. Single named owner remains mandatory before any team-wide use.

Support: Community support is still effectively absent — 81 stars and zero dependents mean no crowd-sourced answers. Internal runbooks and a known-good container image remain mandatory. Support burden stays low when isolated to CI, high if developers are asked to run it locally across mixed PHP environments.

Scaling: Unchanged. Scaling is CI concurrency and documentation volume, not application traffic. The parser upgrade may modestly change performance on large doc sets but does not alter the guidance: cache dependencies, shard docs, keep the check scoped, and keep it off the request path.

Failure modes: Updated list: PHP 8.2/8.3 runtime incompatibility if unverified; Composer conflict with php-parser ^5 tooling in the main graph; broken or unpinned CI images; documentation syntax drift; environment-dependent samples producing false failures; silent false passes where examples are skipped; and reduced coverage if the anonymous-class IR support still misses constructs used in our docs. The dominant operational risk is unchanged — a blocked release pipeline — so keep the job non-blocking with a manual override until proven stable.

Ramp-up: Roughly the same for developers (CLI plus container, modest effort) and for documentation authors (conventions for executable samples and expected output). The organizational ramp-up improves marginally because the dependency-upgrade story is easier to defend to reviewers than an untouched 2018-era package, but the explanation is now more nuanced: a revived-but-sparse upstream, a one-major-version-behind parser, and a Bors-era CI posture. Adoption should still be limited to a disposable CI utility with a documented replacement path.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings