Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
122 changes: 82 additions & 40 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

![PRDforge Demo](demo.gif)

PRD Forge splits your product requirements into independently addressable sections stored in PostgreSQL, then gives Claude surgical read/write access through 34 MCP tools. The result: edits that used to burn ~15,000 tokens now cost 500-2,000 — an **85-95% reduction** in context per operation.
PRD Forge splits your product requirements into independently addressable sections stored in PostgreSQL, then gives Claude surgical read/write access through 33 MCP tools. The result: edits that used to burn ~15,000 tokens now cost 500-2,000 — an **85-95% reduction** in context per operation.

## The Problem

Expand All @@ -22,7 +22,7 @@ Each section stores both its full **content** and a short **summary** (1-3 sente

## Features

- **34 MCP tools** — read, write, search, import/export, manage dependencies, track revisions, resolve comments
- **33 MCP tools** — read, write, search, import/export, manage dependencies, track revisions, resolve comments
- **Multi-user auth** — Better Auth (email/password + Google OAuth), 5 roles (owner/admin/editor/commenter/viewer), org-scoped access control
- **Real-time collaboration** — WebSocket presence, live section updates across clients
- **Project templates** — start with Blank, SaaS MVP, Mobile App, or API Design — pre-built section structures with starter content
Expand Down Expand Up @@ -165,46 +165,88 @@ Chat is an experimental feature, disabled by default. Enable per-project in **Se

## MCP Tools Reference

34 MCP tools across 10 groups. See **[docs/tool-reference.md](docs/tool-reference.md)** for workflows and usage examples.
See **[docs/tool-reference.md](docs/tool-reference.md)** for workflows and usage examples.

<details>
<summary>All 34 MCP Tools</summary>

| Tool | Group | Description |
|:-----|:------|:------------|
| `prd_list_projects` | Project | List all projects with section counts |
| `prd_create_project` | Project | Create project (optional template: `saas-mvp`, `mobile-app`, `api-design`) |
| `prd_delete_project` | Project | Delete project and all sections (cascades) |
| `prd_list_sections` | Section | List sections — metadata only, no content |
| `prd_read_section` | Section | Read full section content + dependency context summaries |
| `prd_create_section` | Section | Create new section with content, tags, type |
| `prd_update_section` | Section | Update fields, auto-revision on content change, atomic comment resolve |
| `prd_delete_section` | Section | Delete section (warns about dependencies) |
| `prd_move_section` | Section | Change sort_order or parent section |
| `prd_reorder_sections` | Section | Reorder sections by slug list (unlisted keep relative order) |
| `prd_duplicate_section` | Section | Copy section with new slug |
| `prd_merge_sections` | Section | Merge source into target (content, deps, comments, children) |
| `prd_add_dependency` | Deps | Add/update dependency link (idempotent) |
| `prd_remove_dependency` | Deps | Remove a dependency link |
| `prd_suggest_dependencies` | Deps | Auto-suggest deps via content similarity (TF-IDF) |
| `prd_list_comments` | Comments | List all comments across project with section pointers |
| `prd_add_comment` | Comments | Add inline comment anchored to selected text |
| `prd_resolve_comment` | Comments | Resolve or reopen a comment |
| `prd_delete_comment` | Comments | Delete a comment |
| `prd_add_comment_reply` | Replies | Add a reply to an inline comment |
| `prd_get_settings` | Settings | Get project settings (merged defaults + overrides) |
| `prd_update_settings` | Settings | Update project settings |
| `prd_get_overview` | Context | Project overview with section summaries (~10% of full doc) |
| `prd_search` | Context | Full-text or tag search across sections |
| `prd_get_changelog` | Context | Recent revision history across all sections |
| `prd_token_stats` | Context | Token savings statistics for the project |
| `prd_get_revisions` | Revision | List revision metadata for a section |
| `prd_read_revision` | Revision | Read a specific historical revision's content |
| `prd_rollback_section` | Revision | Rollback to a previous revision (current saved as backup) |
| `prd_export_markdown` | Export | Export full document as assembled markdown |
| `prd_import_markdown` | Import | Import from markdown (configurable heading level or delimiter) |
| `prd_import_url` | Import | Import markdown from URL (SSRF-protected, Google Docs/GitHub support) |
| `prd_bulk_status` | Batch | Update status for multiple sections at once |
<summary>All 33 MCP Tools</summary>

#### Project (3)

| Tool | Description |
|:-----|:------------|
| `prd_list_projects` | List all projects with section counts |
| `prd_create_project` | Create project (optional template: `saas-mvp`, `mobile-app`, `api-design`) |
| `prd_delete_project` | Delete project and all sections (cascades) |

#### Sections (9)

| Tool | Description |
|:-----|:------------|
| `prd_list_sections` | List sections — metadata only, no content |
| `prd_read_section` | Read full content + dependency context summaries |
| `prd_create_section` | Create new section with content, tags, type |
| `prd_update_section` | Update fields, auto-revision on content change, atomic comment resolve |
| `prd_delete_section` | Delete section (warns about dependencies) |
| `prd_move_section` | Change sort_order or parent section |
| `prd_reorder_sections` | Reorder sections by slug list |
| `prd_duplicate_section` | Copy section with new slug |
| `prd_merge_sections` | Merge source into target (content, deps, comments, children) |

#### Dependencies (3)

| Tool | Description |
|:-----|:------------|
| `prd_add_dependency` | Add/update dependency link (idempotent) |
| `prd_remove_dependency` | Remove a dependency link |
| `prd_suggest_dependencies` | Auto-suggest deps via content similarity (TF-IDF) |

#### Comments (5)

| Tool | Description |
|:-----|:------------|
| `prd_list_comments` | List all comments across project with section pointers |
| `prd_add_comment` | Add inline comment anchored to selected text |
| `prd_add_comment_reply` | Add a reply to an inline comment |
| `prd_resolve_comment` | Resolve or reopen a comment |
| `prd_delete_comment` | Delete a comment |

#### Context & Search (4)

| Tool | Description |
|:-----|:------------|
| `prd_get_overview` | Project overview with section summaries (~10% of full doc) |
| `prd_search` | Full-text or tag search across sections |
| `prd_get_changelog` | Recent revision history across all sections |
| `prd_token_stats` | Token savings statistics for the project |

#### Revisions (3)

| Tool | Description |
|:-----|:------------|
| `prd_get_revisions` | List revision metadata for a section |
| `prd_read_revision` | Read a specific historical revision's content |
| `prd_rollback_section` | Rollback to a previous revision (current saved as backup) |

#### Import & Export (3)

| Tool | Description |
|:-----|:------------|
| `prd_export_markdown` | Export full document as assembled markdown |
| `prd_import_markdown` | Import from markdown (configurable heading level or delimiter) |
| `prd_import_url` | Import from URL (SSRF-protected, Google Docs/GitHub support) |

#### Settings (2)

| Tool | Description |
|:-----|:------------|
| `prd_get_settings` | Get project settings (merged defaults + overrides) |
| `prd_update_settings` | Update project settings |

#### Batch (1)

| Tool | Description |
|:-----|:------------|
| `prd_bulk_status` | Update status for multiple sections at once |

</details>

Expand Down
Loading