> For the complete documentation index, see [llms.txt](https://docs.diracinc.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.diracinc.com/how-to-be-successful-in-buildos/concepts/requirements.md).

# Requirements

This will cover what requirements are, how to create them, and how to use them.

## What are requirements?

Requirements are additional information which you can attach to an instruction step. The types of requirements are:

* Tools
* Fixtures
* Standard Notes
* Media

We'll cover what each of these mean, and how best to use them.

### Tools

Identifying a tool for an instruction step identifies the equipment necessary to perform the assembly. Tools can have images, as well as a title and description.

When an operator is viewing an assembly step, the tools required for the step are identified. The Tool BOM is also identified in the instruction, which indicates all of the tools you will need for the assembly.

Your tools are kept in your library so that you can keep consistent terminology across your instructions.

<figure><img src="https://2740836029-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FuT4VlrqtSgrz4OSV9Xp4%2Fuploads%2Fk3N0Crpv2zh9MgN5Cq8n%2Fimage.png?alt=media&amp;token=0b4ea50a-024a-4949-b8d8-f1405d81d336" alt=""><figcaption></figcaption></figure>

### Fixtures

Fixtures are additional 3D models that you can import into your instructions. Fixtures can show how to place an assembly relative to specific tooling or within a workspace.

Fixtures have two associated steps: installation and removal.

You can read a more detailed summary about fixtures [here](/user-guide/project-open/adding-fixtures.md).

### Standard Notes

Standard notes are notes which are common across many work instructions. These are commonly called out on technical drawings, and have consistent identifying information.

An example of a standard note would be "Handle material IAW cleanliness controls of NAVSEA 0989-064-3000", which identifies to the operator that they must adhere to cleanliness controls of the provided technical manual. This standard note is used in many instructions, and is therefore a standard note.

Your standard notes are kept in your library, similar to tools.

<figure><img src="https://2740836029-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FuT4VlrqtSgrz4OSV9Xp4%2Fuploads%2FZKCkCBEMUh6C92nvOfu2%2Fimage.png?alt=media&amp;token=9052c6ce-c31e-4b8e-831a-160dbb292043" alt=""><figcaption></figcaption></figure>

### Media

Media are images you wish to show to the operator who is performing the assembly step. Media is great for communicating something that words cannot.

Great examples of media are technical drawings, torque tables, proper fit-up, or images of acceptable/unacceptable quality.

Your media is also given its own library for use throughout all of your instructions.

<figure><img src="https://2740836029-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FuT4VlrqtSgrz4OSV9Xp4%2Fuploads%2FV4W5cITqiujo9g0rNDkO%2Fimage.png?alt=media&amp;token=bbe5f311-684c-492b-940b-53f73ab23755" alt=""><figcaption></figcaption></figure>

## Creating requirements

There are two ways you can create requirements:

1. Library
   1. If the type of requirement has a library, you can add directly to the library from the dashboard.
   2. Once it is in your library, you can easily add it to your instructions.
2. Inside an instruction
   1. You can add to your library from directly inside of a work instruction.
   2. From the requirements tab, you can create a new requirement which will add it to your library for use throughout all of your instructions.

## Local, Global, and Hidden

These terms impact how a requirement is applied throughout all of your instructions.

* Global:
  * Marking something as "Global" will associate the requirement with the part it is attached to.
  * If you upload another model with parts BuildOS has previously seen, it will bring in all "Global" requirements previously attached.
  * This is designed to ensure you have consistency across your instructions, and ensures maximum knowledge retention across all members of your team making work instructions.
* Local:
  * Marking something as "Local" will not associate it with the part it is attached to.
* Hidden:
  * If you have a part with "Global" requirements which you don't wish to alter, and you also don't want to show it in an instruction step, you can mark it as "Hidden".
  * This will leave the "Global" requirement unchanged, and will ensure the selected step only shows the desired requirements.
