← all repositories
manparvesh/yoda

Your terminal's new apprentice

A pluggable Python CLI that lets local LLMs write their own extensions.

751 stars Python Chat AssistantsAgents
yoda
Velocity · 7d
+0.2
★ / day
Trend
steady
star history

What it does

Yoda is a command-line personal assistant built on Typer. It ships with a handful of dev utilities—password generation, speed tests, whois lookups—and an ai command that talks to local LLMs via Ollama. The hook is its plugin system: you write Python classes with a decorator, or you ask the AI to generate the whole plugin for you.

The interesting bit

The generate-command subcommand is the clever part. You describe what you want in plain English, and the LLM spits out a complete Typer plugin with imports, argument parsing, and even a docstring. It’s scaffolding-by-prompt, which saves the boilerplate but leaves you to fill in the actual API keys and logic.

Key highlights

  • Plugin architecture via @yoda_plugin decorator; non-private methods become CLI subcommands automatically
  • Built-in dev utilities: site checker, coin flip, password generator, speed test, whois
  • yoda ai chat for conversational queries against local models
  • yoda ai generate-command creates plugin boilerplate from natural language descriptions
  • Distributed as yodapa on PyPI; uses Poetry for development

Caveats

  • The README shows generated code with hardcoded YOUR_API_KEY placeholders and no error handling beyond status-code checks—production polish is on you
  • Only ~750 stars; plugin ecosystem appears small, with just dev, ai, config, url, and plugin commands visible
  • No explicit mention of which Ollama models are supported or how configuration works beyond yoda configure

Verdict

Worth a look if you live in the terminal and want a quick way to prototype CLI tools without wrestling with Click/Typer setup. Skip it if you need a mature assistant with batteries included; this is more framework than finished product.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.