apogee new¶
Generates a new project from the official Apogee scaffold.
Synopsis¶
Arguments¶
| Argument | Description |
|---|---|
<name> |
Project directory name (also becomes the Python package name in src/). Use kebab-case. |
Common options¶
| Option | Default | Description |
|---|---|---|
--path <dir> |
./ |
Where to place the generated project |
--db <engine> |
postgres |
Default DB engine: postgres, mysql, mongo (more via add:*) |
--no-docker |
off | Skip generating Docker assets (advanced) |
Run
apogee new --helpfor the live list — flags evolve between releases.
Example¶
What gets generated¶
The scaffold creates roughly 31 files spanning:
Text Only
shop-api/
├── docker-compose.yml # postgres + app
├── Dockerfile.dev # dev image
├── alembic.ini
├── apogee.yml # project metadata read by future apogee commands
├── requirements.txt
├── src/
│ ├── domain/
│ ├── application/
│ ├── infrastructure/
│ └── presentation/
│ ├── api/ # FastAPI routers
│ ├── cli/ # custom CLIs (optional)
│ └── container.py # Dishka DI container
├── migrations/ # Alembic
└── tests/
The generated project is standalone — it depends on apogee-core (and any modules you opt in to) as normal pip packages. It does not need this CLI at runtime.
Read next¶
- After scaffolding, your next step is usually
apogee make:entity. - Or skim Concepts to understand what each layer does.