---
title: Manifest
order: 7
description: "The file that declares what a package is: its name, dependencies, entry points and tool config (go.mod, package.json, pyproject.toml, Cargo.toml). How the workspace builds, tests and lints the package belongs in the magusfile, not in the manifest's scripts."
tags: [glossary, core-model]
---

# Manifest

The file that declares what a package is: its name, dependencies, entry points
and tool config (`go.mod`, `package.json`, `pyproject.toml`, `Cargo.toml`). How
the workspace builds, tests and lints the package belongs in the magusfile, not
in the manifest's scripts.

## Elsewhere

In container tooling a manifest is the OCI image manifest: the list of layer and config
descriptors that make up an image. A web app manifest describes an installable web app.
magus uses the word only for a package's own declaration file.

## Example

`magus describe project` shows which manifest a project's spell read.

```sh
magus describe project libs/xdg
```

## Used in

<!-- BEGIN GLOSSARY USAGE (generated by glossary-usage-generate from the knowledge graph; edit the generator, not this list) -->

In the docs:

- [Anti-pattern: a shared manifest as an input](../concepts/cache.md#anti-pattern-a-shared-manifest-as-an-input)
- [podman-manifest](../concepts/spells/podman.md#podman-manifest)
- [MGS1049: a target runs a manifest-defined script](../reference/codes/magusfile/MGS1049.md#mgs1049-a-target-runs-a-manifest-defined-script)

In the code (`magus refs <name>` lists every site):

- `cache.Manifest` (Go)
- `knowledge.manifest` (Go)
- `selfupdate.Manifest` (Go)
- `spells.Manifest` (Go)
- `v1.Manifest` (Go)

<!-- END GLOSSARY USAGE -->

## See also

- [Magusfile](magusfile.md)
- [Spells](../concepts/spells.md#manifests-and-magusfiles)
