<commit_before>
[[_buildtools_lazybones]]
= Lazybones

{link_lazybones} allows you to create a new project structure for any framework or
library for which the tool has a template.

== Configuration

All standard Griffon templates are published to https://bintray.com/griffon/griffon-lazybones-templates
You must configure this repository with Lazybones settings file. Edit `$USER_HOME/.lazybones/config.groovy`
and paste the following content

.$USER_HOME/.lazybones/config.groovy
[source,groovy,linenums,options="nowrap"]
----
bintrayRepositories = [
    "griffon/griffon-lazybones-templates",
    "pledbrook/lazybones-templates"
]
----

Invoking the `lazybones list` command should result in all currently available Griffon project
templates to be displayed in the output.

== Templates

The following templates are available at the standard template repository

[horizontal]
griffon-swing-java:: A template that initializes an application with Swing and Java.
griffon-swing-groovy:: A template that initializes an application with Swing and Groovy.
griffon-javafx-java:: A template that initializes an application with JavaFX and Java.
griffon-javafx-groovy:: A template that initializes an application with JavaFX and Groovy.
griffon-pivot-java:: A template that initializes an application with Pivot and Java.
griffon-pivot-groovy:: A template that initializes an application with Pivot and Groovy.
griffon-lanterna-java:: A template that initializes an application with Lanterna and Java.
griffon-lanterna-groovy:: A template that initializes tan application with Lanterna and Groovy.
griffon-plugin:: A template that initializes a Griffon plugin project.

All application project templates include a subtemplate named *artifact* that provides the
following artifact templates

[horizontal]
model:: A standard Model artifact.
view:: A toolkit specific View artifact.
controller:: A standard Controller artifact.
service:: A standard Service artifact.
test:: A standard unit Test artifact.
mvcgroup:: Initializes Model, View, Controller, Test and IntegrationTest artifacts for a single MVC group.

The `swing`, `javafx` and `pivot` *artifact* templates provided additional artifact templates

[horizontal]
integrationTest:: A standard integration Test artifact.
finctionalTest:: A standard functional Test artifact.

You can invoke any of these templates in the following ways

[source]
----
$ lazybones generate artifact::controller
----

This command creates a new _Controller_ artifact. You'll be asked for a package and
a class name.

[source]
----
$ lazybones generate artifact::mvcgroup::com.acme::group
----

This command creates an _MVC Group_ whose package is _com.acme_ and class name is
_group_. There will be 5 new artifacts in total.
<commit_msg>Fix typo in guide. Fixes #119<commit_after>
[[_buildtools_lazybones]]
= Lazybones

{link_lazybones} allows you to create a new project structure for any framework or
library for which the tool has a template.

== Configuration

All standard Griffon templates are published to https://bintray.com/griffon/griffon-lazybones-templates
You must configure this repository with Lazybones settings file. Edit `$USER_HOME/.lazybones/config.groovy`
and paste the following content

.$USER_HOME/.lazybones/config.groovy
[source,groovy,linenums,options="nowrap"]
----
bintrayRepositories = [
    "griffon/griffon-lazybones-templates",
    "pledbrook/lazybones-templates"
]
----

Invoking the `lazybones list` command should result in all currently available Griffon project
templates to be displayed in the output.

== Templates

The following templates are available at the standard template repository

[horizontal]
griffon-swing-java:: A template that initializes an application with Swing and Java.
griffon-swing-groovy:: A template that initializes an application with Swing and Groovy.
griffon-javafx-java:: A template that initializes an application with JavaFX and Java.
griffon-javafx-groovy:: A template that initializes an application with JavaFX and Groovy.
griffon-pivot-java:: A template that initializes an application with Pivot and Java.
griffon-pivot-groovy:: A template that initializes an application with Pivot and Groovy.
griffon-lanterna-java:: A template that initializes an application with Lanterna and Java.
griffon-lanterna-groovy:: A template that initializes tan application with Lanterna and Groovy.
griffon-plugin:: A template that initializes a Griffon plugin project.

All application project templates include a subtemplate named *artifact* that provides the
following artifact templates

[horizontal]
model:: A standard Model artifact.
view:: A toolkit specific View artifact.
controller:: A standard Controller artifact.
service:: A standard Service artifact.
test:: A standard unit Test artifact.
mvcgroup:: Initializes Model, View, Controller, Test and IntegrationTest artifacts for a single MVC group.

The `swing`, `javafx` and `pivot` *artifact* templates provided additional artifact templates

[horizontal]
integrationTest:: A standard integration Test artifact.
functionalTest:: A standard functional Test artifact.

You can invoke any of these templates in the following ways

[source]
----
$ lazybones generate artifact::controller
----

This command creates a new _Controller_ artifact. You'll be asked for a package and
a class name.

[source]
----
$ lazybones generate artifact::mvcgroup::com.acme::group
----

This command creates an _MVC Group_ whose package is _com.acme_ and class name is
_group_. There will be 5 new artifacts in total.

{'fraction_non_alphanumeric': 0.0703209520375045, 'fraction_numerical': 0.0009015506671474937, 'mean_word_length': 5.115766262403528, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, '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': '4554159', 'n_tokens_mistral': 1553, 'n_tokens_neox': 1457, 'n_words': 651}