docs/hex-package-contents.md

# Hex package contents

The v0.1.0 Hex package uses an explicit `package[:files]` list so release
contents do not depend on Hex defaults.

## Included files

The release package should include:

- `.formatter.exs`
- `mix.exs`
- `README.md`
- `LICENSE.md`
- `CHANGELOG.md`
- `lib/`
- `docs/`

The `docs/` directory is included because `docs()` references documentation
extras such as `docs/module-responsibilities.md`. Keeping the whole directory in
the package prevents future extras from being added to HexDocs while being left
out of the release package.

## Excluded files

The release package should not include local or generated artifacts such as:

- `_build/`
- `deps/`
- `doc/`
- `tmp/`
- `cover/`
- `.elixir_ls/`
- `priv/plts/`
- `test/`

These files are useful during development, but they are not required by users of
the package.

## Local inspection

Before publishing, inspect the actual package contents:

```sh
mix package.contents
```

This command builds and unpacks the Hex package under `_build/hex_package_contents`
and checks that required release files are present while generated artifacts are
absent.