Skip to content

InteractorOSS/product-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4,043 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Interactor product-manager

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.

Quickstart (Docker)

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:4025

Migrations run automatically on first boot. Create the first user via the sign-up screen — that account becomes the org owner.

Quickstart (local Node)

corepack enable        # gives you the pnpm version pinned in package.json
pnpm install
cp .env.example .env.local
# fill in DATABASE_URL, AUTH_SECRET, REDIS_URL
pnpm db:migrate
pnpm db:seed
pnpm dev

Dev server runs on http://localhost:4025. This is a pnpm/Turborepo workspace — a root preinstall guard rejects npm install/yarn install, so use pnpm.

The root .npmrc sets two things on purpose:

  • node-linker=hoisted — install a flat, npm-style node_modules instead of pnpm's default symlinked store. Required so the native app's Metro bundler (apps/native) resolves its React Native dep tree (Metro doesn't follow pnpm's symlinks reliably), and so the web build/deploy — which ships node_modules to the prod box and previously ran under npm's flat layout — resolves deps exactly as before.
  • strict-peer-dependencies=false + auto-install-peers=true — the web tree has peer mismatches npm tolerated under --legacy-peer-deps; these keep pnpm from failing the install on unmet/conflicting peers.

Syncing project tasks to your machine

Install the ibuild CLI, then run it in your project directory:

curl -fsSL https://build.interactor.com/install/build | sh
ibuild sync

On a fresh machine ibuild sync runs ibuild setup automatically: your browser opens to authorize the machine, and the daemon token, project sync token, and .build/.sync file are all written for you — no token to copy or paste. Prefer the manual flow (e.g. a headless machine)? Run ibuild sync --paste-token and generate a token from the project's Settings → Integrations page instead.

When .env.local is required

Anything that reaches the database — dev, worker, db:seed, gate:*, backfill:*, engine:usage — needs .env.local and aborts without it, so a missing file surfaces as an error rather than a confusing DATABASE_URL is undefined later on.

The build:sync* daemon and the engine:* CLIs read their configuration from a sync file instead, so they run without .env.local (fleet containers have none). build:sync* reads .build/.sync (falling back to a legacy .tasks/.sync for anyone still on it); the engine:* CLIs read .tasks/.sync. They still read PM_DAEMON_TOKEN from the environment when one is needed, and say so when it is missing. scripts/env-file-flags.test.ts enforces this split.

Features

Open-source core (AGPL-3.0)

  • 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)

Autonomous task execution (open-source core)

  • Machines — account-level Docker agent management; connect interactor/build-agent containers 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)

Tech stack

  • 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

Key project routes

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/

Documentation

License

Support and community

  • Bugs and feature requests: GitHub Issues
  • Questions and discussion: GitHub Discussions
  • Security: see SECURITY.md A3-5 finalize smoke marker.

About

No description, website, or topics provided.

Resources

License

AGPL-3.0, Unknown licenses found

Licenses found

AGPL-3.0
LICENSE
Unknown
LICENSE-ee

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors