The Projects tool is the central hub for managing client and internal projects. It brings together team members, goals, decisions, tasks, and financial data in a single view. Projects link to companies, squads, SLA policies, and budgets, and include an AI-powered summary feature to surface key information at a glance.
- Project management — Create and manage projects with status, company, owner, delivery manager, and squad assignment
- Members & roles — Add team members to projects with defined roles
- Goals — Track project goals with ordered positions
- Decisions — Log agreed and pending decisions with context
- Task integration — View all tasks scoped to a project
- Profitability — Aggregated profitability metrics from linked budgets, time entries, and invoices
- AI summary — Generate and cache an AI-powered project summary using Llama 3.1 via Workers AI
- SLA linking — Optionally attach an SLA policy to a project
- History log — Changes are tracked for audit trail
- Data scoping — Access is scoped by role: employees/leads see their own projects, managers see squad projects, heads/executives see all
| Level | View | Create/Edit | Delete |
|---|
| Executive | All | Yes | Yes |
| Head | All | Yes | No |
| Manager | Own + squad | Yes | No |
| Lead / Employee | Own only | No | No |
- Route:
src/routes/projects.tsx / src/routes/projects.lazy.tsx
- Page:
src/components/projects/projects-page.tsx
- API:
worker/routes/projects.ts
| Method | Path | Permission | Description |
|---|
GET | /api/projects | view | List projects (scoped by access level) |
GET | /api/projects/:id | view | Get project detail with members and goals |
POST | /api/projects | update | Create a project |
PUT | /api/projects/:id | update | Update a project |
DELETE | /api/projects/:id | manage | Delete a project |
GET | /api/projects/:id/members | view | List project members |
POST | /api/projects/:id/members | update | Add a member to a project |
DELETE | /api/projects/:id/members/:userId | update | Remove a member from a project |
GET | /api/projects/:id/goals | view | List project goals |
POST | /api/projects/:id/goals | update | Create a goal |
PUT | /api/projects/:id/goals/:goalId | update | Update a goal |
DELETE | /api/projects/:id/goals/:goalId | update | Delete a goal |
GET | /api/projects/:id/tasks | view | List tasks scoped to this project |
GET | /api/projects/:id/decisions | view | List decisions |
POST | /api/projects/:id/decisions | update | Create a decision |
PUT | /api/projects/:id/decisions/:decisionId | update | Update a decision |
DELETE | /api/projects/:id/decisions/:decisionId | update | Delete a decision |
GET | /api/projects/:id/profitability | view | Get profitability metrics |
GET | /api/projects/:id/ai-summary | view | Get cached AI summary |
POST | /api/projects/:id/ai-summary | view | Generate a new AI summary |
- Budgets — Budgets are linked to projects for cost tracking
- Invoices — Invoices linked to projects feed profitability reports
- Tasks — Tasks can be scoped to a project
- Resourcing — Team allocations reference projects