ai-startup-skills
创业公司做 AI 产品的 7 步 Agent Skill 合集:验证 → BP → 政策 → 路演 → 获客 → 定价 → 注册。
Translation pending
Consulta normativa, evalúa ofertas y genera documentos con IA fundamentada en el marco legal peruano.
Translation pending
OtherTypeScript · PLpgSQLGitHub @bravoacamus-droidOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
SaaS de IA especializada en Contrataciones Públicas del Perú. Construido por Promptive para el ciclo completo: Actuaciones Preparatorias, Selección y Ejecución Contractual. LexIA cubre los tres perfiles del ecosistema (Entidad pública, Proveedor, Consultor/Capacitador) con un chat fundado en la Ley N° 32069 vigente, una biblioteca normativa, un Evaluador IA de ofertas, 11 generadores de documentos especializados, 2 asistentes de trámites RNP y un Bot de scraping que mantiene la base normativa al día.Read the full README ↗
SaaS de IA especializada en Contrataciones Públicas del Perú. Construido por Promptive para el ciclo completo: Actuaciones Preparatorias, Selección y Ejecución Contractual.
LexIA cubre los tres perfiles del ecosistema (Entidad pública, Proveedor, Consultor/Capacitador) con un chat fundado en la Ley N° 32069 vigente, una biblioteca normativa, un Evaluador IA de ofertas, 11 generadores de documentos especializados, 2 asistentes de trámites RNP y un Bot de scraping que mantiene la base normativa al día.
past_due./admin/scraping para monitorear el bot.#0583F2 / #021D40 / blanco · Plus Jakarta Sans · logo compuesto + minimalista# 1. Clonar e instalar
git clone <repo>
cd LexIa
npm install
# 2. Configurar .env.local — copia las variables del bloque más abajo
cp .env.example .env.local
# 3. Aplicar migraciones SQL
# Las migraciones están en supabase/migrations/0001..0013.
# Puedes aplicarlas con scripts/apply-migration.ts o desde el SQL Editor.
npx tsx scripts/apply-migration.ts supabase/migrations/0001_init.sql
# (repite para cada una)
# 4. Sembrar la base normativa con los PDFs de data/normativa/
npx tsx scripts/ingest-normativa-v2.ts
# 5. Cargar plantillas oficiales de los generadores
npx tsx scripts/parse-templates.ts
# 6. Sembrar fuentes de scraping
npx tsx scripts/seed-scraping-sources.ts
# 7. Dev server
npm run dev
Crítica (sin estas la app no arranca):
# Supabase
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=
SUPABASE_ACCESS_TOKEN= # Personal Access Token para apply-migration.ts
SUPABASE_PROJECT_REF=
# Gemini (IA)
GOOGLE_GENERATIVE_AI_API_KEY=
# App
NEXT_PUBLIC_APP_URL=
Para el bot de scraping y crons:
CRON_SECRET= # Vercel Cron usa esto para autenticarse
Para suscripciones Culqi (opcional hasta activar facturación):
CULQI_PUBLIC_KEY=
CULQI_PRIVATE_KEY=
CULQI_PLAN_STARTER= # plan_id creado en el dashboard Culqi
CULQI_PLAN_PRO=
| Script | Función |
|---|---|
npm run dev | Dev server (puerto 3000) |
npm run build | Build de producción |
npm run start | Servir build |
npm run lint | ESLint |
npx tsx scripts/v2-reset.ts | Resetea BD + Auth + Storage (orden Etapa 0) |
npx tsx scripts/apply-migration.ts <ruta-sql> | Aplica una migración vía Management API |
npx tsx scripts/ingest-normativa-v2.ts | Re-ingesta los PDFs de data/normativa/ |
npx tsx scripts/parse-templates.ts | Carga las plantillas oficiales en generator_templates |
npx tsx scripts/seed-scraping-sources.ts | Siembra fuentes del bot |
npx tsx scripts/test-rag-query.ts "consulta" | Smoke test del RAG |
npx tsx scripts/verify-rls.ts | Audita policies RLS de todas las tablas |
npx tsx scripts/count-db.ts | Conteos por tabla |
13 migraciones aplicadas en este orden. Todas las tablas tienen RLS.
| Migración | Contenido |
|---|---|
0001_init | profiles, normative_documents, normative_chunks (vector 1024), chat, evaluaciones, generador, biblioteca |
0002_rls | RLS policies de las tablas v1 |
0003_hybrid_search | función SQL hybrid_search (cosine + FTS español) |
0004_storage | Buckets de storage |
0005_reset_data_v2 | TRUNCATE inicial v2 |
0006_profiles_v2_subscriptions | profile_role, onboarding_completed, organization, subscriptions + events |
0007_generator_templates | catálogo de plantillas oficiales con slug enum |
0008_preparatorias_slugs | enum + tdr_eett, estrategia_contratacion |
0009_ejecucion_slugs | enum + 5 slugs de ejecución contractual |
0010_rnp_slugs | enum + rnp_aumento_cmc, rnp_actualizacion_financiera |
0011_scraping | scraping_sources, scraping_runs, profiles.is_admin |
0012_feature_usage | feature_usage (cuotas mensuales) + columnas Culqi extra |
0013_user_surveys | encuestas post-onboarding |
Configurados en vercel.json (Vercel ejecuta automáticamente):
| Path | Schedule | Función |
|---|---|---|
/api/scraping/run | 0 3 * * 0 (dom 03:00 UTC) | Bot de scraping de normativa |
/api/billing/trial-sweep | 0 4 * * * (diario 04:00 UTC) | Vence trials a past_due |
Auth de crons: cabecera Authorization: Bearer ${CRON_SECRET}.
main → Vercel deploya automáticamente.scripts/apply-migration.ts (NO se aplican solas en deploy).| Credencial | Dónde rotarla | Después |
|---|---|---|
| Gemini API key | Google AI Studio | actualizar GOOGLE_GENERATIVE_AI_API_KEY en Vercel + redeploy |
| Supabase service role | NO se rota (solo si compromiso) | actualizar en Vercel + redeploy |
| Culqi keys | Dashboard Culqi → API Keys | actualizar CULQI_* en Vercel + redeploy |
| CRON_SECRET | generar nuevo con node -e "console.log(require('crypto').randomBytes(32).toString('hex'))" | actualizar en Vercel + redeploy |
-- desde Supabase SQL Editor o con scripts/apply-migration
insert into scraping_sources (label, url, doc_type, link_selector, link_filter_regex, cadence_days, notes)
values (
'OECE — Otra fuente nueva',
'https://ejemplo.com/pagina-indice',
'opinion',
'a[href*=".pdf"]',
'\.pdf$',
7,
'Notas internas...'
);
Luego desde /admin/scraping → "Ejecutar" para probar la fuente nueva.
update profiles
set is_admin = true
where id in (select id from auth.users where email = '[email protected]');
npx tsx scripts/test-rag-query.ts "tu consulta de prueba"
# o
npx tsx scripts/count-db.ts
scraping_runs.error_messagesubscription_eventshttps://<SUPABASE_PROJECT_REF>.supabase.co/auth/v1/callback# Audita que todas las tablas tengan RLS habilitado y al menos una policy
npx tsx scripts/verify-rls.ts
Tablas que deben estar bajo RLS (con policies por owner o admin):
profiles, subscriptions, subscription_eventschat_conversations, chat_messagesevaluations, generated_documentsuser_folders, user_saved_documents, user_annotationsuser_surveys, feature_usagegenerator_templates (lectura autenticada, sin escritura desde cliente)scraping_sources, scraping_runs (solo admin)Propiedad de Promptive. Todos los derechos reservados.