# {{project_name}}

A [kick-rs](https://github.com/forinda/kick-rs) starter generated by
`cargo kick new`.

## Run

```bash
cargo run
# server starts on 0.0.0.0:3000

# in another terminal:
curl http://localhost:3000/hello
# {"message":"Hello from kick-rs!"}

curl http://localhost:3000/hello/world
# {"message":"Hello, world!"}
```

## Layout

- `src/main.rs` — bootstrap + tokio runtime
- `src/modules/hello/` — sample module: routes + handlers

To add a new module, mirror `src/modules/hello/` and register it in
`main.rs` via `bootstrap().module(my_module::define())`.

## Next steps

- Add services: `define_module("...").service::<MyService>()` then inject
  via `Inject<MyService>` in handlers.
- Add an HTTP plugin (CORS, request id, openapi): `bootstrap().http_plugin(...)`.
- Load config: `kick_rs::config::Config::builder().with_env_prefix("APP_").extract::<MyConfig>()?`.

See the [kick-rs docs](https://docs.rs/kick-rs) for the full surface.
