# Getting started

Source: https://libtmux.org/en/haskell/latest/guides/getting-started/

> Getting started: libtmux-haskell documentation.

The public package currently provides typed tmux IDs, checked dimensions and
indices, and stable-release parsing. Start with the complete
[typed-value program](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/examples/typed-values/Main.hs), then follow the
signatures in the [API guide](https://libtmux.org/en/haskell/latest/guides/api-documentation/).

| Task | Guide |
| --- | --- |
| Add the source package to a Cabal application | [Installation](https://libtmux.org/en/haskell/latest/guides/installation/) |
| Parse IDs, validate geometry and admit a release | [Typed values](https://libtmux.org/en/haskell/latest/guides/typed-values/) |
| Browse modules, declarations and source | [API documentation](https://libtmux.org/en/haskell/latest/guides/api-documentation/) |
| Decide whether the current package meets your needs | [Implementation status](https://libtmux.org/en/haskell/latest/guides/status/) |

The [behavior contracts](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/docs/contracts/README.md) describe the implementation
scope. They include operations that are not yet public APIs.

The proposed [native domain model ADR](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/docs/decisions/0001-native-domain-model.md)
compares sibling ports and records the object graph, naming and lifecycle
decisions awaiting expert review.

Repository setup and test authoring live in
[contributing](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/.github/CONTRIBUTING.md) and
[testing](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/.github/TESTING.md).
