Skip to content

mateussiqueira/canopy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14,329 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Canopy logo

Canopy — AI coding agent built for stability, memory efficiency, and developer experience.

GitHub License


An AI coding agent focused on:

  • Overflow recovery — Long sessions don't kill context
  • Memory — Lower RSS in sessions with many tool calls
  • Security — Protection against accidental file deletion
  • Extended thinking — Bedrock Converse support
  • Multi-project — Work on multiple projects simultaneously
  • Global context — Persist context on external SSD

Installation

# Via script
curl -fsSL https://canopy.dev/install | bash

# From source
git clone https://github.com/mateussiqueira/canopy.git
cd canopy
bun install
bun run build

Usage

canopy                    # starts in current directory
canopy /path/to/project   # opens specific project

Multi-Project Support

Canopy supports working on multiple projects simultaneously with isolated contexts.

Project Commands

# List all projects
canopy projects list

# Create a new project
canopy projects create "my-app" /path/to/project

# Switch to a project
canopy projects switch <project-id>

# Show current project
canopy projects current

# Delete a project
canopy projects delete <project-id>

# Manage project context
canopy projects context get [project-id]
canopy projects context set <key> <value> [project-id]

Global Context on External SSD

Canopy can store all context on an external SSD for persistence across sessions:

# Set global data directory
export CANOPY_GLOBAL_DATA=/Volumes/BACKUP/canopy

# Or use the launcher script
/Volumes/BACKUP/canopy/canopy-global.sh

Features

Performance

  • Ultra-fast project switching: 0.12ms average (8,333 switches/second)
  • Context reads: 0.02ms average (50,000 reads/second)
  • Memory efficient: ~85MB RSS, zero memory leak

Multi-Project Isolation

Each project has its own isolated context:

  • Database connections
  • Redis instances
  • Environment variables
  • Custom configuration

Global Context

All project data persists on your external SSD:

  • Session history
  • Project configurations
  • Context variables
  • Metrics and logs

Development

bun install
bun run dev

Testing

bun run test              # unit tests
bun run test:e2e          # e2e with Playwright

Benchmark

Run the performance benchmark:

cd packages/core
CANOPY_GLOBAL_DATA=/Volumes/BACKUP/canopy bun run benchmark.ts

Structure

packages/
├── core/         # Main logic (agent, session, tools, multi-project)
├── llm/          # LLM client (providers, streaming)
├── opencode/     # CLI/TUI
├── app/          # Web UI
├── ui/           # Components
└── sdk/          # SDK for integrations

License

MIT

About

The open source coding agent.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • TypeScript 69.3%
  • MDX 27.1%
  • CSS 3.1%
  • HTML 0.2%
  • JavaScript 0.1%
  • Shell 0.1%
  • Other 0.1%