# Quickstart

### 1. Configure your project

Set up a new project and install the required dependencies:

```bash
mkdir axar-demo
cd axar-demo
npm init -y
npm i @axarai/axar ts-node typescript
npx tsc --init
```

{% hint style="warning" %}
You need to configure your `tsconfig.json` file as follows for better compatibility:

```json
{
  "compilerOptions": {
    "strict": true,
    "module": "CommonJS",
    "target": "es2020",
    "esModuleInterop": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
  }
}
```

{% endhint %}

### 2. Write your first agent

Create a new file `text-agent.ts` and add the following code:

```ts
import { model, systemPrompt, Agent } from "@axarai/axar";

@model("openai:gpt-4o-mini")
@systemPrompt("Be concise, reply with one sentence")
class TextAgent extends Agent<string, string> {}

(async () => {
  const response = await new TextAgent().run("Who invented the internet?");
  console.log(response);
})();
```

### 3. Run the agent

Add your OpenAI API key and run your code.

```bash
export OPENAI_API_KEY="sk-proj-YOUR-API-KEY"
npx ts-node text-agent.ts
```

{% hint style="danger" %}
It's required to use `ts-node` with AXAR at this time. `tsx` does not support experimental decorator features fully as of yet.&#x20;
{% endhint %}

It should print something like this:

```
The internet was developed through the collaborative efforts of many individuals, but key figures include Vint Cerf and Bob Kahn, who created the TCP/IP protocols
```
