> 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/readme.md).

# as-pect

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

## Documentation

The canonical documentation lives in GitBook and is mirrored in this repository under [`docs/`](/as-pect/docs.md):

* [Getting started](/as-pect/docs/using/getting-started.md)
* [Writing tests](/as-pect/docs/using/writing-tests.md)
* [Configuration](/as-pect/docs/using/configuration.md)
* [CLI](/as-pect/docs/using/cli.md)
* [Snapshots](/as-pect/docs/using/snapshots.md)
* [Coverage](/as-pect/docs/using/coverage.md)
* [Reporter overview](/as-pect/docs/extending/reporter-overview.md)
* [Contributor workflow](/as-pect/docs/maintaining/contributor-workflow.md)

Read the hosted docs at [as-pect.gitbook.io/as-pect](https://as-pect.gitbook.io/as-pect/).

## Quick start

```sh
npm install --save-dev @as-pect/cli assemblyscript
npx asp --init
npx asp --summary
```

`asp --init` creates the standard `as-pect.config.js`, `as-pect.asconfig.json`, and `assembly/__tests__/` starter files. See [Getting started](/as-pect/docs/using/getting-started.md) for the full flow.

## Repository packages

This monorepo contains the CLI, AssemblyScript runtime, core Test suite/reporting model, snapshot package, transform package, shared reporter-output helper, and built-in file reporters.

For package boundaries, see [Package architecture](/as-pect/docs/maintaining/package-architecture.md). For exact public types, see [Types overview](/as-pect/docs/types.md).

## Development

```sh
npm install
npm test
npm run changeset
```

See [Contributor workflow](/as-pect/docs/maintaining/contributor-workflow.md) and [Release process](/as-pect/docs/maintaining/release-process.md) for maintainer details.

## Contributors

To contribute, see [CONTRIBUTING.md](/as-pect/contributing.md).

Thanks to the AssemblyScript team and all `as-pect` contributors for making this project possible.
