A local-first developer assistant CLI built in Go, integrating multi-provider LLMs (OpenAI + Ollama), embeddings, and vector-based memory to make AI truly useful in everyday development workflows.
| Area | Details |
|---|---|
| Language | Go 1.23+ |
| CLI Framework | Cobra + Viper |
| AI Integration | Dual-provider: OpenAI API and Ollama (local LLMs like llama3) |
| Vector Store | SQLite (using modernc.org/sqlite, later extended with pgvector or chroma) |
| Embeddings | OpenAI text-embedding-3-small or Ollama nomic-embed-text |
| Architecture | Provider-agnostic interface (LLMClient), modular design (internal/llm, internal/cli, internal/embed, internal/store) |
| AI Patterns | Retrieval-Augmented Generation (RAG), structured prompts, tool/agent pattern |
| Distribution | Single static binary built with go build -o ai . |
# ๐ฆ Install globally (recommended)
go install github.com/btoone/ai-dev-assistant@latest
# Or build locally
git clone https://github.com/btoone/ai-dev-assistant.git
cd ai-dev-assistant
go mod tidy
go build -o ai .
# ๐ง Use Ollama (local, no API key)
ollama serve
ollama pull llama3
# Ask a question
AI_DEV_PROVIDER=ollama AI_DEV_MODEL=llama3 bin/ai ask "Explain Go interfaces"
# โ๏ธ Use OpenAI (cloud)
AI_DEV_PROVIDER=openai \
AI_DEV_OPENAI_API_KEY=sk-your-key \
AI_DEV_MODEL=gpt-4o-mini \
bin/ai ask "Give me a haiku about concurrency in Go"
# ๐ Switch models inline
AI_DEV_PROVIDER=ollama AI_DEV_MODEL=mistral bin/ai ask "Summarize the Go type system"
# ๐ฉบ Diagnostics
bin/ai info