PHPackages                             jofrysutanto/windsor - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. jofrysutanto/windsor

ActivePackage[Utility &amp; Helpers](/categories/utility)

jofrysutanto/windsor
====================

YAML-ised Configuration for ACF

v1.0.2(5y ago)549.2k4[2 issues](https://github.com/jofrysutanto/windsor/issues)[10 PRs](https://github.com/jofrysutanto/windsor/pulls)Apache-2.0PHPPHP &gt;=7.0.0

Since Jun 12Pushed 3y ago4 watchersCompare

[ Source](https://github.com/jofrysutanto/windsor)[ Packagist](https://packagist.org/packages/jofrysutanto/windsor)[ Docs](https://github.com/jofrysutanto/windsor)[ RSS](/packages/jofrysutanto-windsor/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (9)Dependencies (6)Versions (21)Used By (0)

ACF Windsor
===========

[](#acf-windsor)

[![Latest Stable Version](https://camo.githubusercontent.com/64ddae4dfffaa5de5045b6453e2e79481a0571f9d1e25ee209a16c7b11c45411/68747470733a2f2f706f7365722e707567782e6f72672f6a6f667279737574616e746f2f77696e64736f722f76)](//packagist.org/packages/jofrysutanto/windsor) [![Total Downloads](https://camo.githubusercontent.com/2da4e757002ba863406770e8f1c4142943f8749e31eadfc9c4d72de74c417bd3/68747470733a2f2f706f7365722e707567782e6f72672f6a6f667279737574616e746f2f77696e64736f722f646f776e6c6f616473)](//packagist.org/packages/jofrysutanto/windsor) [![Latest Unstable Version](https://camo.githubusercontent.com/73e338dbdd9461a162e830ea298fdfe4f384a07a82d0e1b579b1c7f125c581df/68747470733a2f2f706f7365722e707567782e6f72672f6a6f667279737574616e746f2f77696e64736f722f762f756e737461626c65)](//packagist.org/packages/jofrysutanto/windsor) [![License](https://camo.githubusercontent.com/41d5a24a2c7896c9d02b3779bcfa783750aea6415802380d160ae7c060abe897/68747470733a2f2f706f7365722e707567782e6f72672f6a6f667279737574616e746f2f77696e64736f722f6c6963656e7365)](//packagist.org/packages/jofrysutanto/windsor)

This package extends [Advanced Custom Fields](https://advancedcustomfields.com) plugin for WordPress and enable developers to write their ACF fields blazingly fast in configuration file.

[![ACF Windsor](https://raw.githubusercontent.com/jofrysutanto/windsor/master/screenshot.png)](https://raw.githubusercontent.com/jofrysutanto/windsor/master/screenshot.png)

### Features

[](#features)

- Permanently lock your custom fields in your version-controlled code, preventing accidental edits that quickly leads to out-of-sync configurations.
- Create your fields much faster, especially when complimented with the IDE integration.
- Composition is at the heart of it. Write your own rules to further supercharge your development productivity.

### Getting Started

[](#getting-started)

- The easiest way to install Windsor is to use composer:

```
composer require jofrysutanto/windsor
```

- If you are using VSCode, be sure to add the Schema file to your configuration.
- Ensure you have included composer auto-loader file. If you're not sure, add the following line into your `functions.php` file:

```
require_once __DIR__ . '/vendor/autoload.php';
```

- Register Windsor on ACF initialization. You may also do this in `functions.php` file:

```
function register_acf_windsor()
{
    \Windsor\Capsule\Manager::make()->register();
}
add_action('acf/init', 'register_acf_windsor');
```

- Create YAML entry file at `[your-active-theme]/acf-fields/index.yaml`, where `[your-active-theme]` refers to your currently active WordPress theme directory. At minimum, your entry file should contain:

```
fields: []
pages: []
blocks: []
```

- Test your installation:
    - Create your first custom field YAML, for example create a file `your-theme/acf-fields/page-default.acf.yaml`:

    ```
    title: 'Page Default'
    key: 'page_default'
    position: 'acf_after_title'
    hide_on_screen: []
    location:
      -
        -
          param: 'page_template'
          operator: '=='
          value: 'default'
    fields:
      heading:
        type: text
        label: Heading
    ```

    - Register this new ACF file in your index:

    ```
    fields: []
    pages:
      - page-default.acf.yaml
    blocks: []
    ```

    - You have successfully registered a new field group which will be made available when creating a new default page.
- Check out our full documentation below. Now go and create beautiful ACF fields!

Migrating Existing Fields
-------------------------

[](#migrating-existing-fields)

If you have existing field groups created through ACF interface, you can easily export them out to YAML by enabling the exporter through `ui` configuration when registering Windsor:

```
function register_acf_windsor()
{
    \Windsor\Capsule\Manager::make([
        'ui' => true
      ])
      ->register();
}
add_action('acf/init', 'register_acf_windsor');
```

Once enabled, you access the exporter within WordPress backend by clicking on Custom Fields &gt; Export to YAML link in sidebar.

More information about this tool can be found in [configurations section](https://windsor-docs.netlify.app/configurations.html#ui).

Learn More
----------

[](#learn-more)

Check out full documentations at

IDE Integration
---------------

[](#ide-integration)

Only VSCode integration is available at the moment. To enable autocompletion and useful snippets, follow the installation steps below:

- If not already installed, download and enable [YAML language server](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml) extension.
- Update your VSCode [settings](https://code.visualstudio.com/docs/getstarted/settings#_settings-file-locations) (i.e. `settings.json`):

```
"yaml.schemas": {
    "https://windsor-docs.netlify.app/schema.json": "*.acf.yaml"
}
```

Credits
-------

[](#credits)

This package is written to be used with [Advanced Custom Fields](https://www.advancedcustomfields.com/) plugin by [Elliot Condon](https://www.elliotcondon.com/), who deserves most of the credits for delivering and maintaining such an incredible plugin for WordPress developers.

If you have not already started using Advanced Custom Fields, be sure to check it out; it will definitely be worth your while.

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity34

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 86.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~38 days

Recently: every ~74 days

Total

10

Last Release

1825d ago

Major Versions

v0.9.5 → v1.0.02020-08-17

### Community

Maintainers

![](https://www.gravatar.com/avatar/a9be731bf718f1925bf8f137706b55f10f19bf75f698b68dbaab14ec4cf94ef0?d=identicon)[jofrysutanto](/maintainers/jofrysutanto)

---

Top Contributors

[![jofrysutanto](https://avatars.githubusercontent.com/u/2671631?v=4)](https://github.com/jofrysutanto "jofrysutanto (52 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (8 commits)")

---

Tags

acfacf-windsorcomposervscodewordpresswordpressadvanced custom fields

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/jofrysutanto-windsor/health.svg)

```
[![Health](https://phpackages.com/badges/jofrysutanto-windsor/health.svg)](https://phpackages.com/packages/jofrysutanto-windsor)
```

###  Alternatives

[hellonico/acf-country

A country field for ACF.

12193.2k](/packages/hellonico-acf-country)[mmirus/acf-flexible-content-title

Display the content of a field in the title bar of your Advanced Custom Fields flexible content sections.

362.8k](/packages/mmirus-acf-flexible-content-title)[logoscon/acf-plus

Common utility classes for the Advanced Custom Fields (Pro) plugin on WordPress.

1023.3k](/packages/logoscon-acf-plus)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
