<!--
  Epilogue
  From the Iris book, epilogue, covering Iris 14.0.0 on Go 1.27.
  Import path: github.com/kataras/iris/v14
  Canonical page: https://iris-go.com/docs/epilogue/
-->
# Epilogue

Twenty-three chapters ago this book promised a path from `go mod init` to
production. Here at the end, it is worth naming what you actually carry
out of it, because it is more than a list of APIs.

## What You Can Do Now

You can take an empty directory and, within the hour, stand up a service
with typed routes, validated input, one coherent error format, dependency
injection that makes testing trivial, and an HTTP test suite that runs in
milliseconds. You can read a request from any angle (path, query, body,
form, upload) and answer it with the right status, the right headers and
the right shape. You can put authentication in front of anything, from a
one-line Basic Auth guard to a token SDK with database-backed users. You
know where every cross-cutting concern belongs, what the builder installs
so you never install it twice, and how to find out (with a profiler, not
a hunch) where the time really goes when something is slow.

Just as importantly, you know what the framework does *for* you: the
secure defaults it ships, the panics it contains, the internals it keeps
out of error responses, the connections it drains on shutdown. Good
infrastructure is measured by the incidents that never happen; a lot of
this book has quietly been about those.

## The Habits Worth Keeping

If the details fade, keep the habits. They were the real curriculum:

- **Thin handlers.** Read, call, respond. Business rules live in services;
  plumbing lives in middleware; neither lives in a handler.
- **One place for errors.** Domain code returns meaningful errors; exactly
  one map decides what clients see. The moment you write a status code in
  a handler, ask why.
- **Constructors declare, containers provide.** Every dependency that
  arrives through a constructor is a dependency you can fake in a test.
- **Tests in milliseconds.** If the suite is fast, you run it constantly;
  if you run it constantly, you refactor without fear. In-memory HTTP
  testing is what makes that cheap.
- **Measure before optimizing, verify before trusting.** The profiler
  over folklore; the compiler and the test suite over hope.

None of these are Iris-specific. They will serve you in every service you
ever write. Iris simply removes the friction between the habit and the
code.

## What to Build Next

Reading builds understanding; building makes it stick. Three suggestions,
in rising order of ambition:

1. **Rebuild the Bookshelf from memory.** The framework's `TUTORIAL.md`
   walks it step by step; doing it without looking is the fastest way to
   find the parts that have not settled yet.
2. **Extend one of Chapter 22's applications.** Give the Stockroom API
   real persistence with `kataras/pg`, or give Shortl an admin party with
   usage statistics. Both programs were built to be grown.
3. **Port something real.** Take a service you already run (or the next
   one you are asked to write) and give it the shape this book teaches:
   the seams, the error map, the test suite. That is the moment the
   material becomes yours.

## Staying Current

- **The live AI wiki** at
  [codewiki.google/github.com/kataras/iris](https://codewiki.google/github.com/kataras/iris)
  is the fastest way to get unstuck. It is a free, Google-generated wiki
  built from the Iris source itself and regenerated as the code evolves.
  Every page states the commit it reflects, so it stays current across
  releases without waiting for anyone to update it. Browse it like
  documentation (architecture diagrams included), or use its chat to ask
  questions in plain language and get answers grounded in the actual
  codebase. As with any AI, double-check what it tells you against the
  source, but as a first responder for "how does Iris do X?", it is
  hard to beat.
- **Plexon AI** at [plexon.ai](https://plexon.ai) is a desktop assistant
  for Windows, macOS and Linux, built by the author of Iris. It ships an
  Iris skill built in, covering the same ground as this book in a form
  written for an agent to read, and its Software Developer persona turns
  it on.
- The framework lives at
  [github.com/kataras/iris](https://github.com/kataras/iris): releases,
  issues and discussions all happen there, and `HISTORY.md` records what
  each release changes.
- API reference documentation is on
  [pkg.go.dev/github.com/kataras/iris/v14](https://pkg.go.dev/github.com/kataras/iris/v14),
  generated from the same source you have been reading about.
- News and guides live at [iris-go.com](https://iris-go.com/).
- If you ever bring an older codebase forward, the maintained migration
  guide is at
  [github.com/kataras/iris/blob/main/MIGRATION.md](https://github.com/kataras/iris/blob/main/MIGRATION.md).

## Contributing

Iris has been built in the open since 2016, by hundreds of people who
started exactly where you are now. Bug reports with a failing test,
documentation fixes, middleware improvements, honest questions in the
discussions. All of it moves the framework forward. The same goes for
this book: when you spot something that could be clearer or wrong, say so
in the discussions. Corrections from readers are how a book stays
trustworthy.

## Thank You

Software frameworks are wagers: that the hours one group of people pours
into the plumbing will save many more hours for everyone who builds on
top of it. By reading this far, and by whatever you build next, you are
the other side of that wager paying off.

Thank you for reading. Now go build something good.

- Gerasimos Maropoulos
