Faust.js - The Headless WordPress Framework
![Faust.js](https://user-images.githubusercontent.com/5306336/152221545-53087444-b3ad-477d-90a9-606785854656.jpg)

<p align="center">
  <strong>
    NOTE: This is prerelease software. As we work towards our first release, we
    will 💯 introduce breaking changes.
  </strong>
</p>

<p align="center">
  <a aria-label="@faustwp/core Downloads" href="https://www.npmjs.com/package/@faustwp/core">
    <img alt="" src="https://img.shields.io/npm/dw/@faustwp/core?color=7e5cef&style=for-the-badge&label=@faustwp/core">
  </a>
<!--  -->
  <a aria-label="@faustwp/cli Downloads" href="https://www.npmjs.com/package/@faustwp/cli">
    <img alt="" src="https://img.shields.io/npm/dw/@faustwp/cli?color=7e5cef&style=for-the-badge&label=@faustwp/cli">
  </a>
<!--  -->
  <a aria-label="License" href="https://github.com/wpengine/faustjs/blob/canary/LICENSE">
    <img alt="" src="https://img.shields.io/npm/l/@faustjs/core?color=7e5cef&style=for-the-badge">
  </a>
</p>

## Introduction

Faust.js is a framework for building front-end applications for headless WordPress sites. Faust.js provides tooling to reduce the pains of building a headless WordPress site (namely around data fetching, authentication, previews, and SSR/SSG) while offering a pleasant experience for both developers and publishers.

## Getting Started

Faust.js aims to be framework agnostic, so it can be used with any front-end framework. Visit one of the guides below for a starting point:

- [Getting started with Next.js](https://faustjs.org/docs/getting-started)

As we work towards our first release, we will be introducing support for other frameworks.

## Documentation

Visit [https://faustjs.org/docs/getting-started](https://faustjs.org/docs/getting-started) to view the full documentation.

## WordPress Plugin (FaustWP)

There are two key parts to Faust.js: the NPM packages and the WordPress plugin. To take full advantage of headless, you will need to install the plugin in addition to the npm packages.

You can download and install FaustWP from the [WordPress Plugin Directory](https://wordpress.org/plugins/faustwp/), or by using the zip linked below.

[📥 Download Latest Version](https://wordpress.org/plugins/faustwp/)

## Community

To chat with other Faust.js users and the headless community as a whole, you can join the [WP Engine Developers Discord](https://discord.gg/J2khkF9XYK).

Additionally, if you have questions or ideas, please share them on [GitHub Discussions](https://github.com/wpengine/faustjs/discussions).

## Contributing

There are many ways to [contribute](/CONTRIBUTING.md) to this project.

- [Discuss open issues](https://github.com/wpengine/faustjs/issues) to help define the future of the project.
- [Submit bugs](https://github.com/wpengine/faustjs/issues) and help us verify fixes as they are checked in.
- Review and discuss the [source code changes](https://github.com/wpengine/faustjs/pulls).
- [Contribute bug fixes](/CONTRIBUTING.md)

### Contributor License Agreement

All external contributors to WP Engine products must have a signed Contributor License Agreement (CLA) in place before the contribution may be accepted into any WP Engine codebase.

1. [Submit your name and email](https://wpeng.in/cla/)
2. 📝 Sign the CLA emailed to you
3. 📥 Receive copy of signed CLA

❤️ Thank you for helping us fulfill our legal obligations in order to continue empowering builders through headless WordPress.
