<commit_before>Summary
-------

yuibuild is a community contributed build system for creating YUI3.x components.
It relies on https://github.com/mosen/buildy to do the heavy lifting, but defines
its own file format for specifying how a component should be built.

*Documentation under construction*

Directory structure
-------------------

The directory structure is the same as YUI Builder (https://github.com/yui/builder) with the exception of the
build.xml and build.properties files. yuibuild uses a *build.json* file instead.

build.json format
-----------------

The build.json file format describes a YUI3.x component in JSON format.

_Example_

The following is an example from a gallery module i wrote.
Note that not all properties are required, notably you can omit skip, tools and details.
(Though you will probably want to keep the requires and skinnable properties around)

```javascript<commit_msg>Update directory structure reference in README<commit_after>Summary
-------

yuibuild is a community contributed build system for creating YUI3.x components.
It relies on https://github.com/mosen/buildy to do the heavy lifting, but defines
its own file format for specifying how a component should be built.

*Documentation under construction*

directory structure
-------------------

The directory structure is the same as YUI Builder (https://github.com/yui/builder) with the exception of the
build.xml and build.properties files. yuibuild uses a *build.json* file instead.

```
/moduleroot
    /src
        /yui-module-name
            build.json
            /js
                module.js
            /assets
                yui-module-name-core.css
                /skins
                    /sam
                        yui-module-name-skin.css
    /build
```

* The sam skin is the only valid skin at the moment.
* You may choose to omit the skin.css file.

build.json format
-----------------

The build.json file format describes a YUI3.x component in JSON format.

_Example_

The following is an example from a gallery module i wrote.
Note that not all properties are required, notably you can omit skip, tools and details.
(Though you will probably want to keep the requires and skinnable properties around)

```javascript
{'fraction_non_alphanumeric': 0.09038290293855744, 'fraction_numerical': 0.0017809439002671415, 'mean_word_length': 2.7201986754966887, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3413236', 'n_tokens_mistral': 579, 'n_tokens_neox': 557, 'n_words': 273}