v0.1.0typecheck verde 35/35

SaaS Factory

Sistema closed-loop que construye, audita, deploya y auto-mejora múltiples SaaS de forma semi-autónoma. Cada SaaS es un tenant del Factory con su propio repo, Postgres, billing y branding.

Entorno Local Dev

Servicios corriendo localmente. Abrí desde tu máquina — no accesibles desde el VPS.

Stats

22
Packages workspace
5 apps + 4 packages + 13 tools
13
Migrations Postgres
factory.* schema completo
19+17
E2E tests
ejecutables + skipped marcados
7
Loops auto-aprendizaje
patterns, lessons, evolution, etc.
10
Agentes Claude
PM, Architect, Coder, Reviewer, QA, etc.
~30K
Líneas source
TypeScript estricto

Arquitectura — 4 Planos

Control

Decide qué hacer y cuándo

  • ·Orchestrator (BullMQ + n8n glue)
  • ·SaaS Registry (Postgres factory.*)
  • ·Policy Engine (auto-deploy, model-routing, billing, learning-safety, cost-caps)

Build

Idea → SaaS deployado

  • ·spec → plan → code → verify → audit → deploy
  • ·Ephemeral agents Claude (Sonnet default, Haiku mecánico, Opus escalation)
  • ·Templates con holes, no blank page

Run

SaaS vivos en producción

  • ·N tenants independientes (DB-per-tenant)
  • ·Operator persistente con 5 monitors
  • ·Auto-healing reactivo + Sentry + Telegram alerts

Learn

Mejora continua

  • ·7 loops: patterns, lessons, prompt A/B, template consolidation
  • ·Test evolution (post-mortem), cost optimizer, refactor agent
  • ·Knowledge Graph pgvector RAG

Capabilities

Pipeline build
spec → plan → code → verify → audit → deploy (todos con E2E tests)
Multi-PSP billing
PayPal Partner Referrals + MP Marketplace OAuth + Stripe future
Invoices branded
React-PDF con logo y razón social del SaaS issuer (no Factory)
Auto-aprendizaje
7 loops paralelos con safety gates en learning-safety.yaml
DB-per-tenant
1 Postgres database por SaaS, PgBouncer transaction pooling
Auto-deploy permissive
Verifier + Auditor green ⇒ auto. Paths críticos siempre escalan a humano
Reflection retry
Max 3 attempts. Loop detector aborta si diff hash repetido
Cost caps duros
USD 5/job, USD 50/SaaS nuevo, USD 25/tenant/día, USD 2000/factory/mes
Worktree per agent
Nunca dos agents al mismo branch del mismo tenant
Mission Control
Next.js dashboard con auth Cloudflare Access + dark mode + intervención manual
Self-healing
Sentry + PM2 + health check → Healer agent encolado en factory.heal
CI/CD del Factory
GitHub Actions: typecheck + test + build + deploy templates

Componentes

Apps (5)

factory-api
Express + BullMQ orchestrator (9 queues)
factory-cli
CLI commander con 8 commands (new/list/status/deploy/kill)
factory-billing
Multi-PSP + state machine + invoice numbering atómico + dunning
mission-control
Next.js dashboard con auth Cloudflare Access
operator
PM2 persistente con 5 monitors (sentry/health/pm2/error-rate/latency)

Packages (4)

factory-contracts
Zod schemas con branded types — fuente única de verdad
factory-sdk
Cliente HTTP que cada tenant SaaS consume
factory-agents
10 agents con prompts.md + reflection-retry + cost tracker
templates/saas-base
Boilerplate Next.js + Prisma + auth + billing wired

Tools (13)

