CLI reference

The bustan command, added in 0.0.2.

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