PHPackages                             darkwood/navi - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. darkwood/navi

ActiveProject[Utility &amp; Helpers](/categories/utility)

darkwood/navi
=============

Public architectural layer for structured workflow execution.

v8.0.13(1mo ago)1109MITPHPPHP &gt;=8.5CI passing

Since Mar 26Pushed 3w agoCompare

[ Source](https://github.com/darkwood-com/navi)[ Packagist](https://packagist.org/packages/darkwood/navi)[ GitHub Sponsors](https://github.com/matyo91)[ RSS](/packages/darkwood-navi/feed)WikiDiscussions 8.1 Synced 3w ago

READMEChangelog (6)Dependencies (18)Versions (8)Used By (0)

 [ ![Navi](docs/logo.svg) ](https://github.com/darkwood-com/navi)

Navi
====

[](#navi)

Navi is a Personal Assistant

It's a public architectural surface of a production system whose business core stays private.

This repository is not a sample app or a learning scaffold. It exists so the structural layer—how workflows are composed and executed—can be inspected, versioned, and evolved in the open while rules, scoring, integrations, and real workflow definitions remain on the private side.

The shape of the system:

- **Structured workflows** — execution proceeds as an ordered set of steps with an explicit `Context` and recorded `Event`s.
- **Composable execution** — each unit of work is an `Action`; the runner wires them without embedding domain meaning in the public names.
- **Maintainable boundaries** — Domain, Application, and Infrastructure stay separated so the private codebase can grow without collapsing this contract.

What you will not find here
---------------------------

[](#what-you-will-not-find-here)

Business use cases, decision logic, matching or scoring, domain-specific naming beyond generic execution terms, connectors, or production workflow graphs. Those live with the private system.

Layout
------

[](#layout)

```
src/
  Domain/Execution/
    Action.php              # contract for one step
    ActionName.php          # value object for step identity
    ActionResult.php        # context + emitted events from a step
    Context.php             # immutable bag carried through the run
    Event.php               # named record from a step
    ExecutionState.php      # context + completed steps + event log
  Application/Workflow/
    WorkflowRunner.php      # executes actions in sequence
    WorkflowResult.php      # wraps final execution state
  Infrastructure/Action/
    MergeContextAction.php  # structural action: merge payload into context
  Command/
    RunWorkflowCommand.php  # CLI entry that exercises the runner
tests/
  WorkflowRunnerTest.php

```

Execution flow
--------------

[](#execution-flow)

Input: `Context`. The `WorkflowRunner` invokes each `Action` in order; each action returns `ActionResult` (updated context and optional `Event`s). Output: `WorkflowResult` wrapping the final `ExecutionState`.

Run
---

[](#run)

```
composer install
composer test
php bin/console navi:workflow:run
```

The console command runs the same structural path as the test: two merge actions and JSON output of the resulting state. It is a smoke check for wiring, not a stand-in for real workflows.

###  Health Score

46

—

FairBetter than 92% of packages

Maintenance95

Actively maintained with recent releases

Popularity16

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~9 days

Recently: every ~1 days

Total

8

Last Release

32d ago

Major Versions

1.x-dev → 8.0.x-dev2026-05-27

PHP version history (2 changes)v1.0.0PHP &gt;=8.4

v1.0.1PHP &gt;=8.5

### Community

Maintainers

![](https://www.gravatar.com/avatar/97714c2a86385f953811112ab18938b453bc0f826f91753730037ad5f9c7dbe9?d=identicon)[matyo91](/maintainers/matyo91)

---

Top Contributors

[![matyo91](https://avatars.githubusercontent.com/u/1254025?v=4)](https://github.com/matyo91 "matyo91 (9 commits)")

### Embed Badge

![Health badge](/badges/darkwood-navi/health.svg)

```
[![Health](https://phpackages.com/badges/darkwood-navi/health.svg)](https://phpackages.com/packages/darkwood-navi)
```

###  Alternatives

[kimai/kimai

Kimai - Time Tracking

4.8k8.7k1](/packages/kimai-kimai)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.4M521](/packages/shopware-core)[oro/platform

Business Application Platform (BAP)

642140.7k104](/packages/oro-platform)[forumify/forumify-platform

122.0k12](/packages/forumify-forumify-platform)[rcsofttech/audit-trail-bundle

Enterprise-grade, high-performance Symfony audit trail bundle. Automatically track Doctrine entity changes with split-phase architecture, multiple transports (HTTP, Queue, Doctrine), and sensitive data masking.

1175.2k](/packages/rcsofttech-audit-trail-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
