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.