Agents that work with you, not for you.
Shire gives you a team of AI agents you actually work alongside β they persist, communicate, and pick up where they left off. Agents are stored in the database and configured through the dashboard. Open source.
shire-demo.mp4
Most AI agent tools follow the same pattern β you give an instruction, an agent executes it, you get the output. The agent disappears. Next time, you start from scratch. Shire is different. Your agents persist between sessions. They communicate with each other autonomously. They build on yesterday's work. You give feedback, iterate, adjust direction β like working with a real team.
- Works with any model β Not locked to one AI provider. Supports Claude Code, OpenCode, and Pi Agent. Shire is the infrastructure layer β bring whatever model fits your workflow.
- Autonomous agent communication β Agents discover peers and collaborate on their own β no orchestrator required. Direct messaging, shared context, real teamwork between agents.
- Community catalog β Browse and deploy from a community-maintained library of pre-built agent templates. Powered by agency-agents. Get a capable team running in seconds.
- Shared drive β A communal filesystem across all agents for collaborative work on shared artifacts.
- Scheduled tasks β Automate agent work with one-time or recurring scheduled messages. Set custom intervals and let agents run on autopilot.
- Alert channels β Get notified when agents need attention. Send alerts to Discord, Slack, or Telegram β configured per project.
- Agent skills β Upload custom tools and instructions that extend what your agents can do. Skills persist per-agent across sessions.
- Multi-project architecture β Organize agents into projects, each with its own shared drive, settings, and environment.
- Real-time dashboard β Monitor, chat with, and manage agents from a live web UI with streaming updates.
| Layer | Technology |
|---|---|
| Runtime | Bun |
| Backend | Hono, Drizzle ORM, SQLite |
| Frontend | React 19, React Router 7, shadcn/ui (Radix), Tailwind CSS 4, TanStack Query |
| Bundler | Bun (fullstack dev server + production builds) |
| Agent Harnesses | Claude Code SDK, OpenCode SDK, Pi Agent SDK |
| Scheduling | node-schedule (cron-based) |
| Testing | Bun test + Testing Library + happy-dom + MSW |
| Validation | Zod, TypeScript strict mode |
Install Shire globally via npm β no other dependencies required:
npm install -g agents-shire
shireVisit localhost:8080 to open the dashboard.
This installs a standalone binary for your platform (macOS, Linux, or Windows). All data is stored at ~/.shire/.
Shire supports multiple agent harnesses. Each agent is configured with a harness type in the dashboard.
Install Claude Code and authenticate via one of:
# Interactive login (opens browser)
claude login
# Or set an environment variable
export ANTHROPIC_API_KEY=sk-ant-...
# or
export CLAUDE_CODE_OAUTH_KEY=...Install OpenCode and set the API key for the provider you want to use:
# Install OpenCode
npm install -g opencode
# Set an API key (same environment variables as Pi Agent)
export ANTHROPIC_API_KEY=sk-ant-...
# or
export OPENAI_API_KEY=sk-...OpenCode auto-detects API keys from environment variables and .env files. Shire automatically manages the OpenCode server process β no manual opencode serve setup required.
Model format: OpenCode requires the provider/model format (e.g. anthropic/claude-sonnet-4-6, openrouter/google/gemini-2.5-pro). This differs from the other harnesses which accept just the model name.
See the OpenCode provider docs for the full list of supported providers and models.
The Pi Agent harness uses the @mariozechner/pi-coding-agent SDK, which supports a wide range of AI providers. Set the API key for the provider you want to use as an environment variable:
| Provider | Environment Variable |
|---|---|
| Anthropic | ANTHROPIC_API_KEY |
| OpenAI | OPENAI_API_KEY |
GOOGLE_API_KEY |
|
| Groq | GROQ_API_KEY |
| xAI | XAI_API_KEY |
| Mistral | MISTRAL_API_KEY |
| OpenRouter | OPENROUTER_API_KEY |
You can also store keys in ~/.pi/agent/auth.json (takes precedence over env vars):
{
"anthropic": { "type": "api_key", "key": "sk-ant-..." },
"openai": { "type": "api_key", "key": "sk-..." }
}See the Pi Agent docs for the full list of supported providers and subscription services.
- Bun (v1.3.11+)
- Claude Code (only if using the
claude_codeharness) - OpenCode (only if using the
opencodeharness)
git clone https://github.com/victor36max/shire.git && cd shire
bun install
bun run devVisit localhost:8080 to open the dashboard.
By default, Shire uses SQLite for storage. Agents run as local processes on your machine β no external services required. All data is stored at ~/.shire/.
Environment Variables
| Variable | Default | Description |
|---|---|---|
PORT |
8080 |
HTTP server port |
NODE_ENV |
β | Set to production for production mode |
SHIRE_DATA_DIR |
~/.shire |
Database and data storage root |
SHIRE_PROJECTS_DIR |
~/.shire/projects |
Project workspace root |
ALLOWED_ORIGINS |
β | Comma-separated CORS origins (production) |
# Run dev server (backend + frontend with HMR)
bun run dev
# Run with custom port
bun run dev -- --port 3000
# Testing
bun test # All tests (backend + frontend)
# Quality
bun run lint # ESLint
bun run lint:fix # ESLint autofix
bun run format # Prettier write
bun run format:check # Prettier check
bun run typecheck # TypeScript check
# Database
bun run db:generate # Generate Drizzle migrations from schema
bun run db:migrate # Apply migrations
bun run db:studio # Open Drizzle Studio
# Catalog
bun run catalog:sync # Sync agent catalog from community repoShire is distributed as standalone binaries via npm β no runtime dependencies needed.
# Build binary for your current platform
bun run build:local
# Build binaries for all platforms
bun run build:allThis compiles the backend into a standalone binary and pre-builds the frontend assets alongside it.
shire # Start server on port 8080
shire start --port 3000 # Start on custom port
shire start --daemon # Run in background
shire stop # Stop background server
shire status # Check if server is running
shire --help # Show helpPublishing is automated via GitHub Actions. Tag a release to trigger the workflow:
git tag v0.2.0
git push origin v0.2.0This builds platform-specific binaries and publishes:
@agents-shire/cli-darwin-arm64(macOS Apple Silicon)@agents-shire/cli-darwin-x64(macOS Intel)@agents-shire/cli-linux-x64(Linux x64)@agents-shire/cli-linux-arm64(Linux ARM)@agents-shire/cli-win32-x64(Windows x64)agents-shire(meta-package that installs the right binary)
