eliciteer-cli 0.1.0
Ask a Human — Create AI-powered interviews from the command line. Brief an AI, share a link, get structured answers.
Requires Python: >=3.10
Keywords: ai, cli, eliciteer, human-in-the-loop, interview, research, survey

# eliciteer — Ask a Human

Create AI-powered interviews from the command line. Brief an AI, share a link, get structured answers.

Eliciteer is an AI-powered interview platform. You brief an AI with what information you need, it generates an interview, you share a link with people, and the AI conducts the interview autonomously. This CLI lets you create interviews, check status, and retrieve results — all from the terminal.

## Install

```bash
pip install eliciteer
```

## Quick Start

```bash
# 1. Create an interview topic
eliciteer create "What features do you want in the new dashboard?"

# 2. Share the link with the person you want to interview
#    (printed by the create command)

# 3. Check results when they're done
eliciteer results <interview-id>
```

## Commands

### `eliciteer create`

Create a new interview topic from a briefing.

```bash
# Basic
eliciteer create "Gather requirements for the CRM"

# With options
eliciteer create "Gather requirements for the CRM" \
  --name "Product Team" \
  --email "product@example.com" \
  --notify \
  --webhook "https://example.com/hook"

# JSON output for piping
eliciteer create "What features do you want?" -o json
```

Options:
- `--name` — Client name
- `--email` — Client email
- `--notify` — Get notified when the interview completes
- `--webhook` — Webhook URL for completion events
- `--system-prompt` — Override the AI-generated system prompt

### `eliciteer status`

Check the status of an interview. Supports partial ID prefixes.

```bash
eliciteer status 550e8400
```

### `eliciteer results`

Get the results of a completed interview.

```bash
eliciteer results 660e8400

# Machine-readable
eliciteer results 660e8400 -o json
```

### `eliciteer health`

Check if the API is reachable.

```bash
eliciteer health
```

### `eliciteer configure`

Save default configuration.

```bash
eliciteer configure --api-key "sk-..." --base-url "https://api.eliciteer.ai"
```

## Configuration

Configuration is resolved in this order (highest priority first):

1. CLI flags (`--api-key`, `--base-url`)
2. Environment variables (`ELICITEER_API_KEY`, `ELICITEER_BASE_URL`)
3. Config file (`~/.config/eliciteer/config.json`)
4. Defaults

```bash
# Set via environment
export ELICITEER_API_KEY="sk-..."
export ELICITEER_BASE_URL="https://api.eliciteer.ai"

# Or save to config file
eliciteer configure --api-key "sk-..."
```

## Global Options

All commands support:

- `--api-key` — Bearer token for authentication
- `--base-url` — API base URL (default: `https://api.eliciteer.ai`)
- `-o` / `--output` — Output format: `text` (default) or `json`

## Use with AI Agents

The `eliciteer` CLI is designed to be used by AI agents. Use `-o json` for machine-readable output that's easy to parse:

```bash
# Agent creates an interview
RESULT=$(eliciteer create "What are the user's requirements?" -o json)
TOPIC_ID=$(echo "$RESULT" | jq -r '.topic_id')
LINK=$(echo "$RESULT" | jq -r '.link')

# Agent shares the link with the user, then polls for results
eliciteer results "$TOPIC_ID" -o json
```

## Python SDK Usage

The `EliciteerClient` can be imported and used programmatically:

```python
from eliciteer import EliciteerClient

client = EliciteerClient(base_url="https://api.eliciteer.ai")
result = client.create_topic("What features do you want?")
print(result["link"])  # Share this with the person

# Check results later
info = client.get_collected_info(result["topic_id"])
print(info["collected_info"])
```

## License

Apache 2.0