Projects
A project in Ptah represents a single client engagement — one RFP, one demo, one WBS. This page covers creating, configuring, and managing projects.
Creating a project
Projects are created by a PM (or anyone with the project:create permission). From the Projects page, click New project and fill in:
- Name — human-readable name, shown in the UI.
- Project code — short lowercase slug, used for the demo subdomain (
<code>.<org>.byptah.com). Must be unique within the organization. - Client — the client organization name, stored for reporting only.
- Tech stack — choose from the catalog or pick "Custom" and define it in the project's CLAUDE.md.
- VPS — the worker VPS where Claude sessions and the demo will run. You can reassign this later.
- Team members — assign BA, PM, Tech Lead, and optional reviewers. Roles are per-project, not global.
Ptah creates a git repository under /projects/<project-id>/ on the assigned VPS, seeds it with a starter template for the chosen tech stack, and commits an initial CLAUDE.md that encodes the project's coding rules and build commands.
Project workspace
Inside a project, the sidebar gives you four views:
- Overview — project metadata, demo URL, last deploy status, team members.
- Documents — uploaded files (PDF, DOCX, XLSX, Markdown) plus inline annotations. Claude can read everything here.
- Chat — the Claude session for this project. Supports forking, branching, and attachments.
- Deployments — history of deploys with logs and rollback buttons.
Roles inside a project
- BA — reads documents, chats with Claude to build specs, owns the
docs/specs/directory. - PM — owns project metadata, team assignment, and the final WBS export.
- Tech Lead — reviews specs, triggers Claude to write code, owns the
src/directory. - Reviewer (optional) — read-only access for stakeholders who need visibility but not edit rights.
Roles can be customized per organization through the Roles settings page.
Session forking
If you want to try a different approach without losing your current conversation, click Fork session at the top of the chat. Ptah creates a new session that inherits the full message history from the parent, then lets you continue in a new direction. You can compare the two sessions side by side from the session history page.
Forking is useful for:
- Trying two different architectures for the same feature
- Exploring a bug fix without polluting the main thread
- Letting a new team member experiment without risk
Deleting or archiving
Archiving a project hides it from the default project list but keeps all files, sessions, and the demo live. Use archive for finished engagements you may want to reference later.
Deleting a project removes everything: the git repository on the VPS, the demo URL, the session history, and the uploaded files in S3. This action is irreversible, and Ptah requires a confirmation prompt.
Related pages
- BA workflow — how to use chat effectively.
- Architecture — how projects map to VPS workers and sessions.