artiframe new
The artiframe new command is used to scaffold a completely fresh ArtiFrame project built on modern standards.
It stands up the entire architecture (MVC layers, security classes, config files, routing structure, and public directory) in seconds.
Usage
$ artiframe new [project-name] [options]
Interactive Mode (Wizard)
If you simply type artiframe new and hit enter, the smart wizard kicks in.
It guides you step-by-step, asking for the project name and installation directory, completely eliminating the margin for error.
$ artiframe new
? Project name [my-app]: ecommerce
? Installation directory (e.g., ./ecommerce, /var/www/html) [./ecommerce]:
[+] Project skeleton created.
[+] .env environment files prepared.
[+] Installing Composer dependencies...
Arguments and Options
| Parameter | Description |
|---|---|
[project-name] |
(Optional) Allows you to directly specify the project's name. If omitted, the wizard will prompt you. |
--dir=<path> |
(Optional) Specifies the target directory where the project will be installed. By default, it creates a folder with the project name. |
--devops=false |
(Optional) Prevents the generation of the "DevOps Studio" desktop shortcut (.desktop file) on Linux systems. |
--silent |
(Optional) Disables the interactive wizard. Performs all operations silently using default values or provided options. Ideal for CI/CD pipelines. |
What Gets Generated?
When this command is executed, the following architectural structure is deployed entirely:
- app/: Controllers, Models, and the backend core of the system.
- public/: Publicly accessible files,
index.php(the main router), and assets. - .agents/: Project-specific Artificial Intelligence (AI) system prompts and rule sets (
AGENTS.md). - .env: Environment variables and database connection configurations.
- vendor/: Core libraries pulled via Composer.
Silent Installation Example
If you want to create a project without human intervention in a server deployment scenario (e.g., inside a bash script):
$ artiframe new my-api --dir=/var/www/api --silent --devops=false