> ## Documentation Index
> Fetch the complete documentation index at: https://epistemicme.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Get started with Epistemic Me in minutes

## Installation

Choose your preferred SDK:

### Python SDK

```bash theme={null}
pip install epistemic-me
```

### TypeScript SDK

```bash theme={null}
npm install @epistemicme/sdk
# or
yarn add @epistemicme/sdk
```

## Authentication

### Python

```python theme={null}
import epistemic_me

epistemic_me.api_key = "your-api-key"
```

### TypeScript

```typescript theme={null}
import { EpistemicMeClient } from '@epistemicme/sdk';

const client = new EpistemicMeClient({
  baseUrl: 'http://localhost:8080',
  apiKey: 'your-api-key'
});
```

## Your First Self-Model

### Python

```python theme={null}
from epistemic_me.models import BeliefType, DialecticType

# Create a self model
self_model = epistemic_me.SelfModel.create(id="self_001")

# Create a belief
belief = epistemic_me.SelfModel.create_belief(
    id=self_model.id,
    belief_type=BeliefType.STATEMENT,
    content="Regular exercise improves mental clarity"
)

# Start a dialectic
dialectic = epistemic_me.Dialectic.create(
    self_model_id=self_model.id,
    dialectic_type=DialecticType.DEFAULT
)

# Update with a question-answer pair
dialectic.update(
    question="How often do you exercise?",
    answer="I exercise three times a week"
)
```

### TypeScript

```typescript theme={null}
import { BeliefType, DialecticType } from '@epistemicme/sdk';

async function quickstart() {
  // Create a self model
  const selfModel = await client.createSelfModel({
    userId: 'self_001'
  });

  // Create a belief
  const belief = await client.createBelief({
    userId: selfModel.id,
    content: 'Regular exercise improves mental clarity',
    beliefType: BeliefType.STATEMENT
  });

  // Start a dialectic
  const dialectic = await client.createDialectic({
    userId: selfModel.id,
    dialecticType: DialecticType.DEFAULT
  });

  // Update with a question-answer pair
  await client.updateDialectic({
    userId: selfModel.id,
    dialecticId: dialectic.id,
    answer: {
      userAnswer: 'I exercise three times a week',
      createdAtMillisUtc: BigInt(Date.now())
    }
  });
}
```

## Next Steps

* Explore [Core Concepts](/concepts/overview)
* Learn about [Belief Systems](/concepts/belief-system)
* Check out the [Python SDK Guide](/sdks/python/basic-usage) or [TypeScript SDK Guide](/sdks/typescript/basic-usage)
* Review [Best Practices](/guides/best-practices)
