# Next steps

Your app scaffolds, configures, builds and, if you have a board, runs. From here the
documentation splits by what you want to do next.

## Change what the app is made of

Every app is a board plus a set of modules, declared in `nsx.yml` and pinned in
`nsx.lock`.

- The [module catalog](https://ambiqai.github.io/neuralspotx/modules/catalog/) is the filterable list of packaged
  modules: what each one provides, which SoCs and boards it declares compatibility with,
  and the `nsx module add` line that pulls it in.
- The [board matrix](https://ambiqai.github.io/neuralspotx/modules/boards/) lists packaged boards with their
  SoC, tier, SDK provider, CPU and declared toolchains.
- [`nsx module`](https://ambiqai.github.io/neuralspotx/reference/cli/module/) adds, removes, lists, searches and
  describes modules. [`nsx lock`](https://ambiqai.github.io/neuralspotx/reference/cli/lock/) and
  [`nsx sync`](https://ambiqai.github.io/neuralspotx/reference/cli/sync/) are the two halves of that job when you
  want to run them separately, and [`nsx outdated`](https://ambiqai.github.io/neuralspotx/reference/cli/outdated/)
  and [`nsx update`](https://ambiqai.github.io/neuralspotx/reference/cli/update/) deal with upstream drift.

:::note[Compatibility is declared, not measured]
Everything the catalog says about which SoCs and boards a module supports comes from that
module's own manifest. It is a declaration by the module author, not a statement that the
combination has been run on hardware.
:::

## Go deeper on the workflow

- The [User guide](https://ambiqai.github.io/neuralspotx/guides/) section covers the app model and layout, module
  workflows, memory placement, startup and linker behavior, toolchain selection, and the
  concepts behind app generation.
- The [CLI reference](https://ambiqai.github.io/neuralspotx/reference/cli/) has a page per command and subcommand,
  generated from the argument parser for this documentation build. Check the installed version with `uv tool list` (or `pipx list`), then consult [release information](https://ambiqai.github.io/neuralspotx/reference/releases/) when using a different version.
- The [configuration reference](https://ambiqai.github.io/neuralspotx/reference/config/) documents the schemas:
  [`nsx.yml`](https://ambiqai.github.io/neuralspotx/reference/config/nsx-yml/),
  [`nsx-module.yaml`](https://ambiqai.github.io/neuralspotx/reference/config/nsx-module-yaml/),
  [`board.yaml`](https://ambiqai.github.io/neuralspotx/reference/config/board-yaml/) and
  [`nsx.lock`](https://ambiqai.github.io/neuralspotx/reference/config/nsx-lock/).

## Drive NSX from code

Everything the CLI does is available as a Python API, which is how you script a build
matrix or wire NSX into another tool. See the
[Python API reference](https://ambiqai.github.io/neuralspotx/reference/api/). Every public symbol is marked
provisional, so pin your NSX version if you depend on it.

For agents and scripts that would rather not parse help text,
[`nsx commands --json`](https://ambiqai.github.io/neuralspotx/reference/cli/commands/) returns the whole command
tree, and [`nsx doctor --json`](https://ambiqai.github.io/neuralspotx/reference/cli/doctor/) returns the
environment report.

## Read working apps

Browse the [examples](https://ambiqai.github.io/neuralspotx/guides/examples/) for FreeRTOS, audio capture,
connectivity, inference and profiling. Each page includes setup instructions and target
status. The source is in
[`examples/`](https://github.com/AmbiqAI/neuralspotx/tree/main/examples).
From a source checkout you can build any of them by name, because the
positional app argument resolves under `./examples`:

```bash
nsx build hello_world --board apollo510_evb
```

## Coming from neuralSPOT

[Migrating from neuralSPOT](https://ambiqai.github.io/neuralspotx/getting-started/migrate-from-neuralspot/) maps
the legacy packages onto NSX modules and says which ones have no equivalent yet.
