

# Install the SDK [#install-the-sdk]

Install the TypeScript SDK when your application can run TaxKit in-process.
Use the HTTP API instead when the caller cannot import TypeScript packages.

## Current package status [#current-package-status]

The SDK is still private until release approval. These commands document the
target public install shape and match the current workspace package names.

## Install packages [#install-packages]

```sh
bun add @taxkit/sdk @taxkit/core
```

Use `@taxkit/core` for canonical branded values such as `aud`. Use
`@taxkit/sdk` for calculation descriptors, the plain facade, safe facade,
Effect facade and schema re-exports.

## Choose an entrypoint [#choose-an-entrypoint]

| Entrypoint            | Use when                                                               |
| --------------------- | ---------------------------------------------------------------------- |
| `@taxkit/sdk`         | You want `TaxKit.calculate` or `TaxKit.safe.calculate`.                |
| `@taxkit/sdk/au`      | You want Australian helper methods such as `au.incomeTax.annual`.      |
| `@taxkit/sdk/effect`  | You want Effect programs, service requirements and full run responses. |
| `@taxkit/sdk/schemas` | You want canonical calculator run schemas and SDK error schemas.       |

## Verify an import [#verify-an-import]

```ts
import { Cents, aud } from "@taxkit/core/primitives";
import { TaxKit } from "@taxkit/sdk";
import { au } from "@taxkit/sdk/au";

const report = await TaxKit.calculate(au.calculations.annualIncomeTax, {
  taxableIncome: aud(Cents.make(9_000_000)),
});

console.log(report.liability.cents);
```

## Next steps [#next-steps]

* Run the [quickstart](/start/quickstart).
* Read [Plain SDK](/sdk/plain-sdk) for server-side TypeScript use.
* Read [Effect SDK](/sdk/effect-sdk) for advanced in-process transport.
