> For the complete documentation index, see [llms.txt](https://as-pect.gitbook.io/as-pect/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://as-pect.gitbook.io/as-pect/docs.md).

# as-pect

`as-pect` is a test runner for AssemblyScript projects. It compiles AssemblyScript test entries to WebAssembly, runs them, reports results, and handles snapshots, coverage, and reporter output.

These docs describe the current `master` branch.

## Choose your path

### I want to test an AssemblyScript project

Start here if you are adding `as-pect` to an application or library.

1. [Getting started](/as-pect/docs/using/getting-started.md)
2. [Writing tests](/as-pect/docs/using/writing-tests.md)
3. [Configuration](/as-pect/docs/using/configuration.md)
4. [CLI](/as-pect/docs/using/cli.md)
5. [Snapshots](/as-pect/docs/using/snapshots.md)
6. [Coverage](/as-pect/docs/using/coverage.md)
7. [CI](/as-pect/docs/using/ci.md)
8. [Troubleshooting](/as-pect/docs/using/troubleshooting.md)

### I want to extend as-pect

Start here if you are writing a reporter, output integration, or tool that consumes `as-pect` results.

1. [Reporter overview](/as-pect/docs/extending/reporter-overview.md)
2. [Reporter API](/as-pect/docs/extending/reporter-api.md)
3. [Built-in reporters](/as-pect/docs/extending/built-in-reporters.md)
4. [Custom reporters](/as-pect/docs/extending/custom-reporters.md)
5. [Output files](/as-pect/docs/extending/output-files.md)
6. [Legacy reporter compatibility](/as-pect/docs/extending/legacy-reporter-compatibility.md)

### I want to contribute to as-pect

Start here if you are changing the `as-pect` repository itself.

1. [Repository overview](/as-pect/docs/maintaining/repository-overview.md)
2. [Package architecture](/as-pect/docs/maintaining/package-architecture.md)
3. [Test session lifecycle](/as-pect/docs/maintaining/test-session-lifecycle.md)
4. [Reporting lifecycle](/as-pect/docs/maintaining/reporting-lifecycle.md)
5. [Snapshot lifecycle](/as-pect/docs/maintaining/snapshot-lifecycle.md)
6. [Release process](/as-pect/docs/maintaining/release-process.md)
7. [Contributor workflow](/as-pect/docs/maintaining/contributor-workflow.md)

## References

Use the reference pages when you need exact allowed values, exported types, or stable contracts.

* [CLI reference](/as-pect/docs/reference/cli-reference.md)
* [Config reference](/as-pect/docs/reference/config-reference.md)
* [Assertion reference](/as-pect/docs/reference/assertion-reference.md)
* [Reporter reference](/as-pect/docs/reference/reporter-reference.md)
* [Types overview](/as-pect/docs/types.md)
* [Glossary](/as-pect/docs/reference/glossary.md)

## Documentation principles

These docs are organized into three tracks:

* **Using as-pect** is tutorial-first and should help a user reach a passing test quickly.
* **Extending as-pect** explains the public seams for reporters and integrations.
* **Maintaining as-pect** explains repository internals for contributors.

Package READMEs are short landing pages. This GitBook is the canonical place for detailed user, extension, and maintainer documentation.

***

[![Support Joshua Tenner on Ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/jtenner)
