# The Essentials

- [Components](https://cbwire.ortusbooks.com/3.x/essentials/components.md): Sections or areas of your app that are reactive to user input.
- [Templates](https://cbwire.ortusbooks.com/3.x/essentials/templates.md): The HTML that makes up your components.
- [Data Properties](https://cbwire.ortusbooks.com/3.x/essentials/properties.md): The state of the our components.
- [Computed Properties](https://cbwire.ortusbooks.com/3.x/essentials/computed-properties.md): Dynamic, cached, properties that can return any CFML data type.
- [Actions](https://cbwire.ortusbooks.com/3.x/essentials/actions.md): Methods that are invoked based on user interactions.
- [Events](https://cbwire.ortusbooks.com/3.x/essentials/events.md): A simple way for UI components to communicate with each other.
- [Lifecycle Methods](https://cbwire.ortusbooks.com/3.x/essentials/lifecycle-events.md): Various component lifecycle events you can leverage for your needs.
- [JavaScript](https://cbwire.ortusbooks.com/3.x/essentials/javascript.md): Call Actions, emit and listen for Events, and more - all from Vanilla JavaScript.
- [Testing](https://cbwire.ortusbooks.com/3.x/essentials/testing.md): Test your components using TestBox.


---

# 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://cbwire.ortusbooks.com/3.x/essentials.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.
