PHPackages                             neoan3/neoan3 - 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. neoan3/neoan3

ActiveLibrary

neoan3/neoan3
=============

official neoan3 cli

v1.5.3(4y ago)22192[1 PRs](https://github.com/neoan3/cli/pulls)MITPHPCI failing

Since May 30Pushed 4y agoCompare

[ Source](https://github.com/neoan3/cli)[ Packagist](https://packagist.org/packages/neoan3/neoan3)[ Docs](https://neoan3.rocks)[ RSS](/packages/neoan3-neoan3/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (5)Versions (56)Used By (0)

neoan3-cli
==========

[](#neoan3-cli)

[![Build Status](https://camo.githubusercontent.com/4657ef35cc84cce004178e3056e5b6a1bed0c7e065a39bc4dee7d6058d67d292/68747470733a2f2f7472617669732d63692e636f6d2f6e656f616e332f636c692e7376673f6272616e63683d6d6173746572)](https://travis-ci.com/neoan3/cli)[![Maintainability](https://camo.githubusercontent.com/b7b5114fc0b23cc4aed9500f8b0bf01c19dcec316324d5f6442ea53aface5da7/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f32396131383931616230366665366265376232652f6d61696e7461696e6162696c697479)](https://codeclimate.com/github/neoan3/cli/maintainability)[![neoan3](https://camo.githubusercontent.com/683cc557699d61444fcb830af5ff764db5cb7d3f357e9620e228f868fa9d9e4e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6f6666696369616c253230746f6f6c2d6e656f616e332d626c75652e7376673f7374796c653d666c6174266c6f676f3d646174613a696d6167652f706e673b6261736536342c6956424f5277304b47676f414141414e53556845556741414143414141414167434159414141427a656e723041414143566b6c4551565259522b32565430695459526a416639393069376e4e4e733176697969542f536b5045624b696f4d51796772494f59537045317735317341345268416865676735527038376467684157465552425678554662555a457057314c5464776d2b4b2f4e706476384f717a5a7433647a726735362b58374835336c656e682f50382f4b2b3071486d6f7772626945344d6244576167436167435767434a516e49726d55785642436a4e556e376f363830335a6a45376f364c36594955465a446463567136676a54666d6842546565683370446e6646614a713777705448797963766a6c4a53316477552f6c794d51426739385478746f637879306e38506a766a665661784a42656477746e62453954552f654c5432797143417a6143673159386a664f633670776b4674557a334f73674f6d345354794b7050794f374a343633493079464c59582f755579673377704971764c434e4632663475435a6561494249792b376e61796c56494f56464a776e46764332526f6e4e6c54505336794179396c646b6651495875674d594b394f4d2b475243517a7370705845474259746a685a57596a6e635061334f62417967536754346267543472646363576162773254574b706a4e66336e494236425470594135522f2b4a7972396955775653635a654c494863335753324b78424c4d6c425554493931446376627756484f73495962536e652b325343417875767747424b30665a674445744e697445584e517739335332572f43477a676f62574b496e35636f6146466551495a4d6e6542664f75464836667a48692f466462554967726e376e366e317675546d533947587657346844796755334366584b4468636f54597244357639316b4b436d5352335a6d4a5644705765645a5a7678342f66436e4338617352456b733666486338784f667952332f6c385763575a7777623376347352515779794b356c6f7438714148445578376e5945304353344d33392f667759725253714d366a50464b4d6b4154566c686a534f4138735954476c43673575384479565138434571526e71316a4f6d50466a483833785239697263435455415430415130675730582b4133555838346b4d70374e6d4141414141424a52553545726b4a6767673d3d26636f6c6f72413d326434323335)](https://neoan3.rocks)[![Discord](https://camo.githubusercontent.com/37780e16e74b7cd64ac0aff5a808b06f6b9334d9b83fe2f66dae107c2e54b9f2/68747470733a2f2f696d672e736869656c64732e696f2f646973636f72642f3730313832303530363637313637373538303f6c6162656c3d646973636f7264267374796c653d666c6174)](https://discord.gg/vjRgWUG)

Automate your [neoan3](https://neoan3.rocks) needs
--------------------------------------------------

[](#automate-your-neoan3-needs)

1. [Requirements](#Requires)
2. [Installation](#installation)
3. Creating new ...
    1. [app](#starting-a-new-neoan3-application)
    2. [component](#new-component)
    3. [frame](#new-frame)
    4. [model](#new-model)
4. [Reusing components/frames/models](#add)
5. [Handling credentials](#credentials)
6. [Database migration](#migrate)
7. [Publishing components/frames/models to be reused](#publish)
8. [File creation templating](#templates)
9. [Development server](#development-server-shortcut)
10. [Reporting issues](#reporting-issues)
11. [Collaboration](#collaborators-wanted)

### Requires

[](#requires)

- PHP
- composer
- GIT

### Installation

[](#installation)

```
composer global require neoan3/neoan3

```

Starting a new neoan3 application
---------------------------------

[](#starting-a-new-neoan3-application)

1. create a new folder and navigate into it

    e.g. `mkdir myApp`

    `cd myApp`
2. run neoan3 new app command

    e.g. `neoan3 new app myApp`
3. run in your local webserver

*Note:* The last parameter (e.g. myApp) should be the web-folder the app is run under. If you are running the instance on the root, please omit the last parameter. **Deployment**: It is likely that you will have to change the .htaccess (when running Apache) for your deployment target. In most cases, changing the RewriteBase should be enough.

### new component

[](#new-component)

`neoan3 new component [component-name]`

This command will guide you through the creation of a new component, prefilling the controller according to your choices.

- api (generates get &amp; post functions using a particular frame)
- route (generates init-functions resulting in the component acting as a valid route)
- custom element (currently empty class)

### new frame

[](#new-frame)

`neoan3 new frame [frame-name]`

This command generates a new frame.

### new model

[](#new-model)

`neoan3 new model [model-name]`

This command creates a new model.

install (not yet implemented)
-----------------------------

[](#install-not-yet-implemented)

`neoan3 install [url]`

This command executes external installation scripts in cases where composer cannot. In most cases you want to use "add" instead of "install" to ensure proper collaboration. This command is normally used to simplify installation of 3rd party applications.

add
---

[](#add)

`neoan3 add [destination] [package] ([repository-endpoint])`

Adding components makes the following assumptions:

- the component is registered as a composer-package
- it is either targeted at being a frame, a model or a component

for all other packages, please use the respective package manager (e.g. composer or npm) or version control system (e.g. GIT).

> neoan3 apps are "regular" composer packages. Please include them using `composer require`

*example*

`neoan3 add frame neoan3-frame/kit`

You can also add the repository-endpoint parameter if you have private repositories or want to work without publishing to packagist. Please include the full url in these cases.

> *works with bitbucket &amp; github*

*example*

`neoan3 add model custom-model/products https://github.com/yourName/yourPackage.git`

Please note that the name (here: custom-model/products) must be the name as specified in your composer.json of the neoan3-entity. See [publish](#publish).

credentials &amp; variables
---------------------------

[](#credentials--variables)

It is recommended to store static credentials (like smtp, API-tokens etc) outside the web root. This command attempts to mange such credentials in a folder "credentials" and a file credentials.json

`neoan3 credentials`

In its most simplistic form, a neoan3 implementation could look like this (in a frame):

```
$credentials = getCredentials();
// e.g. sendgrid
$sendgridCredentials = $credentials['sendgrid'];
```

*NOTE*

By default the cli tries to work with a folder "credentials" in the root of your current drive. You can influence this behavior by setting it to another location e.g.

`neoan3 set credential-path /home/myUser`

Remember to pass in the same path within your neoan3 project when calling the global function *getCredentials($path)*.

migrate
-------

[](#migrate)

Currently supports SQL only.

`neoan3 migrate models [direction]`

### migrate down

[](#migrate-down)

`neoan3 migrate models down`

This generates migrate.jsons from the connected database structure. The following assumptions are made:

Tables starting with a particular model-name are associated with that model. Example: If a model "user" exists tables starting with "user" are considered. This would include table-names like "user", "user\_password" or "userEmail". The recommended way for neoan3 is to follow a snake\_case naming for tables and columns.

### migrate up

[](#migrate-up)

`neoan3 migrate models up`

This creates or alters tables in your connected database based on structural declarations present in your migrate.json files in the folder of models. It is important to know that removing a column in your declaration will NOT remove the column from the database, while adding a column will generate the column in your database.

publish (not yet implemented)
-----------------------------

[](#publish-not-yet-implemented)

`publish [entity-type] [entity-name]`

*example*

`publish model user`

The publish-command transforms a local neoan3 entity into a composer package. Dependencies are taken care of automatically. The command will also ask you whether you directly want to publish on github. To do so, please ensure:

- you have git installed
- you have registered you identity (config)
- you have a valid token for the intended username
- created a remote repository (e.g. via github.com)

Please refer to Git documentation in order to achieve the above.

Since you have a valid composer.json in your repository now, you may publish on packagist as well.

Templates
---------

[](#templates)

You can influence the generated output with templates. To do so, place a folder \_template in your project. Basic variable support works with double curly braces without spaces ( {{name}} ) The following files are respected:

template fileentityvariable(s)Noteframe.phpframenamemodel.phpmodelnameapi.phpcomponent (API)name , frameroute.phpcomponent (Route)name , frameview.htmlcomponent (Route)namece.phpCustom elementname\*PHP files for custom element is only generated if template is presentce.jsCustom elementnamece.htmlCustom elementname\*.jsoncredentialsuses own name to hook into boilerplating credential creation***Casing:*** By default variables are translated to PascalCase. Depending on your needs, you have the following possibilities for your casing:

ModifierExampleTransformation.lower{{name.lower}}Converts "name" to lower case.camel{{name.camel}}Converts "name" to camelCase.pascal{{name.pascal}}Forces PascalCase (for edge cases)Development server shortcut
===========================

[](#development-server-shortcut)

Running `neoan3 develop` will start the built-in PHP server using the provided router-script.

Reporting issues
================

[](#reporting-issues)

The GitHub repo [neoan3-cli](https://github.com/neoan3/cli) is actively maintained. Please report issues there.

Collaborators wanted
====================

[](#collaborators-wanted)

Over 10.000 neoan3 applications are waiting for documentation. I'd love to have some people to help me:

- document neoan3 (framework)
- document neoan3-cli
- document various neoan3 composer apps
- create tutorials

If you are interested, please fel free to get in touch @

Contributors
------------

[](#contributors)

[sroehrl](https://github.com/sroehrl)

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 98.8% 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 ~13 days

Recently: every ~44 days

Total

36

Last Release

1673d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/92d2361b646651e3452a62d07274076346c4096480098a6c43d6c27ee28d460d?d=identicon)[neoan](/maintainers/neoan)

---

Top Contributors

[![sroehrl](https://avatars.githubusercontent.com/u/28542911?v=4)](https://github.com/sroehrl "sroehrl (159 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")[![tiso](https://avatars.githubusercontent.com/u/920949?v=4)](https://github.com/tiso "tiso (1 commits)")

---

Tags

cli-toolhacktoberfest

###  Code Quality

TestsPHPUnit

### Embed Badge

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

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

###  Alternatives

[magento/community-edition

Magento 2 (Open Source)

12.1k52.1k10](/packages/magento-community-edition)[roave/backward-compatibility-check

Tool to compare two revisions of a public API to check for BC breaks

5953.3M56](/packages/roave-backward-compatibility-check)[internachi/modular

Modularize your Laravel apps

1.1k662.4k8](/packages/internachi-modular)[wsdltophp/packagegenerator

Generate hierarchical PHP classes based on a WSDL

4351.9M19](/packages/wsdltophp-packagegenerator)[magento/magento2-functional-testing-framework

Magento2 Functional Testing Framework

15511.5M30](/packages/magento-magento2-functional-testing-framework)[wheelpros/fitment-platform-api

Magento 2 (Open Source)

12.1k1.2k](/packages/wheelpros-fitment-platform-api)

PHPackages © 2026

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