Metadata-Version: 2.3
Name: lst-builder
Version: 0.0.3
Summary: Litestar project builder
Author: Bryan
Author-email: Bryan <shekhrozx@gmail.com>
Requires-Dist: click>=8.5.0
Requires-Python: >=3.12
Description-Content-Type: text/markdown

# Litestar Builder

Litestar Builder creates Litestar projects and adds domain modules to projects using
the bundled template in `src/lst_builder/assets`.

## Create a project

```console
lst-build project my-project
cd my-project
uv sync
```

The command creates `./my-project` by default. To use an existing or custom
directory as the project root, pass it as the second argument; files are created
directly in that directory:

```console
lst-build project my-project ./workspace
```

The generated project uses a `src/<package>` layout. The package name defaults to
the snake_case project name and can be set explicitly:

```console
lst-build project my-project --package my_app
```

## Add a domain

Run the command from inside a generated project:

```console
lst-build domain inventory
```

The command creates a domain module under `<package>/domain/inventory` and a
matching database model under `<package>/db/models`. Controllers are discovered
by the generated project's domain plugin; the model is registered in
`db/models/__init__.py` for migration discovery.