Projects are available on paid plans. Upgrade in Settings > Billing, or book a call with us if you need access to test them.
What projects include
A project can define:- One, multiple, all, or no connected repositories
- Workspace skills that should be available in every session
- Repository dependencies to install before sessions start
- A setup script for additional project-specific preparation
- Default agent instructions included in every session from the project
- One or more session sizes that people can choose when starting a session
- A daily refresh schedule
Create a project
Prerequisites:- You are on a paid plan.
- You have workspace admin access.
- Any repositories you want to include are already connected to Tembo.
- Open Settings > Projects.
- Click New project.
- Choose a name, icon, and color.
- Select the repositories to make available in project sessions.
- Choose whether to include workspace skills and install repository dependencies.
- Under Advanced setup, optionally add a setup script.
- Optionally add Default agent instructions.
- Select the session sizes the project should support.
- Optionally enable Refresh every day and choose a time.
- Click Create project. Tembo automatically starts building an environment for each selected session size.
Start a session from a project
Before you start a session, open the project and size selector in the session composer. Choose a project, then choose one of its supported session sizes. Sessions from a project can only use the sizes that project builds. See sandbox sizes. Selecting a project also selects the repositories included in that project. You can change the project before the session starts, but not while a session is running. The sidebar groups sessions by project. From a project there, you can start a new session or open the project to edit it. If a session does not need a prepared environment, select No project in the composer.Default project
Workspace admins can set a default project and size in Settings > Sandbox. New sessions across the workspace use that project and size unless someone picks a different one in the composer. A project can be the default only for sizes it builds. If more than one project exists, each size has at most one default project.Default agent instructions
Add Default agent instructions when you create or edit a project. Tembo includes them in every session started from that project, as guidance for how the agent should work. Use this for coding conventions, testing expectations, or other project-specific guidance that should apply even when the session prompt is different. Changing these instructions applies to new sessions without rebuilding the environment.Use a project with agents
When you create or edit an agent, select a project in its run options. Triggered and scheduled runs then start from that project’s prepared environment and repositories.Project environment variables
Add environment variables to a project when you only need them while that project’s environments are built. Project variables are combined with workspace-wide environment variables. If both scopes use the same key, the project value takes precedence. To add project-level environment variables:- Open Settings > Projects.
- Select the project.
- Under Environment variables, click Create Secret.
- Add a single variable or bulk import
.env-style contents. - Click Create Secret.
- Build or rebuild the project’s environment to apply the variables.
Setup script
Use the setup script for preparation that is not handled by repository dependency installation ortembo.nix. Tembo runs the script while building the project’s environments, after it clones the selected repositories.
The script has access to workspace-wide environment variables and any environment variables added to the project. Anything the script installs or writes to disk becomes part of the prepared environment.
This project setup script is separate from the
setupScript hook in .tembo.json. The .tembo.json hook runs during the environment build only when Install dependencies is enabled, while the project setup script runs whenever it is configured. Sessions restored from a prepared environment do not run the .tembo.json hook at startup. Rebuild the project environment after changing setup commands so new sessions pick them up.Keep setup logic in your repository
To version your setup logic with the rest of your code, commit a script to your repository and call it from the project setup script. For example, if a repository namedmy-app contains scripts/tembo-setup.sh, use:
/workspace. Tembo clones a repository with a unique name into /workspace/<repository-name>. Repository names are lowercased, and unsupported characters are replaced with hyphens. If multiple selected repositories resolve to the same directory name, Tembo clones each one into /workspace/<repository-id>-<repository-name> instead.
Session sizes, builds, and daily refreshes
A project must support at least one session size. If you select several sizes, Tembo builds and maintains a separate prepared environment for each one. People starting a session from the project can choose among those sizes. Enable Refresh every day to pull the latest repository changes and run the project’s setup again each day. The refresh time is shown in your local time. You can also open a project and click Build environment or Rebuild environment. The first successful build for a size makes that environment available. A rebuild pulls the latest repository changes and reruns setup for every selected size. New sessions use an environment when it is ready; running sessions are not affected. If a rebuild fails, the current prepared environments remain active. Each project keeps a build history. You can:- Open a build or environment to view its log and progress
- Cancel a queued or running build
- Pin a successful build so new sessions keep using that environment instead of the latest successful one
- Switch back to the latest successful build
- Rebuild a single environment, or delete an old one
Edit or delete a project
Open a project from Settings > Projects to change its appearance, repositories, setup, instructions, sizes, or schedule, then save. Only workspace admins can edit or delete projects. Deleting a project archives it and disables its refresh schedule. Running sessions are not affected.When to use projects
In general, you should always use a project, even if your workspace only needs one. A project gives sessions a consistent set of repositories, tools, and defaults while reducing setup time. Use projects when a team repeatedly starts sessions with the same context or spends meaningful time on environment setup, for example:- Large repositories or monorepos
- Slow package installs
- Build systems with expensive setup steps
- Workflows that use a consistent set of repositories
- Teams that rely on shared workspace skills
- Work that needs different prepared environments or session sizes