# MiBuilder Core Library

This library provides client-side management of [MiBuilder][] projects and
various other utilities. These libraries are used by and follow patterns of the
[MiBuilder][] CLI.

## [ConfigFile](../src/config/config-file.js)

Represents a config file at either a local or global path. The config file
extends the [ConfigStore](../src/config/config-store.js) which provides map-like
functions to interact with config values. The following classes are config
files.

- [Config](../src/config/config.js)
- [MiBuilderProjectJson](../src/mibuilder-project.js)

## [ConfigAggregator](../src/config/config-aggregator.js)

Aggregates local, global, and environment config values using
[Config](../src/config/config.js) and environment variables.

## [AccountManager](../src/credentials/account-manager.js)

## [AppleAccountManager](../src/credentials/apple-account-manager.js)

## [deliver](../src/fastlane/deliver.js)

## [supply](../src/fastlane/supply.js)

## [ConsultantClient](../src/status/consultant.js)

Get consultant client status for a particular Servicecode.

## [AppcProject](../src/appc-project.js)

Represents a [Appcelerator Titanium Mobile][] project, defined by the file
`tiapp.xml`.

## [CommandExecutor](../src/command-executor.js)

## [git](../src/git.js)

## [Logger](../src/logger/logger.js)

All logging in `mibuilder-core` is accomplished through this logging class.
Anyone can also use the logger to log their own log lines to the `mibuilder.log`
file or to any other log file or stream by utilizing the log level flags and
`envars` set by the CLI or framework.

## [MiBuilderError](../src/mibuilder-error.js)

An error class that is always thrown from `mibuilder-core`, providing useful
formatting and contextual data.

## [MiBuilderProject](../src/mibuilder-project.js)

Represents a MiBuilder project, defined by the file `mibuilder-project.json`.

## [tiapp](../src/tiapp.js)

## [UX](../src/ux.js)

[appcelerator titanium mobile]: https://www.appcelerator.com/titanium
[mibuilder]: https://npmjs.com/package/@interaktiv/mibuilder
