Projects

Create web projects, register CLI projects, import from GitHub, and share projects with your team.

Projects are the core unit of work in Stoa. A project represents a codebase or set of files that you want to collaborate on, track decisions for, and build provenance history.

Creating a Web Project

Create a project directly in the browser:

  1. From the dashboard Projects tab, click "Create web project" (or the "New Project" button if you already have projects).
  2. Enter a project name (required, max 100 characters).
  3. Optionally add a description (max 500 characters).
  4. Optionally share with a team:
    • Select a team from the dropdown (shows your role in each team)
    • Or leave as "Personal project (not shared)"
  5. Click Create.

If you create a project from within a team dashboard, the team is pre-selected and the project is automatically shared with all members.

Registering a CLI Project

Bring a local codebase into Stoa:

# Navigate to your project
cd /path/to/your/project

# Initialize tracking
intent init

# Register with the web platform
intent web register

intent web register is org-first: it always creates projects shared with a team. If you belong to multiple teams, use --org to specify which one. If you only have one team, it's selected automatically.

After registration:

  • Files sync to the web platform
  • You can view and edit files in the browser
  • All team members can access the project immediately

Managing CLI Projects

# List all registered projects
intent web projects list

# Show project details
intent web projects show <project-id>

# Share with a team
intent web projects share <project-id> <org-id>

# Remove sharing
intent web projects unshare <project-id>

# Unregister a project
intent web projects delete <project-id>

Importing from GitHub

Connect a GitHub repository to browse its code in Stoa:

  1. Install the Stoa GitHub App on your GitHub organization or personal account.
  2. Open the GitHub Import dialog from a Space or project view.
  3. Search repositories by name. Results are grouped by GitHub account.
  4. Select a repository. Public and private repos are labeled.
  5. Choose a branch (defaults to the repo's default branch).
  6. Optionally override the project name.
  7. Click Import.

Note

Imported GitHub files are read-only by default in Stoa. You can browse and reference them, and the AI agent can use them for context. If you promote a GitHub file into the workspace, it becomes an editable CRDT document, but edits do not sync back to GitHub.

What GitHub Integration Provides

FeatureAvailable
Browse repository filesYes
View code with syntax highlightingYes
Use files as AI agent contextYes
Edit files in StoaYes (after promotion to CRDT)
Create commits from StoaNo (planned)
Create PRs from StoaNo (planned)
Switch branches after importNo (fixed at import time)

Projects Table

On the team dashboard, projects are displayed in a sortable, filterable table:

ColumnDescription
ProjectProject name
FilesFile count
SourceBadge showing Web, CLI, or GitHub
Created ByWho created the project
CreatedWhen the project was created
UpdatedWhen files were last updated
SpaceWhich Space the project belongs to

Click any column header to sort. Click again to reverse the sort direction.

Filtering

Use the filter bar above the table to narrow results:

  • Search by project name
  • Source dropdown to show only Web, CLI, or GitHub projects
  • Space multi-select to filter by Space
  • Owner multi-select to filter by creator

Active filters appear as chips below the filter bar. Click a chip to remove it, or use Clear all to reset.

Project Actions

  • Open to navigate to the project workspace
  • Share to share with a team (or change sharing)
  • Remove to unregister the project

Sharing Projects with a Team

When a project is shared with a team:

  • All team members can access the project
  • The project appears on the team dashboard
  • It can be added to Spaces
  • Sessions can be created for collaboration

You can share a project:

  • At creation time via the "Share With Team" dropdown
  • After creation from the project card's Share action
  • Via CLI: intent web projects share <project-id> <org-id>

What's Next