# Installation

Clone core, add your application and run two commands to have a working site.

```bash
# 1. Clone core
git clone git@github.com:Nimbly-Web-Systems/nimbly-core.git my-project
cd my-project

# 2. Clone your application into ext/ (or let setup create an empty ext/)
git clone git@github.com:your-org/your-app.git ext

# 3. Install dependencies, create local config/data/admin user, and build assets
./nimbly init
```

After this, the project is fully operational. Core and ext evolve independently.

Start the local site with `./nimbly up` and open `http://localhost`; the admin
is at `http://localhost/nb-admin/`. A site without pages of its own opens on
the starter home page that `system:setup` wrote to `ext/uri/`.

`./nimbly` uses npm internally for frontend dependencies and assets. It uses host PHP when PHP 8+ is available. If PHP is not available, it automatically runs PHP-backed commands through the Nimbly Docker Compose service. To force Docker explicitly:

```bash
./nimbly --docker init
```
