← Docs

Projects

A project is where work actually happens in Brisal. A workspace is the wall around a context; a project is one unit of work inside that wall — a single codebase, task, or effort you open sessions against.

Everything a session needs lives in the project: the sessions themselves and the project’s own agents and skills. A workspace can hold as many projects as you like, and they’re all isolated from the projects in every other workspace.

Project vs workspace

Keeping the two containers straight makes the rest of this page easy:

WorkspaceProject
RoleThe wall — compartmentalizes one whole context from anotherOne unit of work inside that wall
HoldsProjects, providers, models, agents, skills, themeSessions, its own agents & skills
How manyUsually one; more only if you need separationAs many as you want per workspace
SelectionExactly one workspace is selected at a timeExactly one project is selected within the workspace

Creating a project

Every project has a source — where its files come from. Today you create a project from scratch: an empty project with no code attached, ready for sessions, notes, or planning.

An empty Projects tab reading "No projects yet — Create your first project to get started", with a Create Project button in the center and a + New Project button in the top-right.

A workspace with no projects yet. Create Project — or + New Project in the top-right — starts the flow.

To create one:

  1. Open the Projects list inside your selected workspace.
  2. Press + New Project.
  3. Choose From Scratch.
  4. Give it a Name (required) and an optional Description, then press Create Project.

The New Project form with a Name field set to "demo-project" and a Description field reading "A simple demo project, from scratch", above Create Project and Cancel buttons.

Naming a from-scratch project — only the name is required.

Creating a project also selects it, so you land ready to start your first session.

What lives inside a project

A project is its own small world under the workspace. Each project owns:

Inside a project
SessionsThe chats you run against this project — see Sessions
Agents & skillsProject-scoped agents and skills that only exist here

Project-scoped skills sit at the most specific end of Brisal’s four skill tiers (builtin → external → workspace → project) and take precedence over the broader ones. They are also the reason trust exists (below): a project’s own skills and hooks are inert until you approve the project.

Selecting a project

The selected project is the one you’re working in — the project whose sessions you see and create. Exactly one project is selected at a time within a workspace, and its card carries a Selected badge.

Press Select on a project’s card to switch to it. Selecting a project deselects whatever was selected before, the same way workspaces work one level up.

A project card on a workspace's Projects tab: the project name beside a Selected badge, a row of action icons (select, edit, lock, archive, delete), the description, a Scratch source label, and counts of 0 sessions and 1 worktree.

A project card: the Selected badge and the Select · Edit · Lock · Archive · Delete action row covered below.

Lifecycle: lock, archive, delete

Alongside Select, each project card carries the actions for managing a project over its life. All of them are real, wired actions today:

ActionWhat it doesWhen it’s unavailable
SelectMake this the project you’re working inWhile the project is locked
EditChange the project’s name or description
Lock / UnlockFreeze a project so it can’t be selected, archived, or deleted by accident. Unlock to act on it again.Lock is unavailable while a project is archived
Archive / UnarchiveSet a project aside to declutter the list without deleting it. Unarchive to bring it back.Archive is unavailable while a project is locked
DeletePermanently remove the projectWhile the project is selected or locked

In short: lock protects a project from lifecycle changes, and archive tidies it out of the way — both are reversible. To delete or re-select a locked project, unlock it first; to delete the selected project, select a different one first.

Project trust

Because a project can ship its own skills and hooks — project-local code Brisal would run automatically, as you, on your machine — a brand-new project is untrusted: that code stays inert until you explicitly trust it. When you open an untrusted project, an amber “Trust not set” banner offers a Manage trust button. Trust gates whether that code loads; it is not a sandbox.

The full story — the banner, the dialog, trust vs. deny vs. reset, and per-worktree decisions — lives on its own page: Trust.

A project is the stage; the work itself is a session on it.

  • Sessions — the chats you run inside a project, how they persist, and how branches and worktrees fit in (including finer-grained, per-worktree trust).
  • Skills and Agents — what project-scoped skills and agents are, and how project scope overrides the workspace and system layers.
  • Workspaces — the wall a project lives inside.