# Packages and Releases

## Packages

In Chassy, a package is an immutable reference to any application artifact imported/published to our storage platform (Chassy Index). These artifacts may be executables like binaries or containers, arbitrary files, archives, and much more. When packages are available in Chassy, they can then be used within a workflow as part of a Release intended for deployments to machines or executed directly on machines as a way to issue commands.

{% hint style="info" %}
A package cannot be deployed without being included in a release.
{% endhint %}

{% hint style="info" %}
Packages of up to 50 GB are imported during the execution of a workflow using the [Import Package Step](/reference/workflow-components/steps.md#import-package).
{% endhint %}

While Chassy does not impose any versioning philosophy, we generally recommend following [semantic versioning](https://semver.org) for packages when possible. Packages may be associated with arbitrary version strings which can be queried and used to filter available packages in the Chassy Index.

## Releases

A release is a versioned bundling of one or more versioned packages intended to be deployed to machines belonging to a particular [Chip](/user-guides/platform-user-guide/creating-chips.md#what-are-chips) in a [Fleet](/user-guides/fleet-user-guide.md#what-is-a-fleet). Releases can be created using the [Release step](/reference/workflow-components/steps.md#release) in the workflow engine. A release can then be deployed to a fleet using the [Deploy step](/reference/workflow-components/steps.md#deploy).

All releases in Chassy must follow the [semantic versioning (semver)](https://semver.org) scheme. Manual versions can be specified directly or Chassy can generate compliant version numbers based on certain constraints you specify automatically.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.chassy.io/user-guides/workflow-user-guide/packages-and-releases.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
