AI-powered specification and project management platform that transforms requirements into production-ready artifacts.
SpecForge is a collaborative platform for product teams to create, review, and export product specifications, API schemas, database designs, and code scaffolds using AI assistance.
- AI-Powered Generation: Transform PRDs into API specs, database schemas, and code scaffolds
- Collaborative Workflows: Multi-role support (Admin, PM, Dev, Reviewer) with approval workflows
- Version Control: Track changes across all artifacts with full version history
- Export System: Generate and download specifications in multiple formats (Markdown, JSON, ZIP)
- Real-time Updates: Live polling and notifications for export status
- Cloud Storage: R2/S3-compatible storage for generated artifacts
- Background Processing: Queue-based processing with BullMQ and Redis
specforge/
βββ apps/
β βββ api/ # Express.js backend API
β βββ web/ # React + Vite frontend
β βββ worker/ # Background job processor
βββ packages/
β βββ shared/ # Shared types and utilities
βββ prisma/ # Database schema and migrations
βββ tmp/ # Temporary export files
Frontend:
- React 18
- TypeScript
- Vite
- React Router
Backend:
- Node.js + Express
- TypeScript
- Prisma ORM
- PostgreSQL
- BullMQ + Redis (job queues)
AI/LLM:
- Google Gemini
- OpenAI (optional)
- Ollama (optional)
Storage:
- Cloudflare R2 / S3-compatible storage
- Node.js 18+ and pnpm
- PostgreSQL database
- Redis server (for background jobs)
- Cloudflare R2 or S3-compatible storage (for exports)
- AI Provider API key (Gemini, OpenAI, or Ollama)
git clone https://github.com/yourusername/specforge.git
cd specforgepnpm installCopy .env.example to .env and fill in your values:
cp .env.example .envpnpm prisma migrate devpnpm devThis starts:
- Web: http://localhost:5173
- API: http://localhost:4000
- Worker: Background job processor
See .env.example for all required and optional environment variables.
Key variables:
DATABASE_URL- PostgreSQL connection stringREDIS_URL- Redis connection stringJWT_ACCESS_SECRET/JWT_REFRESH_SECRET- JWT secrets for authenticationGEMINI_API_KEYorOPENAI_API_KEY- AI provider API keyR2_*- Cloudflare R2 storage credentialsWEB_ORIGIN- Frontend URL for CORS
pnpm buildpnpm lintpnpm format# Create a new migration
pnpm prisma migrate dev --name your_migration_name
# Reset database (β οΈ development only)
pnpm prisma migrate reset
# Open Prisma Studio
pnpm prisma studioThis is a pnpm monorepo with the following workspaces:
@specforge/web- React frontend application@specforge/api- Express API server@specforge/worker- Background job processor@specforge/shared- Shared TypeScript types and utilities
- Generate exports in multiple formats (Markdown, JSON, ZIP)
- Background processing with status polling
- Direct download via R2 storage streaming
- Automatic filename handling
- Multi-step approval process
- Role-based permissions (Admin, PM, Dev, Reviewer)
- Version-based reviews
- Approval/rejection with comments
- PRD β API Spec
- PRD β Database Schema
- API Spec β Code Scaffold
- Customizable prompts per organization
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Prisma
- UI inspired by modern product management tools
- Powered by AI models from Google Gemini and OpenAI
For questions or support, please open an issue on GitHub.
Built with β€οΈ by me