Ir para o conteúdo

apogee new

Generates a new project from the official Apogee scaffold.

Synopsis

Bash
apogee new <name> [options]

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 --help for the live list — flags evolve between releases.

Example

Bash
apogee new shop-api --db postgres
cd shop-api
apogee up

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.