A self-hostable project management platform for software delivery teams — phases, plans, SOWs, change requests, approvals, drift analysis, AI assists.
Open-core: the application is licensed under AGPL-3.0 and runs end-to-end
on commodity infra. Optional enterprise features (SSO/SAML, audit-log UI,
advanced RBAC, billing) live under ee/ and are sold separately.
git clone https://github.com/InteractorOSS/product-manager
cd product-manager
cp .env.example .env
# AUTH_SECRET is required:
echo "AUTH_SECRET=$(openssl rand -base64 32)" >> .env
docker compose up -d
open http://localhost:4025Migrations run automatically on first boot. Create the first user via the sign-up screen — that account becomes the org owner.
npm install
cp .env.example .env.local
# fill in DATABASE_URL, AUTH_SECRET, REDIS_URL
npm run db:migrate
npm run db:seed
npm run devDev server runs on http://localhost:4025.
- Organizations and projects with role-based membership
- Phases, deliverables, checkpoints, tasks with configurable progress checkpoints
- Plan / SOW (Scope of Work) with clarity scoring
- Change requests, approvals, drift analysis, flags
- Roadmap with phases Kanban board
- Real-time updates via Postgres LISTEN/NOTIFY + SSE
- Background jobs via BullMQ + Redis
- Public stakeholder share links
- Outbound webhooks
- Integrations: GitHub, Jira, Linear, Trello, Slack (OAuth managed via Interactor credentials API)
- Senior PM Agent — AI assistant with full entity-mutation, GitHub, and infrastructure control
- AI assists backed by Claude (configurable model via
ANTHROPIC_EXTRACT_MODEL)
- Machines — account-level Docker agent management; connect
interactor/build-agentcontainers to run tasks autonomously - Sessions — live Claude Code session dock embedded in task detail panel; active/ended session management with heartbeat
- Task progress guidance layer — numbered lifecycle steps, Next-Action bar, blocked/locked step cards, configurable checkpoints
Enterprise (separate license — see LICENSE-ee)
- SAML / SCIM single sign-on
- Audit-log search, filter, export UI
- Advanced (custom-role) RBAC
- Multi-tenant isolation guarantees
- Stripe billing
- Premium AI features (advanced reasoning, document import templates)
- Framework: Next.js 16, React 19, TypeScript (strict)
- Database: PostgreSQL 16 + Prisma
- Auth: NextAuth v5 (credentials + OIDC / Interactor SSO)
- AI: Claude via
@anthropic-ai/sdk; agent orchestration via Interactor/agents/* - Real-time: Postgres LISTEN/NOTIFY + SSE
- Jobs: BullMQ + Redis 7
- UI: TailwindCSS 4 + shadcn/ui + Radix
- Forms: react-hook-form + zod
src/app/(app)/
├── dashboard/
├── machines/ # Account-level Docker agent management
├── o/[orgSlug]/
│ ├── settings/
│ ├── projects/
│ └── p/[projectSlug]/
│ ├── dashboard/
│ ├── tasks/ # Kanban + list views with multi-select filters
│ ├── sessions/ # Live Claude Code session management
│ ├── roadmap/ # Phases Kanban board
│ ├── phases/[phaseId]/
│ ├── plan/
│ ├── sow/
│ ├── change-requests/
│ ├── approvals/
│ ├── drift/
│ ├── flags/
│ ├── goals/
│ ├── sprints/
│ ├── meetings/
│ ├── documents/[id]/
│ ├── discussions/
│ ├── feedback/
│ ├── releases/
│ └── ai/
- The open-source core (everything outside
ee/) is licensed under AGPL-3.0-or-later. - The contents of
ee/are licensed separately under the Elastic License 2.0. - "Interactor" is a trademark — see
TRADEMARK.md.
- Bugs and feature requests: GitHub Issues
- Questions and discussion: GitHub Discussions
- Security: see
SECURITY.md