stackenv 0.1.7

Native, zero-container multi-project dev environment manager. No Docker, no VMs.
# fastapi-dev

A real FastAPI app, scaffolded with `uv init` + `uv add fastapi "uvicorn[standard]"`
and verified end-to-end (`GET /` and `GET /health` both respond correctly
under `uv run uvicorn main:app`).

## What this demonstrates

This project's `stack.toml` sets `[run].external = true`. You run
`uvicorn --reload` yourself, in your own terminal, exactly how you already
would without `stack` — same command, same reload workflow. `stack`'s only
job is validating port 8000 and routing `fastapi-dev.localhost` to it; it
never spawns or supervises the process. See the docs site's
[Manifest Reference, "Why `[run].external` exists"](https://sanayavo.com/stack/manifest.html#run-external).

## Run it

1. Install dependencies:
   ```
   uv sync
   ```
2. Activate the pinned Python version and register the route (run this in
   the project folder):
   ```
   stack up
   ```
   This prints that nothing's listening on port 8000 yet — expected, since
   you haven't started uvicorn.
3. In your own terminal, start the dev server yourself:
   ```
   uv run uvicorn main:app --reload --port 8000
   ```
4. Visit `http://fastapi-dev.localhost` — routed straight through to the
   server you just started.