# Core SDK

## Installation

```bash
# If you use npm:
npm install @context-analytics/core

# Or if you use Yarn:
yarn add @context-analytics/core
```

If you're working with a React code base We recommend combining this module with
[@context-analytics/react](https://www.npmjs.com/package/@context-analytics/react).
We'll be adding support for other languages and frameworks in the future. Please
let us know if there's a particular combination you'd like to see.

We assume that you're using a module bundler (Browserify, Parcel, Webpack, etc.).
If you don't yet use npm/yarn or a modern module bundler, we don't support single
-file UMD builds yet. We'll add support sometime in the future. Please let us know
if that's also something you'd like to see.

## Design

The Core SDK is home to the "brains" of the Context JavaScript SDK, the Decision
Engine. The most visible pieces of the Engine are the `create` and `getFeature` methods.

### Create

The minimum amount of information required to create a Decision Engine is an `apiKey`,
and either an `environmentId` or a `dataFile`. Several other accepted parameters
let you customize the Engine to your needs, see the complete documentation [here](https://docs.context.dev).

### GetFeature

By contextualizing interactions as "Is this Feature enabled?" we minimize code
changes, decouple features from one another, and increase velocity.  Typically
this function would be called by the React SDK. But it can be called directly too.

## Full Documentation

The docs are published at [https://docs.context.dev](https://docs.context.dev).
We're expanding docs - check back soon for more updates!
