Skip to main content

Get started

Open Your First Project

The Spruce home screen has two paths to a working project:

  • Create or Import: start a new Spruce project (linking code repos along the way) or clone an existing Spruce project from a git remote.
  • Open: point Spruce at a Spruce project folder you've cloned manually outside the wizard, or re-open one you've previously opened.

If you already have a project from your team to clone, Create or Import → Import is the path. If you're starting fresh, Create or Import → New is the one. Both walk you through a multi-step wizard.

Creating a new project

Click Create or Import, pick New, and you'll go through four steps:

  1. Project

    Name the project, pick a color badge, and choose an alias (the 1–3 letter prefix on artifact IDs like ABC-x9z3qa). Every new project is seeded from the base bundle: the five built-in artifact templates (feature, task, bug, chore, memo), three built-in views (Kanban, Active work, Prioritization), and the four agent actions (Plan / Implement / Review / a generic do anything) with every supported agent mode (Claude Code / Codex / Kiro / OpenCode / Gemini) pre-configured.

    There's also an Include tutorial artifacts checkbox on this step. Leave it on (the default for first-time users) and Spruce seeds the project with five short walkthrough tasks — Welcome, Create your first artifact, Find your work with views, Hand work to an agent, Sync your changes — plus the screenshots they reference. Once you've done the tour, mark them Done or delete them like any other artifact. Uncheck it on subsequent projects to skip the seed entirely; your choice is remembered for next time.

  2. Project Remote

    Set up the remote where the Spruce project's git repo will be pushed. You can attach an existing remote, create a new one (Spruce can create a GitHub repo if you connected GitHub in the welcome wizard), or skip and add a remote later.

  3. Code Repositories

    Link the code repos you want to work against. You can:

    • Browse your repos: pick from the GitHub repos Spruce sees via your connected account.
    • Clone from URL: paste a git URL and Spruce clones it locally.
    • Add a local path: point Spruce at a repo you've already cloned.
    • Skip: leave the project plan-only for now; link repos later.
  4. Review

    Confirm the configuration. Spruce creates the project folder in your application-data directory, initializes the git repo, configures the remote, and clones / links any code repos you picked.

Project wizard with the stepper at the top showing Project / Project Remote / Code Repositories / ReviewProject wizard with the stepper at the top showing Project / Project Remote / Code Repositories / Review

Importing an existing project

If your team already has a Spruce project hosted on git, Create or Import → Import is the three-step path:

  1. Import

    Paste the Spruce project's git URL. Spruce clones the project into your application-data directory.

  2. Code Repos

    The project's project.yaml knows which code repos it links to; Spruce shows the list and offers to clone any that aren't already on your machine.

  3. Review

    Confirm and finish. Spruce opens the project at the view set as defaultView in project.yaml.

The import flow doesn't seed anything from the base bundle and doesn't offer the tutorial-artifacts toggle; you inherit whatever templates, views, actions, and artifacts are already in the project (since they're committed to its git repo).

Plan-only projects

If you don't link any code repos in the wizard, Spruce is still fully usable as a planning tool. The Code page and worktree features stay hidden, but artifacts, comments, views, templates, and agents all work. You can link a code repo later from Settings → Code repositories.

Where the project lives on disk

You don't choose where Spruce project data lives; it's stored in the standard OS application-data location, keyed by a project UUID:

PlatformPath
macOS~/Library/Application Support/com.spruce.app/projects/<uuid>/
Linux~/.config/com.spruce.app/projects/<uuid>/ (or $XDG_CONFIG_HOME)
Windows%APPDATA%\com.spruce.app\projects\<uuid>\

This keeps project data out of your code repos and portable across machines via the project's git remote. See The .spruce Directory for what's inside.

Syncing

The Spruce project is a git repo. Use the sync menu in the sidebar header to commit and push your project changes. Code repos sync through their normal git workflow; Spruce's sync menu is scoped to the Spruce project.

Sync menu in the sidebar header showing pending changes and Commit / Push controlsSync menu in the sidebar header showing pending changes and Commit / Push controls

Linking more repos later

If you want to link additional code repos after the wizard, or change which repos are linked, head to Settings → Code repositories. See Per-Project Settings.

After your first project: the sidebar dropdown

Once a project is open, the everyday path to spin up another one isn't the home screen. It's the project switcher in the sidebar header. Click the project chip to drop down a list of all your projects, with New Project… and Import Project… at the bottom that re-open the same wizard you just walked through.

Two clicks from anywhere in the app, no need to navigate back to the home screen.