Skip to content

Repository files navigation

Floor Agents

Your AI dev team. Plugs into your tools. Ships code while you sleep.

Floor Agents gives any software team an autonomous AI engineering team. Connect your GitHub, your Linear, your preferred AI models — and get a team of specialized agents that write code, review PRs, and iterate on feedback.

Linear issue (labeled "agent")
→ Backend Dev (Gemma, local) writes code
→ CTO (Claude Code Opus) reviews the PR
→ If approved → done
→ If changes requested → dev revises, CTO reviews again

How It Works

  1. Create an issue in Linear with the agent label
  2. The orchestrator picks it up and dispatches to the right agent
  3. The dev agent reads the codebase, writes code, creates a PR
  4. The CTO agent reviews the PR — approves or requests changes
  5. The issue is updated with the PR link

No proprietary UI. All work happens in your Linear and GitHub.

The Team

Each agent is a different AI model chosen for its strengths:

AgentDefault ProviderRole
Backend DevLM Studio (Gemma)Writes code, creates PRs
Frontend DevLM Studio (Gemma)Writes code, creates PRs
CTOClaude Code (Opus 4.6)Reviews PRs, approves or rejects
PMAnthropic API (Sonnet)Decomposes tasks
QAAnthropic API (Sonnet)Writes tests

Every agent is configurable — swap models, providers, or add custom agents. Use local models for free coding, cloud models for quality-critical reviews.

Quick Start

# Install
bun install
# Configure
cp .env.example .env
# Edit .env with your GitHub token, Linear key, etc.# Start LM Studio with Gemma loaded, then:
bun run src/main.ts

See Getting Started for the full setup guide.

Architecture

A monorepo with 9 packages, each with a single responsibility:

packages/
├── core/ Types, config loader, validation
├── anthropic/ Claude API adapter
├── claude-code/ Claude Code CLI adapter (native worktree execution)
├── lmstudio/ LM Studio adapter (local models)
├── openai/ OpenAI-compatible adapter (OpenAI, Ollama, etc.)
├── gemini/ Google Gemini adapter
├── github/ GitHub REST API (branches, commits, PRs)
├── task/ Task managers (Linear, Things 3, GitHub Issues)
├── context-builder/ File selection (v2 import tracing), prompt rendering, token budgets
└── orchestrator/ Pipeline, native runner, review, guardrails, cost tracking

Key Design Decisions

  • Two execution modes — API agents (LM Studio, Gemini) use tool-use calls; Claude Code agents work directly on git worktrees with full file access
  • Vendor-agnostic AI — customers choose their LLM providers per agent. Mix local and cloud models in the same team
  • Config-driven — a single YAML file defines the entire team: agents, models, guardrails, cost limits
  • Crash-recoverable — 10-step execution state machine with file-based persistence. Restart safely at any point
  • Multi-agent review loop — dev writes code, CTO reviews, dev revises (up to 3 cycles)

Configuration

Everything is in config/templates/default.yaml:

agents:
- id: backendllm:
provider: lmstudio # or: anthropic, claude-code, openai, ollamamodel: google/gemma-4-e2b # any model the provider supportscapabilities: [read_code, write_code, create_pr, write_tests]
- id: ctollm:
provider: claude-codemodel: opuscapabilities: [read_code, review_pr, approve, reject]guardrails:
maxFilesPerTask: 20blockedPaths: [".env*", "*.pem", ".github/workflows/*"]costs:
maxCostPerTask: 5.00maxCostPerDay: 50.00

See Configuration Reference for the full spec.

Supported Providers

LLM

ProviderPackageUse Case
Claude Code@floor-agents/claude-codeFull codebase access. Best for dev + reviews. Max plan.
LM Studio@floor-agents/lmstudioLocal models (Gemma, Llama, Qwen). Free.
Gemini@floor-agents/geminiGoogle Gemini 2.5 Pro/Flash.
Anthropic@floor-agents/anthropicClaude API (direct). Pay-per-token.
OpenAI@floor-agents/openaiGPT-4o, o3. Also works with Ollama, Together, Groq.

Task Managers

ProviderStatus
LinearSupported
Things 3 (macOS)Supported
GitHub IssuesSupported
JiraPlanned

Git Platforms

ProviderStatus
GitHubSupported
GitLabPlanned
BitbucketPlanned

Safety

  • Guardrails — file count/size limits, blocked paths (.env, .pem, CI configs), blocked extensions, path traversal detection
  • Cost controls — per-task and per-day spending limits. Local models report $0
  • Review loop — CTO agent reviews every PR before it's marked ready. Max 3 revision cycles, then needs-human
  • Crash recovery — execution state persisted to disk between every step. Idempotent operations (branch creation, PR creation)

Development

bun test# 116 tests across 22 files
bun run typecheck # type check all packages
bun run src/main.ts # start the orchestrator

Documentation

Stack

  • Runtime: Bun
  • Language: TypeScript (strict)
  • Structure: Monorepo with Bun workspaces
  • Config: YAML
  • State: File-based JSON (Phase 1), PostgreSQL (Phase 3)
  • Tests: bun:test

License

Proprietary. Floor IO SA.

About

Floor Agents gives any software team an autonomous AI engineering team. Connect your GitHub, your Linear, your preferred AI models — and get a team of specialized agents that write code, review PRs, and iterate on feedback.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages