https://github.com/raiderrobert/tina
AI agent toolkit
https://github.com/raiderrobert/tina
Last synced: 26 days ago
JSON representation
AI agent toolkit
- Host: GitHub
- URL: https://github.com/raiderrobert/tina
- Owner: raiderrobert
- License: mit
- Created: 2026-05-14T19:10:14.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-14T21:20:54.000Z (2 months ago)
- Last Synced: 2026-05-14T23:26:03.219Z (2 months ago)
- Homepage:
- Size: 36.1 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Tina
> *"Tina, eat. Food. Eat the FOOD!"*
---
# Tina Agent Toolkit Mono Repo
This is the home of the Tina agent toolkit — a Python AI agent harness with batteries included and swappable components.
* **[tina](packages/tina)**: CLI, coding tools, and autonomous loop
* **[tina-agent](packages/tina-agent)**: Agent runtime with tool calling, events, sessions, and skills
* **[tina-ai](packages/tina-ai)**: Typed multi-provider LLM API (Anthropic, OpenAI, Google, …)
## All Packages
| Package | Description |
|---------|-------------|
| **[tina-ai](packages/tina-ai)** | LLM abstraction — models, streaming, provider protocol. Default wraps Pydantic AI. |
| **[tina-agent](packages/tina-agent)** | Agent runtime — loop, tool protocol, ExecutionEnv, event bus, sessions, skills |
| **[tina](packages/tina)** | Product — CLI, coding tools, autonomous task loop |
Dependencies flow strictly downward. `tina-ai` has no dependency on `tina-agent`. `tina-agent` has no dependency on `tina`. Each layer is independently useful.
## Key Ideas
- **Typed everything.** Pydantic models for data, Python Protocols for interfaces. Every boundary validates.
- **Swappable.** Model provider, execution environment, tool set, task source — change any piece without touching the rest.
- **Sandboxed.** `ExecutionEnv` protocol abstracts file ops and shell. Local for dev, Docker for autonomous. Tools never call `subprocess` directly.
- **Two-tier events.** Listeners observe (logging, metrics, UI). Hooks intercept (permission gates, context injection, tool overrides).
- **Autonomous loop.** Implement the `TaskSource` protocol for your work system. Agent processes tasks headlessly. Human reviews at the end.
- **Skills.** Load domain knowledge from `.md` files.
## Documentation
| Document | Description |
|----------|-------------|
| [docs/architecture.md](docs/architecture.md) | System design — layers, agent loop, ExecutionEnv, events, file structure |
| [docs/types.md](docs/types.md) | Complete type reference across all three packages |
| [docs/autonomous-loop.md](docs/autonomous-loop.md) | Autonomous loop — task sources, runner, isolation, cost control |
| [docs/adr/](docs/adr/) | Architecture Decision Records — the why behind each design decision |
## Development
```bash
uv sync # Install all dependencies
uv run pytest # Run tests
uv run ruff check # Lint
uv run mypy # Type check
```
## License
[MIT](LICENSE)