Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsSemitexa Project Graph helps PHP developers trace relationships between routes, payloads, handlers, services, events and execution flows before editing code. Start with one concrete change and one structural question, inspect the relevant graph edges, check whether the index is current, then verify the change in source code and tests.
What Project Graph maps
Semitexa describes Project Graph as an optional package that scans PHP source and Semitexa attributes, extracts structural facts and stores them in a directed graph. Its documented nodes include routes, payloads, handlers, services, events and execution flows. Typed edges such as handles, returns, implements and cross-module dependencies connect those nodes.
As an Amazon Associate I earn from qualifying purchases.
For example, a graph can connect BlogIndexPayload to BlogIndexHandler, then show that the handler produces BlogIndexResource and implements TypedHandlerInterface. These are relationships extracted from code, not entries in a manually maintained architecture diagram.
The package keeps graph data on a separate project_graph database connection; the Semitexa article describes a local SQLite fallback. The package registry lists semitexa/project-graph, PHP requirement ^8.4, and version 2026.08.25.0718, published August 25, 2026. Requirements and release details can change, so check the current Packagist entry for installation specifics.
#1 Best Overall
How to investigate a change before editing
- Name the target. Choose the route, class, payload, event or module your change concerns.
- Ask one structural question. For example: “Which handler consumes this payload?” or “What depends on this service?” Use a usage or dependency query for direct relationships, a module view for broader context, or impact analysis to estimate downstream reach.
- Check graph freshness. Run
bin/semitexa ai:review-graph:stats --jsonto inspect the graph’s state. If the relevant source may have changed since indexing, refresh it withbin/semitexa ai:review-graph:generate --json. - Inspect the results. Follow important edges into the source files. A usage query for
BlogIndexPayload, for instance, can showBlogIndexHandlerwith ahandlesrelationship. - Make the edit and validate it. Run the relevant tests and runtime checks; the graph describes extracted structure, not proof that behavior is correct.
Impact analysis follows downstream relationships and groups affected nodes by distance and module. Keep the depth narrow when investigating a focused change. Shared interfaces or services can have a wider estimated impact because many parts of the application may connect to them.
Choose a command for the question
The documented ai:review-graph command family offers several views. These commands require the optional semitexa-project-graph package to be installed and enabled in the project, as described in the Project Graph documentation.
Rank #2
| Surface | Use it to |
|---|---|
show |
Read a slice of the graph around relevant nodes. |
query |
Ask usage and dependency questions, such as what consumes a payload. |
module |
Get an overview of a module’s structure. |
intelligence |
Ask higher-level structural questions, such as where hotspots or documentation gaps appear. |
context |
Gather graph context scoped to a task. |
impact |
Estimate downstream reach from a target node. |
| Watch mode | Keep graph data current during active work. |
For an AI-assisted task, task-scoped graph context can supply relevant nodes, edges and source snippets without handing the assistant an unnecessarily large set of files. Treat that context as a focused aid to reasoning, not a substitute for reading the implementation.
When graph queries help more than text search
A graph query follows typed relationships across files—for example, which handler handles a payload or which components depend on a class. Text search finds literal matches, making it better for locating an exact string or examining local implementation details. The Semitexa Dev CLI documentation describes the CLI context for these workflows.
Use both when needed: a graph query can identify likely related components, while text search can find exact references or implementation details that are not represented as graph relationships.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.What the graph cannot establish
- Impact is an estimate. It reflects downstream paths in the indexed graph, not a guarantee that every affected runtime path has been found.
- A missing edge proves little. It does not establish that no dependency exists; the relationship may not be represented in the graph.
- An edge does not prove behavior. It reports an extracted structural relationship, not that the code behaves as intended.
Inspect the source behind consequential results, then run tests and runtime checks relevant to the change. The graph is most useful for deciding where to look before editing—not for deciding that verification is unnecessary.
Quick Recap
Rank #4
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




