# Getting started

👋 Welcome! You've just taken your first step on the path to mastering Frontity.

Frontity is a **React-based framework** that enables you to easily build a frontend for a headless (or decoupled) WordPress site. Your WordPress site serves its data via the REST-API. Frontity framework is open source and free to use.

## Requirements

To get started with Frontity you will need:

### A WordPress installation

By default Frontity provides an [example WordPress site](https://test.frontity.org/) as the data source for every new project, so you can start working with this one.

You can also [configure your own WordPress installation](https://gitbook-docs.frontity.org/quick-start-guide#set-your-own-wordpress-installation) to be the data source. This can be hosted either locally on your development machine, or on a web-server. You can also use a site hosted on WordPress.com.

### Node.js

If you don't already have it you can get *Node.js* from [the official site](https://nodejs.org/). This will also install `npm` and `npx` along with Node.js.

You will use these to run Frontity commands during the set-up and development of your project.

{% hint style="info" %}
For those coming from WordPress it might be worth noting that *Frontity* runs on **Node.js**, so it needs to be deployed in a different server than your WordPress. If you want to learn more about this, visit Frontity's [GitHub repo](https://github.com/frontity/frontity#why-a-different-nodejs-server) or see the [Architecture](https://gitbook-docs.frontity.org/architecture) section arch these docs.
{% endhint %}

To test if you have Node.js installed open your terminal and run:

```bash
node -v
```

```bash
npm -v
```


---

# 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://gitbook-docs.frontity.org/getting-started.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.
