Coding
PromptBeginner5 minmarkdown
Nano Banana Pro
Agent skill for nano-banana-pro
6
- Place all FastAPI code under `app/`; `app/main.py` should expose the `FastAPI` instance and register routers.
Sign in to like and favorite skills
app/; app/main.py should expose the FastAPI instance and register routers.app/ (e.g., app/routes/status.py) and import them from main.py.app/services/ or app/dependencies.py to avoid circular imports.tests/; name modules like tests/test_status.py and share fixtures in tests/conftest.py.requirements.txt; update it with any new package and regenerate the lock step if you add one.python -m venv .venv && source .venv/bin/activate prepares an isolated environment before installing dependencies.make install (defined in the workshop Makefile) should install requirements.txt and freeze the environment; keep this target current when dependencies change.make build is reserved for packaging or lint steps—extend it rather than creating ad-hoc scripts.make run should keep launching uvicorn app.main:app --reload for local development; verify log output after changes.python -m pytest runs the unit suite; if you add a dedicated make test alias, wire it to this command.pydantic.BaseSettings (e.g., app/config.py) and keep FastAPI routers in app/routes/ when growth warrants.black or ruff, add the invocation to make build and document it here.pytest and FastAPI's TestClient; each new endpoint should ship with at least happy-path and failure tests.test_<unit_under_test>_<expected_behavior> and isolate networking via dependency overrides or fixtures.pytest --maxfail=1 --disable-warnings locally; capture coverage using pytest --cov=app when enforcing thresholds.Add status endpoint, Create install target).pytest output or curl http://localhost:8000/status).