spec-engine
intent → spec.md vía PMAgent
tenant-manager
Git worktrees + clone/commit/push
architect-engine
spec → plan.md + scaffold inicial
template-renderer
Render templates con placeholders + holes
code-forge
Wave-based DAG execution de tasks (CoderAgent)
verifier
Smoke checks: install + typecheck + lint + build
psp-adapters
PayPal + MercadoPago + Stub adapter común
invoice-generator
React-PDF + S3 upload + Resend email
auditor
8 ejes paralelos: errors/validation/security/perf/obs/data/externas/recursos
deployer
GitHub Actions + canary 10/50/100% + auto-rollback
learning/*
8 sub-tools: pattern-extractor, lessons-extractor, knowledge-indexer, prompt-evolution, template-consolidator, test-evolution, refactor-agent, cost-optimizer
db
Migration runner para factory.* schema

7 Loops de Auto-Aprendizaje

#1

Pattern Library

post-success

Captura spec → plan → diff → tests que funcionaron. Próxima feature similar recibe los top-3 patterns como hints.

#2

Lessons Learned

post-failure

Sonnet analiza error + diff + fix. Genera lesson generalizable. Dedupe pgvector cosine 0.92.

#3

Prompt Evolution A/B

cron weekly

Challenger 10% traffic. Promote si ttv/afr/cost/quality no degradan. Regression suite con 50 specs históricas.

#4

Template Consolidation

cron weekly

Jaccard tokenize cross-tenant. Si >3 SaaS tienen >85% similitud, propone extracción al template. Human approval requerido.

#5

Test Evolution

post bug fix

Bug en prod + fix → genera test que reproduce el bug pre-fix. Se agrega al template para futuros SaaS.

#6

Cost Optimizer

cron weekly

Analiza events 7d. Propone updates a model-routing.yaml. Auto-apply si savings >15% sin degradar quality.

#7

Refactor Agent

cron monthly

Métricas complexity + duplication + dead code. Top 3 targets. PR con tests verdes. Excluye billing/auth/pricing.

Stack Técnico

Runtime
  • Node 20+
  • TypeScript 5.5 estricto
  • pnpm 9.12 workspaces
  • Turborepo
Persistencia
  • PostgreSQL 16 + pgvector
  • Redis 7 (BullMQ)
  • S3 (invoices + backups)
AI
  • Anthropic Claude Sonnet/Haiku/Opus
  • Prompt caching (5min TTL)
  • OpenAI embeddings (fallback stub)
Backend
  • Express + Zod
  • BullMQ (9 queues)
  • pg + ioredis
  • pino logging
Frontend
  • Next.js 15 App Router
  • Tailwind CSS
  • jose (JWT)
  • React-PDF (invoices)
DevOps
  • Docker Compose dev
  • GitHub Actions
  • PM2 ecosystem.config.cjs
  • Sentry + Telegram
PSPs
  • PayPal Partner Referrals
  • MercadoPago Marketplace OAuth
  • Stripe future
Auth
  • Cloudflare Access (dashboard)
  • jose JWT verify
  • JWT cookies (tenant SaaS)

Quickstart

1.

Pre-requisitos

Node 20+, pnpm 9+ (vía corepack), Docker Desktop con virtualización habilitada (BIOS/Hyper-V/WSL2). Verificar requisitos Docker Windows

2.

Bootstrap local

cd C:\Users\fiafe\saas-factory
.\scripts\bootstrap.ps1
# Levanta Postgres + Redis vía Docker
# Aplica las 13 migrations factory.*
# Builds packages
# Crea SaaS de prueba opcional
3.

Validar pipeline con stub Anthropic (sin costo)

$env:STUB_ANTHROPIC = "true"
pnpm tsx scripts/factory-new-live.ts test-canchas `
  --intent "SaaS de reservas de cancha de fútbol"
4.

Ver Mission Control

pnpm dev   # arranca todos los apps
# Abrir http://localhost:3030
5.

Migrar Rentaly como primer tenant (--dry-run primero)

# Configurar env vars: RENTALY_DATABASE_URL, RENTALY_LEGAL_NAME, etc.
pnpm tsx scripts/rentaly-migration.ts --dry-run
pnpm tsx scripts/rentaly-migration.ts --execute
6.

Deploy a VPS Contabo

$env:FACTORY_VPS_HOST = "31.220.96.8"
.\scripts\factory-deploy.sh
# rsync + install + migrate + pm2 startOrRestart + health check

Estado actual

Completado autónomo

  • Foundation completa (typecheck verde 35/35)
  • 6 E2E tests por phase + helpers reusables
  • Multi-PSP billing con invoices branded
  • 7 loops auto-aprendizaje funcionales
  • Mission Control con auth Cloudflare Access
  • Bootstrap scripts + Dockerfile multi-stage + ecosystem PM2
  • Rentaly migration --dry-run/execute/rollback con backup
  • GitHub Actions CI/CD del Factory mismo
  • CODEOWNERS + PR template + DEPLOYMENT.md (538 líneas)

Requiere acción humana / credentials

  • Habilitar virtualización en BIOS para que Docker Desktop levante
    Local dev requiere Postgres + Redis vía Docker
  • Configurar .env real con ANTHROPIC_API_KEY
    Para correr factory new sin --stub-anthropic
  • Setup Cloudflare Access para Mission Control
    Auth en producción (CF_TEAM_DOMAIN + CF_AUDIENCE)
  • Configurar Sentry projects (uno por app)
    Operator monitorea Sentry para auto-healing
  • Doppler/1Password Connect para secrets
    Rotación segura sin SSH manual
  • PayPal Partner ID + MP Application credentials
    Onboarding sub-merchants per-tenant
  • DKIM/SPF para Resend per-tenant
    Emails de invoices con dominio del SaaS
  • Backup S3 bucket lifecycle policy 7 años
    Compliance AFIP/IRS para invoices

Repo local: C:\Users\fiafe\saas-factory

Construido en ~6 horas con ~30 agentes Claude Sonnet en paralelo (~$15-25 USD en tokens)

← Volver al dashboard