Pre-installed Tools and Runtimes
The Tembo Sandbox includes the following base dependencies and their versions:System Tools
| Tool | Version | Description |
|---|---|---|
| curl | 8.14.1 | Command-line tool for transferring data with URLs |
| lsof | 4.99.4 | Lists open files and network connections |
| strace | 6.15 | System call tracer for debugging and monitoring |
Version Control and Authentication
| Tool | Version | Description |
|---|---|---|
| git-credential-tembo | unknown | Tembo-specific Git credential helper |
Code Quality and Analysis
| Tool | Version | Description |
|---|---|---|
| ShellCheck | 0.10.0 | Static analysis tool for shell scripts |
HTTP and API Tools
| Tool | Version | Description |
|---|---|---|
| httpie | 3.2.4 | Modern, user-friendly HTTP client for API testing |
JavaScript/Node.js Ecosystem
| Tool | Version | Description |
|---|---|---|
| nodejs | 22.17.0 | JavaScript runtime built on Chrome’s V8 engine |
| bun | 1.2.18 | Fast all-in-one JavaScript runtime and toolkit |
| pnpm | 10.12.4 | Fast, disk space efficient package manager |
Python Ecosystem
| Tool | Version | Description |
|---|---|---|
| python3 | 3.12.11 | Modern Python programming language |
| pipx | 1.7.1 | Install and run Python applications in isolated environments |
Ruby Ecosystem
| Tool | Version | Description |
|---|---|---|
| ruby | 3.3.6 | Dynamic, object-oriented programming language |
| bundler-2.6.9 | 2.6.9 | Manages Ruby gem dependencies |
| ruby3.3-rubocop-1.75.2 | 1.75.2 | Ruby static code analyzer and formatter |
Elixir/Erlang Ecosystem
| Tool | Version | Description |
|---|---|---|
| erlang-28.0.1 | 28.0.1 | Concurrent, fault-tolerant programming platform |
| elixir | 1.18.4 | Dynamic, functional programming language |
| hex | 2.2.2 | Package manager for the Erlang ecosystem |
| rebar3 | 3.25.0 | Erlang build tool and package manager |
| erlfmt | 1.7.0 | Erlang code formatter |
Go Ecosystem
| Tool | Version | Description |
|---|---|---|
| go | 1.24.4 | Open source programming language from Google |
Rust Ecosystem
| Tool | Version | Description |
|---|---|---|
| rustup | 1.28.2 | Rust toolchain installer and version management tool |
Sandbox Types
Tembo supports multiple sandbox environment types to accommodate different use cases and requirements:Docker (Default)
The Docker sandbox is the default environment type, offering:- Fast startup: Containers start quickly for rapid task execution
- Wide compatibility: Works with most common development workflows
- Resource efficient: Lightweight containerization with minimal overhead
- Best for: Most general-purpose tasks, web applications, and standard development workflows
QEMU
The QEMU sandbox provides full virtual machine isolation using QEMU/KVM virtualization:- Complete isolation: Full VM-level isolation for enhanced security
- System-level access: Support for tasks requiring deeper system integration
- Custom kernels: Ability to run specialized kernel configurations
- Best for: Tasks requiring enhanced isolation, system-level operations, or specialized environments
Environment Characteristics
Isolation and Security
The Tembo Sandbox provides strong isolation and security guarantees:- Process isolation: Each task runs in its own isolated environment
- File system isolation: Changes are contained within the sandbox
- Network security: Controlled network access for security
- Resource limits: CPU and memory constraints to ensure stability
Development Workflow Integration
The sandbox environment is designed to integrate seamlessly with your development workflow:- Hook support: Execute custom commands at different stages via Tembo Hooks
- Repository access: Full access to your repository contents and history
- Build tool compatibility: Support for common build systems and package managers
- Testing frameworks: Compatible with popular testing tools and frameworks
- Nix dev shell support: Automatically detects and uses Nix flakes for reproducible development environments
Model Context Protocol (MCP) Support
Tembo supports the Model Context Protocol (MCP), allowing AI agents to access custom tools, resources, and integrations during task execution. MCP servers can be configured to provide agents with additional capabilities such as:- Custom API integrations: Connect to internal tools and services
- Database access: Query and interact with databases directly
- File system operations: Extended file manipulation capabilities
- External data sources: Access to documentation, wikis, or knowledge bases
Nix Development Shells
Tembo’s sandbox environment supports Nix flakes for reproducible development environments. To use this feature, your repository must have aflake.nix file in the root directory that defines a development shell named default for the x86_64-linux platform.
Requirements:
- Your
flake.nixmust specifydevShells.x86_64-linux.default - The development shell must target the x86_64-linux platform (Tembo’s sandbox runs on x86_64 Linux)
- The flake must be in your repository’s root directory
- Automatically detect your
flake.nixfile at the repository root - Load the default devshell for the x86_64-linux platform
- Make available all packages and environment variables defined in your Nix development shell
- Ensure reproducibility across different tasks and environments
flake.nix is detected. This means all build commands, tests, and scripts will have access to the exact dependencies specified in your flake, ensuring consistent behavior across all task executions.
Best Practices
When working with the Tembo Sandbox environment:Dependency Management
- Use existing tools: Leverage the pre-installed package managers and tools when possible
- Specify versions: When installing additional dependencies, pin to specific versions for reproducibility
- Cache efficiently: Use package manager caching features to improve build times
Resource Optimization
- Minimize installations: Avoid installing large dependencies unless necessary
- Clean up: Remove temporary files and build artifacts when possible
- Use lightweight alternatives: Choose lighter-weight tools when multiple options are available
Compatibility Considerations
- Version awareness: Be aware of the pre-installed tool versions when writing build scripts
- Cross-language support: Take advantage of the multi-language environment for polyglot projects
- Tool conflicts: Be mindful of potential conflicts between different language ecosystems
Nix Development Shell Tips
- Use Nix for complex dependencies: If your project requires specific tool versions or uncommon dependencies, consider using a Nix development shell instead of relying on pre-installed tools
- Test locally: Use
nix developlocally to verify your flake configuration before relying on it in Tembo - Keep flakes minimal: Include only the dependencies your project needs to reduce environment setup time
Support and Updates
The Tembo Sandbox environment is regularly updated to include:- Security patches for all installed tools
- Updates to major language runtimes and package managers
- New tools based on community feedback and usage patterns