bustan new#
Scaffold a project.
bustan new <NAME> [OPTIONS]
| Flag | Default | Description |
|---|---|---|
--package-manager <PM> |
uv |
uv, pip or poetry |
--no-git |
off | Skip git initialisation |
bustan generate#
Generate a building block. Aliased as bustan g.
bustan generate <KIND> <NAME>
| Kind | Creates |
|---|---|
module |
A module class and directory |
controller |
A controller, registered in the nearest module |
provider |
An injectable provider, registered and exported |
guard |
A guard |
pipe |
A pipe |
interceptor |
An interceptor |
$ bustan g provider tasks/TaskService
created app/tasks/service.py
updated app/tasks/module.py (providers, exports)
Generators edit the owning module so a generated provider is usable immediately.
bustan graph#
Print the module graph — the fastest way to answer "what can see what".
bustan graph [--format text|dot|json]
$ bustan graph
AppModule
├── TaskModule
│ ├── provides TaskService
│ └── exports TaskService
└── ReportModule
├── imports TaskModule
└── provides ReportService
bustan graph --format dot | dot -Tsvg > modules.svg
bustan routes#
List every route with the guards and pipes that apply.
$ bustan routes
METHOD PATH HANDLER GUARDS
GET /tasks/ TaskController.list_tasks —
POST /tasks/ TaskController.create ApiKeyGuard
DELETE /tasks/{id} TaskController.remove ApiKeyGuard
Exit codes#
| Code | Meaning |
|---|---|
0 |
Success |
1 |
Command failed |
2 |
Module graph could not be resolved |