Skip to main content

Your workspace

The Sidebar

The sidebar is Spruce's primary navigation. It's visible on every page, owns project switching, and routes you between every other surface in the app — your views, by-type pages, the global tool pages, and settings.

Layout

The sidebar has a header strip at the top and four collapsible sections (Views, By type, Tools, and App) stacked beneath it. Each section header collapses independently, and the collapsed state for each is remembered across sessions per project.

The full Spruce sidebar with the header and all four sections expandedThe full Spruce sidebar with the header and all four sections expanded

The sidebar header

The header strip at the top of the sidebar packs three controls:

  1. Project switcher: the project's name and color badge. Click to open the project list.
  2. New artifact (pencil icon): opens the type picker. The artifact lands in the active view (or in your default template's list).
  3. Sync menu: shows a badge for pending Spruce changes. Click to commit, push, pull, or review pending changes before sync.

The numbers map to the labelled markers in the screenshot below. This bar replaces the old title-bar chrome, which is now minimal nav-only.

Switching projects

Click the project chip to open the project list. You'll see:

  • All your projects, with the active one highlighted.
  • New Project…: opens the project wizard's create flow (same one you saw on the home screen).
  • Import Project…: opens the wizard's import flow to clone a Spruce project from a git remote.

This is the everyday path to spin up another project once you're already in Spruce, with no need to navigate back to the home screen. See Open Your First Project for the wizard step-by-step.

What persists across a switch:

  • Terminal sessions: managed by the Spruce daemon, so sessions for artifact worktrees survive switches and keep running in the background.
  • Worktrees: the git worktrees you've created stay on disk.
  • Focus bar state: each project has its own focus bar filter and pinned work.
  • Sidebar section collapse state: remembered per project.

What resets: active view, current editor, focus bar contents (because they're project-specific).

To remove a project from the switcher, open Settings → Projects and choose a removal level. See Removing a Project.

Sync and pending changes

Every Spruce project is a git repo. The sync menu commits your pending changes (new artifacts, edited artifacts, template updates, new views, action changes) and pushes them to the project's remote, so your team sees the same plan.

The menu offers:

  • Sync: commits all pending changes and pushes to the remote in one step (when the project has a remote).
  • Commit: commits locally without pushing (for projects without a remote).
  • Pull: appears when the local project is behind its remote; pulls the latest commits before you sync.
  • Review changes: opens the Activity page to see exactly what's about to be committed.

Sync is scoped to the Spruce project, the folder holding your project artifacts. It does not commit or push changes in any linked code repository. Code changes go through the code repo's own git workflow (branch, commit, push, PR), typically via a terminal session in the artifact's worktree. See Branches and Worktrees and the tool panel's Git tab.

To configure the project's git remote, head to Settings → Per-project settings. See Per-Project Settings.

Views

Each view (built-in or your own) appears as its own row, with the active view highlighted. Right-click a view for rename / delete / set-as-default. The + icon next to the VIEWS header creates a new search, a fresh canvas without a saved configuration backing it. Save it as a view from the toolbar when you're happy with the shape.

See Views for the built-in views Spruce ships with, how custom views work on disk, and how they get shared across the team.

By type

One row per template defined in your project: Features, Tasks, Bugs, Chores, Memos, plus any custom types. Each row is a built-in view locked to that template, the same canvas as any other view with the template filter baked in. State (filter, sort, visible fields) persists in your browser per (project, template).

For the full controls these rows expose, see Views.

Tools

Four global tool pages, each backed by a full-screen surface:

  • Activity: unified feed of commits, pending Spruce changes, and pending code changes.
  • Comments: every comment thread in the project.
  • Sessions: session list on the left, active terminal on the right.
  • Code: file tree of the current branch, with a split-screen file viewer.

Click a tool to navigate to it. When an artifact is open, the same tool hotkey instead toggles the tool panel and switches its tab. See Embedded vs. global for the full story.

App

  • Settings: global and per-project preferences.

Keyboard navigation

All sidebar items are keyboard-reachable. The five tools (Code, Comments, Activity, Sessions, Git) have paired shortcuts: ⌘⇧<key> toggles the tool panel tab on the open artifact, and ⌘⌥<key> navigates to the matching global page. Sessions keeps single-modifier ⌘J for the tab as a VSCode-style exception. See Keyboard Shortcuts.