A smoke test answers one question: is this build stable enough to test further? It runs a handful of shallow checks on the most important paths, and if any fail, deeper testing stops (the Drizz guide to smoke testing in CI/CD). For a model API quickstart that path is narrow: the client reads a key from the environment, sends one request, parses a response, prints something. Everything else is a different, slower kind of test.
Live calls make that check unreliable in three ways. They cost money on every run. They fail when the provider has an outage, rate-limits you, or rotates a credential a contributor does not have. And they are nondeterministic: sampling, provider-side prompt changes and safety filters can all alter the bytes that come back, so an assertion on exact text breaks for reasons unrelated to your code. A test that fails for reasons outside the repository is a test people learn to ignore, which is the worst outcome for a quality gate.
There is a second argument that is easy to miss. The quickstart in your README is documentation, and documentation has to be true. The Write the Docs community describes a docs-as-code philosophy where documentation is written with the same tools as code, lives in version control, and passes through the same review and automated test workflows (Write the Docs). A smoke test that executes the README steps in CI turns "the quickstart is probably still right" into a build that goes red when it is not.
A public issue tracker shows what adoption looks like. A contributor asked for a smoke test that proves the README quickstart path works without real provider keys: start the server against a local mock, hit the health, models and completion endpoints, cover at least one error path, and keep the test self-contained (the Free-Way issue). That is a good specification for any model-backed quickstart, and it is the shape this article builds on.



