PHPackages                             veasin/nx-tools - 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. veasin/nx-tools

ActiveTools[Framework](/categories/framework)

veasin/nx-tools
===============

NX Scaffolding

0.0.12(11mo ago)0347PHP

Since Dec 4Pushed 11mo ago1 watchersCompare

[ Source](https://github.com/veasin/nx-tools)[ Packagist](https://packagist.org/packages/veasin/nx-tools)[ Docs](https://github.com/veasin/nx)[ RSS](/packages/veasin-nx-tools/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (11)Used By (7)

```
        ___  ___
     __ \  \/  /
    /  \ \  \ /
   /  / \ \  \
  /  /\  / \  \   nx-tools
 /__/  \/__/\__\  vea

```

nx-tools
========

[](#nx-tools)

NX Scaffolding

> composer require veasin/nx-tools --dev

use
===

[](#use)

create app =&gt; src/app.php

> .\\vendor\\bin\\nx app --ns=com

create setup =&gt; src/setup.php

> .\\vendor\\bin\\nx setup

create web index =&gt; web/index.php

> .\\vendor\\bin\\nx index

create model =&gt; src/models/user.php &amp; users.php

> .\\vendor\\bin\\nx model user

create model =&gt; src/models/corp/user.php &amp; users.php

> .\\vendor\\bin\\nx model corp/user

parse annotations: router &amp; http =&gt; client.http &amp; src/route.php

> .\\vendor\\bin\\nx annotate

composer.json

```
{
  "require-dev": {
    "veasin/nx-tools":">=0.0.9"
  },
  "config": {
    "process-timeout": 0
  },
  "scripts": {
    "dev": "@php -S localhost:8080 web/index.php",
    "annotate": "nx annotate"
  }
}
```

annotation
==========

[](#annotation)

```
use nx\annotations\http\Client;
use nx\annotations\router\Get;
use nx\annotations\router\REST;
#[
    Client(Var:[
        'port'=>"8081",
    ]),
    Get("/user/d:uid", "get"),
    Client(Route:['put', '/user'],
        Throw: [404,401, 200],
        Return: ['id'=>'ID','nick-name'=>['name'=>'Nick Name', 'type'=>'string'],'email'=>'EMail'],
        Note: "Login",
        Response: [
            'body'=>['id'=>'user-id', 'corp-id'=>'corp-id'],
            'header'=>['token'=>'token'],
        ],
        Var: [
            'auth-token'=>"TOKEN id={{user-id}};token={{token}}"
        ],
    ),
    Client('get', '/user/{{user-id}}',
        Route:['get', '/user/d:uid', 'get'],
        Auth: "{{auth-token}}",
        Note: "Get User By ID",
    ),
    REST("/console/user", "/d:user_id", "list,add,get,update,delete"),
    Client(
        Route: ['rest', "/console/user", "/d:user_id", "list,add,get,update,delete"],
        Auth: "{{auth-token}}",
        Note: "Console Users"
    )
]
class user{
   	#[Get("/debug/ok")]
   	#[Client('get', '/debug/ok', Throw: [200], Note: "测试", Test: ['status'=>[200=>'OK']])]
	public function ok(): void{

	}
	#[Client(Route: ['get', '/debug/ok2'], Throw: [200], Note: "测试", Test: ['status'=>[200=>'OK']])]
	public function ok2(): void{
	    $this->out('ok');
	}
}
```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance50

Moderate activity, may be stable

Popularity8

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

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 ~19 days

Recently: every ~38 days

Total

10

Last Release

354d ago

### Community

Maintainers

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

---

Tags

frameworkscaffoldingNx

### Embed Badge

![Health badge](/badges/veasin-nx-tools/health.svg)

```
[![Health](https://phpackages.com/badges/veasin-nx-tools/health.svg)](https://phpackages.com/packages/veasin-nx-tools)
```

###  Alternatives

[amranidev/scaffold-interface

A Smart CRUD Generator For Laravel

92120.7k1](/packages/amranidev-scaffold-interface)[pestphp/pest-plugin-stressless

Stressless plugin for Pest

67792.6k16](/packages/pestphp-pest-plugin-stressless)

PHPackages © 2026

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