Metadata-Version: 2.4
Name: cocapn-hermitcrab
Version: 0.1.0
Summary: Hermit Crab agent — repo-native autonomous agent, git history is memory
Author-email: Super Z <superz@flux.fleet>
License: MIT
Keywords: agent,autonomous,git,github,fleet,llm,ai
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Version Control :: Git
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyyaml>=6.0
Requires-Dist: requests>=2.28
Provides-Extra: all
Requires-Dist: git-agent[anthropic,dev,ollama,openai]; extra == "all"
Provides-Extra: openai
Requires-Dist: openai>=1.0; extra == "openai"
Provides-Extra: anthropic
Requires-Dist: anthropic>=0.18; extra == "anthropic"
Provides-Extra: ollama
Requires-Dist: httpx>=0.25; extra == "ollama"
Provides-Extra: dev
Requires-Dist: pytest>=7.4; extra == "dev"
Requires-Dist: pytest-cov>=4.1; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
Requires-Dist: ruff>=0.1; extra == "dev"
Requires-Dist: mypy>=1.5; extra == "dev"
Requires-Dist: types-pyyaml>=6.0; extra == "dev"
Requires-Dist: types-requests>=2.28; extra == "dev"
Provides-Extra: docker
Requires-Dist: docker>=6.0; extra == "docker"
Dynamic: license-file

# 🐙 Git Agent

> Repo-native agent — the shell IS the agent, git history IS the memory

The Hermit Crab Pattern: the agent IS the crab, the repo IS the shell. Change the repo URL and agent name → get a different specialist. Parameterized embodiment proven with 4 shells (Oracle1, Forgemaster, JC1, CCC).

## Install

```bash
pip install git-agent
```

## Quick Start

```python
from git_agent import GitAgent

agent = GitAgent(name="my-agent", repo_url="https://github.com/user/my-agent-vessel")
agent.init()

# Agent works through commits
agent.act("analyze codebase and submit tiles")
agent.act("write README for new module")

# History IS memory
log = agent.log(limit=10)
for entry in log:
    print(f"{entry.message}")
```

## The Hermit Crab Pattern

```
Agent = Crab (behavior, personality)
Repo = Shell (memory, context, work output)
Change shell → different specialist
Same crab → same core capabilities
```

## Part of [Cocapn](https://github.com/cocapn) · Agent Infrastructure
