An AI-powered code intelligence platform that scans your GitHub repositories and discovers what applications you can build by combining existing files and components.
- GitHub OAuth: Connect your GitHub account with a single click (read-only access)
- Repository Management: Add and manage GitHub repositories for analysis
- AI Code Analysis: AI scans every file to identify purpose, exports, and reusability
- App Blueprint Discovery: Discover applications you can build from your existing code
- Gap Analysis: See exactly which files you're missing and generate them with AI
- Export: Download blueprint JSON for offline use or share with your team
- Framework: Next.js 16 with App Router
- Database: Neon PostgreSQL with connection pooling
- AI: Vercel AI SDK (OpenAI GPT-4)
- UI Components: Shadcn UI with Radix primitives
- Styling: Tailwind CSS v4
- Auth: GitHub OAuth (custom, read-only)
app/
├── api/ # API Routes
│ ├── auth/github/callback/ # GitHub OAuth callback
│ ├── github/repos/ # Fetch user's GitHub repos
│ ├── github/create-repo/ # Create repo from blueprint
│ ├── repositories/ # Repository CRUD
│ ├── analyses/ # Analysis management
│ │ └── [id]/
│ │ ├── run/ # Run analysis (SSE stream)
│ │ └── analyze/ # AI analysis endpoint
│ └── export/
│ ├── blueprint/ # Export blueprint as JSON
│ └── pdf/ # Export blueprint as PDF
├── dashboard/ # Dashboard pages
│ ├── layout.tsx # Dashboard layout
│ ├── page.tsx # Overview
│ ├── repositories/ # Repository management
│ └── analyses/ # Analysis pages
│ └── [id]/ # Analysis detail
components/
├── repositories-list.tsx # Repository list + add form
├── repository-selector.tsx # Multi-repo selector
├── analyses-list.tsx # Analyses list
├── analysis-detail.tsx # Analysis results + blueprints
├── app-suggestions.tsx # App idea cards
└── ui/ # Shadcn components
lib/
├── db.ts # Neon database client
├── queries.ts # Database queries
└── utils.ts # Utility functions
scripts/
└── 01-create-schema.sql # Database migration
github_id: Unique GitHub user IDgithub_username: GitHub login namegithub_avatar_url: Profile picture URLaccess_token: OAuth token (stored securely)
github_id: Unique GitHub repo IDname,full_name: Repo name and owner/namedescription,url: Metadatadefault_branch,language,stars: Additional info
repository_id: Foreign key to repositoriespath,name,extension: File location infofile_type: component / hook / utility / api / page / etc.purpose,ai_summary: AI-generated descriptionstechnologies,exports,imports: Detected patterns (JSONB)reusability_score: 0–100 reusability rating
name: User-defined analysis namestatus: pending / scanning / analyzing / complete / failedtotal_files,analyzed_files: Progress tracking
- Junction table linking analyses to repositories
analysis_id: Foreign key to analysesname,description,app_type: Blueprint infocomplexity: simple / moderate / complexreuse_percentage: How much existing code can be reusedexisting_files,missing_files: File lists (JSONB)estimated_effort: Human-readable time estimatetechnologies: Detected stack (JSONB)ai_explanation: AI-written rationale
- Clone the repository
git clone <repository-url>
cd repofuse-backend- Install dependencies
pnpm install- Set up environment variables
Copy
.env.exampleto.env.localand fill in your values:
cp .env.example .env.local- Set up the database Run the schema migration in your Neon console or with psql:
psql $DATABASE_URL -f scripts/01-create-schema.sql- Run the development server
pnpm dev- Access the application Open http://localhost:3000 in your browser
GET /api/auth/github/callback- GitHub OAuth callback
GET /api/repositories- List tracked repositoriesPOST /api/repositories- Add repository by URLGET /api/repositories/[id]- Get repository detailsDELETE /api/repositories/[id]- Remove repository
GET /api/github/repos- Fetch user's GitHub repos (OAuth)POST /api/github/create-repo- Create new repo from blueprint
GET /api/analyses- List analysesPOST /api/analyses- Create new analysisPOST /api/analyses/[id]/run- Run analysis (Server-Sent Events)POST /api/analyses/[id]/analyze- AI pattern analysis
POST /api/export/blueprint- Export blueprint as JSONPOST /api/export/pdf- Export blueprint as PDF
- Push your code to GitHub
- Connect your repository to Vercel
- Add environment variables in Vercel dashboard (see
.env.example) - Deploy
- GitHub OAuth uses read-only scopes — we never write to your repos
- Access tokens are stored in the database (encrypt at rest in production)
- Code is scanned in memory; file contents are never permanently stored
- All API routes validate authentication via session cookie
MIT License