Skip to content

agent-team-foundation/first-tree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,162 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

First Tree

Open App · Get Started · How It Works · Quickstart · Discussions

npm version CI License: Apache 2.0 GitHub stars

English | 中文

Try first-tree 🌳 free — the fastest way to give every agent your team's shared context.

First-Tree

Context-grounded agentic work for teams.

First Tree is an open-source workspace where AI agents work from your team's shared context, not isolated prompts.

At the center is Context Tree: a team-maintained memory of decisions, ownership, repos, responsibilities, constraints, and prior work. Agents read it before they work; useful outcomes can flow back into it after the work is done.

The result is a human-agent work loop where every task can start with more team context, and every useful outcome can make the next task smarter.

Works
with
Claude Code
Claude Code
Codex
Codex
GitHub
GitHub
MCP
MCP

Why First Tree

There are many AI agent workspaces. First Tree's core difference is the context loop:

user intent -> read team context -> context-aware agent work
-> human review/control -> durable outcome -> updated team context

This loop solves the part that usually breaks when teams start using agents:

  • context stays private in one person's terminal, prompt, or notes
  • agents repeat old decisions because they cannot see team memory
  • work finishes in a chat, PR, or document but never updates the shared context
  • humans get pulled in without enough background to make a good decision
  • each new agent task starts cold, even when the team already learned something

First Tree is built around a different assumption:

Agent work should be grounded in team context, visible while it runs, guided by humans at the right moments, and turned into durable outcomes that can update team memory.

That makes First Tree useful in two modes:

  • Focused copilot work - collaborate deeply with an agent in a persistent work stream for design, coding, writing, research, or problem solving.
  • Parallel review work - let agents move multiple tasks forward and involve you only when a decision, blocker, approval, or review is needed.

In both modes, First Tree gives teams one place to:

  • give agents the same Context Tree your team uses
  • start and continue agent work in persistent chats
  • see active work, blocked states, and human review points
  • inspect the process, artifacts, and rationale behind a request
  • turn useful outcomes back into updated team context

It is not another agent, and not just another workspace. It is a context loop for human-agent teams.

How It Works

First Tree connects five pieces around Context Tree:

  1. Context Tree — a Git-native team memory layer for decisions, ownership, responsibilities, constraints, and shared context.
  2. Web workspace — the daily surface for chats, agents, team members, computers, GitHub, and context-backed work.
  3. CLI + daemon — signs a computer in and keeps local agents connected.
  4. Agent runtime — runs agents on your machine and routes messages through First Tree.
  5. GitHub integration — connects code work, pull requests, and review back to the workspace.

Together, these pieces keep agent work connected to team context before, during, and after execution.

Get Started

Open the app at first-tree.ai (or your own deployment) and sign in. The guided setup walks you through the first run: name your team, connect a computer, create your first agent, and start work.

See the Quickstart for the full walkthrough.

At the "connect a computer" step, setup gives you the channel-aware commands to install the CLI and link the machine. Hosted production uses:

curl -fsSL https://download.first-tree.ai/releases/prod/install.sh | sh
~/.local/bin/first-tree login <connect-code>

Use the exact commands shown in the web console, especially for staging or a self-hosted deployment. The macOS/Linux installer bundles Node.js, so new users do not need to install Node separately. The two lines are intentionally independent and do not provide shell-level transaction protection: when pasted together, an install-line failure does not automatically prevent the login line from running, and POSIX sh does not guarantee that curl | sh preserves a curl failure status. The explicit ~/.local/bin path works immediately, even before the shell reloads its PATH.

CLI

first-tree
├── login <code>            Sign this computer in
├── logout                  Stop the daemon and clear credentials
├── status                  CLI / daemon / server / auth overview
├── doctor                  Cross-subsystem readiness check
├── upgrade                 Upgrade to the latest published version
├── agent ...               Agent management
├── chat ...                Chats and messaging
├── org ...                 Organization-level operations
├── daemon ...              Background daemon lifecycle
├── config ...              View / modify this machine's client.yaml
└── tree ...                Context Tree onboarding, validation, automation

Run first-tree <namespace> --help for the full list under any namespace.

Repo Layout

  • apps/cli/ — published CLI (first-tree / ft)
  • packages/shared/ — Zod schemas, types, config system (@first-tree/shared)
  • packages/server/ — Fastify API server (@first-tree/server)
  • packages/client/ — Agent SDK + Runtime (@first-tree/client)
  • packages/web/ — React web workspace (@first-tree/web)
  • packages/qa/ — internal QA workflow assets for agent-run validation (@first-tree/qa)
  • skills/ — repo-local skill payloads for First Tree agents

Documentation

Development

For the full local setup, including .env, migrations, service URLs, troubleshooting, and optional GitHub App configuration, see DEVELOPMENT.md.

pnpm install                                # Install dependencies
docker compose up -d                        # Dev PostgreSQL
pnpm --filter @first-tree/server dev        # Server
pnpm --filter @first-tree/web dev           # Web workspace
pnpm check && pnpm typecheck                # Lint + type check
pnpm test                                   # Tests
pnpm coverage                               # Local unit coverage
pnpm coverage:summary                       # Summarize generated coverage

See AGENTS.md for architecture, conventions, and the per-package development workflow. See CONTRIBUTING.md for the PR workflow.

License

Apache 2.0

About

First-tree routes work to the right agent, gives it the same context your team has, and loops humans in only when the rules say so. Lives in your GitHub. Open source.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

59 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors