Metadata-Version: 2.4
Name: SourceIndex
Version: 0.1.2
Summary: Codebase index for agentic coding
Requires-Python: >=3.10
Requires-Dist: cryptography>=42
Requires-Dist: keyring>=24
Requires-Dist: litellm>=1.50
Requires-Dist: tree-sitter-c>=0.23
Requires-Dist: tree-sitter-cpp>=0.23
Requires-Dist: tree-sitter-go>=0.23
Requires-Dist: tree-sitter-java>=0.23
Requires-Dist: tree-sitter-javascript>=0.23
Requires-Dist: tree-sitter-kotlin>=1.0
Requires-Dist: tree-sitter-ruby>=0.23
Requires-Dist: tree-sitter-rust>=0.23
Requires-Dist: tree-sitter-typescript>=0.23
Requires-Dist: tree-sitter>=0.23
Description-Content-Type: text/markdown

# Getting Started with SourceIndex

Hey — and thank you! You're the very first person outside the team to try
SourceIndex, and that genuinely means a lot. I'm really glad you're giving
it a go.

Anything you notice along the way — good, bad, broken, or just "huh, that's
weird" — would be hugely helpful to hear. No feedback is too small.

## What it is

When you ask a coding agent to fix or build something, it has to find the
relevant code first. By default Claude Code and opencode do that live, in
your session. SourceIndex does it ahead of time so the agent jumps straight
to the right files.

**Best on an existing repo you didn't fully write yourself.** Not very useful
on a brand-new empty project.

## Install and set up

You'll need Python 3.10+ and a SourceIndex API key (starts with `sk-si-`).
Apply for access at https://sourceindex.dev/access.

**Easiest path:** open this file in Claude Code or opencode and tell it "set
sourceindex up in this repo." It can run the steps for you.

If you'd rather do it by hand:

```bash
pip install sourceindex
cd /path/to/your/repo
sourceindex init             # auto-detects your agent(s)
sourceindex init claude      # set up Claude Code only
sourceindex init opencode    # set up opencode only
```

It'll prompt for the key, set up some git hooks plus a subagent for the
coding agent your repo already uses (a `CLAUDE.md` or `.claude/` means
Claude Code; an `AGENTS.md` or `.opencode/` means opencode; neither means
Claude Code), and scan your repo. A few minutes, once per repo. You can
also name both at once (`sourceindex init claude opencode`), and it's safe
to re-run init later to add the other agent.
If you don't have a `CLAUDE.md` (Claude Code) or `AGENTS.md` (opencode)
yet, run `/init` in your agent first.

To replace a rotated or expired key later:

```bash
sourceindex api-key set
```

That prompts for the new key and persists it as your user-level default. New
repos and repos without a local override will use it automatically. For
automation, use
`sourceindex api-key set --from-env` with `SOURCEINDEX_API_KEY` already set,
pass `--api-key sk-si-...`, or pass the key positionally:
`sourceindex api-key set sk-si-...`.

To set a repo-local override:

```bash
sourceindex api-key set --local
```

Explicit environment variables still win, and a repo-local key overrides the
global default.

## Day-to-day

Nothing. Open the repo in Claude Code or opencode as usual — it'll use
SourceIndex on its own.

## Feedback I'd love

- Did `sourceindex init` finish cleanly?
- Does the agent feel different? Even "I can't tell" is useful.
- Anything in this doc that didn't land.

More about the project lives at https://sourceindex.dev, and you can reach
us any time at hi@sourceindex.dev.

Thanks!
