Skip to content

Latest commit

 

History

History
86 lines (73 loc) · 3.36 KB

File metadata and controls

86 lines (73 loc) · 3.36 KB

OpenCode → Orbit Module Mapping

Complete TypeScript to Rust Mapping

TypeScript Module Rust Crate Notes
util/ orbit-core Core utilities
id/ orbit-core ID generation
global/ orbit-core XDG paths
bus/ orbit-bus Event bus
storage/ orbit-storage File-based storage
file/ orbit-storage File operations
project/ orbit-project Project detection
worktree/ orbit-project Git worktrees
config/ orbit-config Configuration
env/ orbit-config Environment variables
flag/ orbit-config Feature flags
permission/ orbit-permission Permission system
question/ orbit-permission User prompts
provider/ orbit-provider AI providers
lsp/ orbit-lsp Language Server Protocol
mcp/ orbit-mcp Model Context Protocol
session/ orbit-session Session management
agent/ orbit-session Agent loop
snapshot/ orbit-session Context snapshots
tool/ orbit-tools Tool implementations
shell/ orbit-tools Shell execution
pty/ orbit-tools PTY handling
patch/ orbit-tools File patching
format/ orbit-tools Output formatting
server/ orbit-server HTTP server
share/ orbit-server Session sharing
scheduler/ orbit-server Task scheduling
plugin/ orbit-server Plugin system
skill/ orbit-server Skill/command system

Excluded Modules (Not Needed in Rust)

TypeScript Module Reason
bun/ Bun runtime specific - Rust has its own runtime
cli/ Will be a separate binary crate, not library
command/ CLI commands - separate binary
ide/ IDE integrations - separate concern
installation/ Bun installation - not applicable
auth/ OAuth flows - may add later if needed
acp/ Anthropic-specific - evaluate later

Summary

Required Crates: 12 (current)

# Crate TypeScript Modules Covered
1 orbit-core util, id, global
2 orbit-bus bus
3 orbit-storage storage, file
4 orbit-project project, worktree
5 orbit-config config, env, flag
6 orbit-permission permission, question
7 orbit-provider provider
8 orbit-lsp lsp
9 orbit-mcp mcp
10 orbit-session session, agent, snapshot
11 orbit-tools tool, shell, pty, patch, format
12 orbit-server server, share, scheduler, plugin, skill

Optional Future Crates

Crate Purpose When Needed
orbit-cli CLI binary When building CLI app
orbit-auth OAuth/Auth When adding auth flows
orbit-ide IDE integrations When building IDE plugins
orbit-acp Anthropic API specific If needed for specific features

Conclusion

YES - 12 crates cover the full OpenCode functionality.

The excluded modules (bun, cli, command, ide, installation) are either:

  • Runtime-specific (Bun → Rust handles this natively)
  • Binary concerns (CLI will be built on top of these libraries)
  • Not core SDK functionality

The 12 crates provide the complete library/SDK layer. A CLI or application would be built on top of these.