PHPackages                             sirosoft/api - 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. [Framework](/categories/framework)
4. /
5. sirosoft/api

ActiveProject[Framework](/categories/framework)

sirosoft/api
============

Production-first PHP API framework with built-in debugging, replay, and testing workflows

v0.35.0(1mo ago)2301[2 PRs](https://github.com/SiroSoft/SiroPHP/pulls)MITPHPPHP &gt;=8.2CI failing

Since Jun 8Pushed 3w agoCompare

[ Source](https://github.com/SiroSoft/SiroPHP)[ Packagist](https://packagist.org/packages/sirosoft/api)[ RSS](/packages/sirosoft-api/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependencies (12)Versions (51)Used By (0)

⚡ Siro
======

[](#-siro)

**Production-first API framework for PHP.**
 Debug real production requests from your terminal. Zero dependencies.

[![PHP 8.2+](https://camo.githubusercontent.com/927d682df808b38bd2e6e0b524fd2a0eaaaf0e95bdb6f71d151226f5ec0600b2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344382e322d627269676874677265656e2e737667)](https://php.net)[![Tests](https://camo.githubusercontent.com/9224ba47bd9033c98e1883d6ca8c482674419fe68864186871cdacec6cf350a6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f74657374732d31392e343936253230706173732d627269676874677265656e)](tests/)[![PHPStan](https://camo.githubusercontent.com/ea92c6c0d7161a9291cf9a5b07fa1907f0fdc0fc26367164d4cb1a0eb8e97e03/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e2d4c6576656c2532304d61782d627269676874677265656e)](https://phpstan.org)[![License: MIT](https://camo.githubusercontent.com/b8cadaa967891081f8f165695470689986c028821dd8a040132f6e661795dc0d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c7565)](LICENSE)[![Packagist](https://camo.githubusercontent.com/af02a4f6c890f52a55b2a73a5e6a2fd2be1e826c0cba6eac792b1114da42fe21/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7369726f736f66742f617069)](https://packagist.org/packages/sirosoft/api)

---

Quick start
-----------

[](#quick-start)

```
# Windows
iwr https://sirophp.com/downloads/install.ps1 -UseBasicParsing | iex

# Linux/macOS
curl -sS https://sirophp.com/downloads/install.sh | bash

cd my-api
php siro key:generate && php siro make:auth && php siro migrate && php siro serve
```

Your API is live — JWT auth, user CRUD, migrations ran. No config files. No Postman.

```
> Tip: `php siro t GET /api/auth/me` — shorthand for `api:test`, auto-auth.

```

---

Debug production in 1 command
-----------------------------

[](#debug-production-in-1-command)

```
php siro api:why POST /api/orders
```

```
  Request
  ────────────────────────────────────────────────────────
  Route:    POST /api/orders
  Status:   ✗ 500
  Duration: 143ms

  Middleware Pipeline
    └ ✗ OrderMiddleware       35ms ⚠ slow

  SQL Queries
    └ ⚠ UPDATE inventory      102ms ⚠ slow

  Exception
    PDOException: Deadlock found when trying to get lock

  Possible Cause
    • Concurrent transaction conflict
    • Missing retry logic for deadlock scenarios

  Suggested Fix
    ▸ Wrap transaction in retry loop (max 3 attempts)

  Replay
    [r] php siro replay siro_a1b2c3d4 --force
    [e] php siro replay siro_a1b2c3d4 --edit
    [d] php siro replay siro_a1b2c3d4 --diff
    [t] php siro make:test --from-trace=siro_a1b2c3d4

```

**No other framework — PHP, Node, Go, Rust, Python, Ruby — has this flow.**

---

Build → Ship → Why → Replay → Fix → Test → Regression
-----------------------------------------------------

[](#build--ship--why--replay--fix--test--regression)

```
# 1. Build — CRUD in 2 seconds
php siro make:crud Product

# 2. Ship — deploy
php siro deploy

# 3. Why — debug production failure
php siro why

# 4. Replay & diff — so sánh trước/sau fix
php siro replay siro_a1b2c3d4 --diff
```

```
  === BEFORE ===                    === AFTER ===
  Status: 500                       Status: 200
  Body: {"success":false}           Body: {"success":true,"data":{"id":100}}
                                    ✅ Fixed!

```

```
# 5. Fix — watch mode, auto re-test
php siro fix

# 6. Test — generate from real trace
php siro make:test --from-trace=siro_a1b2c3d4

# 7. Regression — verify không break
php siro test:regression --fail
```

---

Killer features
---------------

[](#killer-features)

CommandWhat it doesWhy it matters`api:why`Debug by method + pathInstant root cause — no log diving`replay`Replay exact production requestReproduce bugs in 5 seconds`make:test --from-trace`Generate PHPUnit test from real traceEvery bug becomes a permanent regression test`test:regression`Replay all traces, detect regressionsSystem gets stronger over time`make:crud`Full CRUD in 2 secondsModel + Controller + Migration + Routes + Tests`fix`Watch mode — auto re-test on saveFix and verify in one loop---

What's inside
-------------

[](#whats-inside)

```
my-api/
├── app/Controllers/    # 7 pre-built (Auth + 6 CRUD)
├── app/Models/         # 6 pre-built (User, Product, Category...)
├── app/Services/       # 8 pre-built (BaseService pattern)
├── database/           # 13 migrations + 2 seeders
├── tests/              # 462 passing tests
├── docker-compose.yml  # FrankenPHP + Nginx + Caddy
├── Dockerfile          # Production build
└── k8s/                # Helm chart

```

**Not an empty skeleton — production-grade, ready to deploy.**

---

Quality &amp; performance
-------------------------

[](#quality--performance)

GateResultMetricCore tests**19,034 — 0 failures**Cold boot (Linux)**~0.5 ms**App tests**462 — 0 failures**Cold boot (Win)**~2.4 ms**Fuzz tests**17,851 — 0 failures**Route dispatch**~300K ops/sec**DAST security**157 — 0 failures**Memory baseline**~4 MB**PHPStan**Level Max — 0 errors**Full-stack**~360K ops/sec**Composer audit**0 vulnerabilities**---

Built-in features
-----------------

[](#built-in-features)

Zero packages needed. JWT auth, ORM, migrations, queue, mail, cache, validation, rate limiting, CSP, CORS, CSRF, OpenAPI, Prometheus metrics, CLI (80 commands). [Full list →](https://sirophp.com/features)

---

Deployment
----------

[](#deployment)

```
docker compose up -d    # FrankenPHP, HTTP/2, auto HTTPS
docker build -f Dockerfile.frankenphp -t my-api .
```

Docker + Kubernetes (Helm chart) included.

---

Philosophy
----------

[](#philosophy)

Traditional frameworks focus on **writing code**.
Siro focuses on **operating APIs in production**.

```
# Most frameworks:  log → guess → redeploy → wait → repeat
# Siro:            trace → replay → fix → regression → done
```

---

Requirements
------------

[](#requirements)

PHP 8.2+ with `ext-pdo`, `ext-json`, `ext-mbstring`.

---

 [Website](https://sirophp.com) · [Docs](https://sirophp.com/docs) · [Core](https://github.com/SiroSoft/siro-core) · [Packagist](https://packagist.org/packages/sirosoft/api)

MIT © [SiroSoft](https://sirophp.com)

###  Health Score

43

—

FairBetter than 89% of packages

Maintenance93

Actively maintained with recent releases

Popularity11

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 69.5% 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 ~1 days

Total

31

Last Release

47d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ea0d0f4a3410e30686af677521695ec93dd5c60853564eccba7a3c13ca849b02?d=identicon)[thiennhant95](/maintainers/thiennhant95)

---

Top Contributors

[![nhanttvv](https://avatars.githubusercontent.com/u/211454413?v=4)](https://github.com/nhanttvv "nhanttvv (107 commits)")[![thiennhant95](https://avatars.githubusercontent.com/u/24535959?v=4)](https://github.com/thiennhant95 "thiennhant95 (45 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/sirosoft-api/health.svg)

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

###  Alternatives

[nineinchnick/edatatables

Grid widget for the Yii Framework, wrapper for the DataTables jQuery plugin

173.2k](/packages/nineinchnick-edatatables)[alizharb/laravel-modular

A professional, framework-agnostic modular architecture for Laravel 11+. Features zero-config autoloading, 29+ Artisan command overrides, and seamless Vite integration.

211.6k9](/packages/alizharb-laravel-modular)[link-cloud/fast-hyperf

LinkCloud Fast Hyperf

241.2k1](/packages/link-cloud-fast-hyperf)

PHPackages © 2026

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