IdeaClyst
Transforma ideas en bruto en planes SaaS ejecutables — poniendo a Claude y Codex en el mismo consejo.
★Guía paso a paso
El camino más rápido desde un clon reciente hasta un paquete de planificación completo. El modo simulado es el predeterminado, por lo que no necesitas ninguna CLI para probarlo de principio a fin.
Instalar dependencias
Desde la raíz del proyecto:
npm installCrear tu configuración
Copia el archivo de entorno de ejemplo. Usa el modo simulado por defecto — no se requieren CLIs.
cp .env.example .env.localIniciar una sesión de ideas
En la página de inicio, haz clic en "Start an Idea Session" para abrir el formulario de ideas (/new).
Describe tu idea
Asígnale un título, escribe la idea (al menos una frase, 10+ caracteres) y elige un objetivo — validate · plan · build · pitch · refine. Opcionalmente añade un cliente objetivo, restricciones o una pila tecnológica preferida. Luego envía.
Observa cómo delibera el consejo
Llegas a la página de ejecución, que actualiza cada 1,5 s. Los cinco pasos se iluminan a medida que avanzan — ✓ listo, ▸ activo, ○ pendiente — y cada resultado aparece en el momento en que se completa.
Lee tu paquete
Cuando la ejecución termina, las pestañas de resultados se rellenan: Resumen, Backlog MVP, Riesgos, Pruebas de validación, Próximos prompts. Todas las sesiones pasadas están en /runs.
(Opcional) Cambiar a las CLIs reales
Para obtener resultados reales del modelo, establece IDEACLYST_AGENT_MODE=cli en .env.local, asegúrate de que ambas CLIs estén instaladas y con sesión iniciada, luego reinicia el servidor e inicia una nueva sesión. Un consejo real tarda ~5–7 min (cinco llamadas en vivo al modelo), frente a los resultados instantáneos del modo simulado.
Encuentra los archivos
Cada ejecución se guarda en disco bajo .ideaclyst/runs/<runId>/ como run.json más artefactos Markdown que puedes leer o compartir fuera de la aplicación.
Atención en desarrollo: editar un archivo durante una ejecución puede interrumpir un consejo en curso (el orquestador se ejecuta en proceso). Si eso ocurre, reinicia npm run dev e inicia una nueva sesión.
01Qué es
IdeaClyst es una aplicación Next.js local-first que convierte una idea de producto en bruto en un completo paquete de planificación para fundadores. Lo hace no con un solo prompt, sino orquestando un consejo estructurado — una deliberación de cinco pasos entre dos herramientas de línea de comandos de IA que adoptan roles opuestos y se critican mutuamente antes de llegar a un veredicto.
Imagínalo como una pequeña sala de juntas: un fundador de SaaS escéptico (Claude) y un CTO pragmático (Codex) debaten tu idea hasta darle forma. El resultado se divide en Resumen, Backlog MVP, Riesgos, Pruebas de validación y Próximos prompts listos para pegar.
Toda la aplicación gira en torno a una idea: dos modelos distintos, adoptando roles adversariales y leyendo el trabajo del otro, producen un plan más nítido que cualquiera de ellos por separado. Todo lo demás — el almacén en disco, la interfaz de sondeo, el selector de modo — existe para servir esa deliberación.
Nuevo: un Paso 0 de investigación web (vendido de surfagent) explora el mercado y los competidores de forma autónoma y fundamenta cada paso del consejo en datos reales — además de un modo de Descubrimiento de ideas (/discover) que propone ideas para promover a una ejecución. La investigación ahora genera un dosier estructurado, una matriz de competidores, un mapa de oportunidades, experimentos de validación, un plan de distribución, criterios de descarte, notas sobre el alcance del MVP, una crítica de la página de destino, una base de seguimiento y un briefing para fundadores. Los candidatos de Descubrimiento también obtienen informes completos de ideas con tarjetas de puntuación, escaleras de oferta, señales de prueba, planes de ejecución, ajuste al fundador, análisis críticos, etiquetas de fuente/frescura de palabras clave, exportaciones copiables, prompts de entrega a Claude/Codex, una biblioteca guardada, personalización del perfil del fundador, un radar de tendencias y una vista de comparación lado a lado. La investigación es de mejor esfuerzo y está controlada por modo (simulado/sin conexión por defecto), por lo que una ejecución nunca falla cuando falta Chrome. Consulta el README para más detalles.
02Funciones de un vistazo
Consejo de doble agente
Cinco pasos alternos entre Claude y Codex; cada agente lee los resultados anteriores y critica al otro.
Modo simulado por defecto
Salida realista y consciente de la idea sin instalar ninguna CLI. Cambia una variable de entorno para usar el modo real.
Resultados progresivos
El resultado de cada paso aparece en cuanto se completa — la página de ejecución sondea el disco cada 1,5 s.
El disco es la verdad
Cada ejecución persiste como run.json + archivos Markdown. Reiniciar el servidor nunca pierde un resultado.
Paquete con pestañas
El plan final se divide automáticamente en Resumen, Backlog MVP, Riesgos, Pruebas de validación & Próximos prompts.
Sin shell, en sandbox
Las CLIs se lanzan con args en array + stdin (sin inyección); Codex se ejecuta en modo de solo lectura en un directorio temporal desechable.
Fallo elegante
Una CLI faltante o fallida marca la ejecución como fallida con un mensaje claro — los pasos completados se preservan.
Artefactos Markdown
Cada ejecución también genera archivos .md legibles por humanos que puedes leer o compartir fuera de la aplicación.
Sin secretos manejados
IdeaClyst nunca toca las claves API — ambas CLIs se autentican mediante sus propias sesiones locales.
Kit de evidencias
La investigación de Surfagent genera RESEARCH_DOSSIER.json, una pestaña de kit, un briefing para fundadores y artefactos de mercado independientes.
Informes completos de ideas
Cada candidato tiene una página de informe con ajuste de negocio, escalera de oferta, por-qué-ahora, prueba, brecha de mercado, marco, palabra clave, ajuste al fundador y análisis crítico.
Comparar y exportar
Los informes de candidatos se pueden añadir a /compare y copiar como Markdown, JSON, un resumen de una página o prompts de implementación y revisión para Claude/Codex.
Perfil del fundador
/profile almacena habilidades, capacidad, riesgo, comodidad con ventas, capital, acceso al mercado y ventajas injustas de forma local.
Mis cosas
Guarda ideas candidatas e informes en /library, respaldados por JSON local y archivos Markdown bajo .ideaclyst.
Biblioteca de señales de mercado
/trends, /insights y /monitors convierten los descubrimientos locales en tarjetas de tendencias, informes de perspectivas de mercado y comparativas de competidores/tendencias re-ejecutables.
Inteligencia con fuente identificada
Las secciones de palabras clave de los informes etiquetan la fuente y la frescura, con datos de instantáneas opcionales sobre estimaciones deterministas sin conexión.
Áreas de producto ligeras
La cabecera permanece compacta: Explorar tiene Descubrir, Hoy y Tendencias; Espacio de trabajo tiene Sesiones, Biblioteca y Validación. Las herramientas más avanzadas se enlazan desde esas páginas.
Auditoría de fuentes
/evidence indexa las fuentes de ejecuciones, descubrimientos e informes con confianza, frescura, afirmaciones y advertencias de evidencia débil.
Espacios de trabajo de sprint
/validation, /validation/import, /validation/analytics e /interviews convierten informes, pruebas de precios, resultados pegados y personas compradoras en un rastro de auditoría.
PRD, landing y paquetes
Los informes de candidatos abren ahora espacios de trabajo de embudo, página de destino, persona, asesor, versión del informe, paquete de exportación y construir-esta-idea basados en el informe guardado.
Decisiones y memoria
Las decisiones de informe se escriben en .ideaclyst/decisions, alimentan la memoria compacta del consejo y mantienen inspeccionables las llamadas promovidas, aparcadas, descartadas y validadas.
Carriles de fuente y caché
/settings/research edita las plantillas de carriles de fuente y muestra la caché con TTL/tamaño limitado usada por búsqueda, reconocimiento y extracción de páginas legibles.
03Arquitectura
IdeaClyst tiene cuatro capas, y la disciplina de diseño es que solo una de ellas sabe si estás en modo simulado o en modo CLI real.
Páginas App Router
Inicio, formulario de ideas (/new), lista de sesiones (/runs) y una página de detalle de ejecución en vivo que sondea. Renderizado puramente en cliente + fetch.
Manejadores de rutas
/api/runs crea una ejecución y lanza el consejo; /api/runs/[id] devuelve una ejecución para el sondeo; /api/runs/[id]/research encola una actualización solo de investigación y devuelve inmediatamente.
El pipeline de 5 pasos
orchestrator.ts secuencia el consejo y persiste después de cada paso, incluidos los archivos del kit de investigación estructurada creados durante el Paso 0.
La costura de modo y el disco
agents/ es el único código consciente del modo; runs/store.ts lee y escribe la fuente de verdad en disco.
// la única rama que conoce el modo — agents/index.ts export async function runAgent(agent, prompt, ctx) { if (agentMode() === "mock") return runMock(ctx.run, ctx.stepKey); // ignora el prompt, usa la ejecución estructurada return agent === "claude" ? runClaude(prompt, runDir) // `claude` real (sin -p), en directorio de ejecución : runCodex(prompt); // `codex exec` real }
04El consejo de 5 pasos
Este es el corazón de la aplicación. Los dos agentes se alternan, y el detalle crucial está en la línea "ve" de cada paso — cada agente lee resultados previos específicos, lo que lo convierte en una deliberación en lugar de cinco prompts aislados.
Investigación de mercado
Antes de que el consejo delibere, Chrome sin cabeza explora la web en busca del mercado y los competidores de la idea y redacta un memo de investigación más un kit estructurado que fundamenta cada paso posterior. De mejor esfuerzo: si falta Chrome o una búsqueda está bloqueada, recurre a síntesis sin conexión — la ejecución nunca falla. Puede desactivarse por ejecución en el formulario de ideas o encolarse más tarde como una actualización en segundo plano sin volver a ejecutar el consejo.
Estrategia de producto
Somete a presión la idea hasta convertirla en una estrategia creíble: el problema central y quién lo siente más, la cuña más afilada, el cliente objetivo y la disposición a pagar, la diferenciación, el go-to-market y los supuestos más arriesgados.
Arquitectura técnica
Diseña una arquitectura MVP ligera y ejecutable: pila recomendada y razón, modelo de datos, servicios clave, APIs de terceros, riesgos de construcción y un orden de construcción aproximado. Señala cualquier ingenuidad técnica en la estrategia.
Critica la arquitectura
De vuelta como el fundador escéptico — ataca el plan del CTO desde una perspectiva de producto/envío: ¿Está sobrediseñado para un MVP? ¿Sirve a la cuña? ¿Qué se recorta para enviar en semanas, no en meses?
Critica la estrategia
El CTO devuelve el fuego sobre la estrategia desde una perspectiva de realidad de ingeniería: ¿qué supuestos son técnicamente costosos o inviables para un MVP? ¿Dónde implica el go-to-market un alcance que el equipo no puede entregar rápidamente?
Síntesis final
Reconcilia todo en un paquete decisivo, resolviendo los desacuerdos con una recomendación clara. Genera encabezados exactos ##: Resumen, Backlog MVP, Riesgos, Pruebas de validación, Próximos prompts.
El intercambio cruzado es el punto clave. Codex construye sobre la estrategia de Claude (paso 2), luego cada uno critica el dominio del otro (pasos 3 & 4), y Claude reconcilia los cuatro en un veredicto (paso 5). Después de cada paso, el orquestador reescribe run.json y un archivo Markdown, por lo que la interfaz revela los resultados de uno en uno.
◆Descubrimiento de ideas
La mayor parte de IdeaClyst evalúa una idea que tú aportas. El Descubrimiento de ideas (la ruta /discover) hace lo contrario — encuentra ideas para ti, fundamentadas en lo que la gente está luchando realmente en la web. La página en blanco es la parte más difícil de construir; Descubrimiento la reemplaza con señales de demanda real.
Cuéntale quién construye
Completa opcionalmente /profile una vez para que el descubrimiento pueda tener en cuenta habilidades, acceso al comprador, capital, tiempo, riesgo y comodidad con ventas.
Tú enmarcan la búsqueda
Un mercado o espacio — "apps para visionOS," "IA para contables" — más tu objetivo y capacidad de construcción. El contexto del perfil del fundador se rellena previamente en las notas y puede editarse por exploración.
Surfagent recorre la web
Chrome sin cabeza recorre carriles específicos de fuentes — Hacker News, Reddit, Product Hunt, GitHub, páginas de reseñas/precios comerciales y la web en general — en busca de problemas, "ojalá existiera…", lanzamientos y ecosistemas de implementación.
Un panorama honesto primero
Claude redacta una lectura del espacio con fuentes citadas — un veredicto de una línea, señales de demanda, competencia, quién realmente paga y una perspectiva realista para tu objetivo. Empieza con las malas noticias cuando el mercado es difícil.
Encuentra la zona de cuña
La exploración crea un mapa de alto dolor/competencia para que puedas ver cuñas nítidas, ideas saturadas pero validadas, apuestas exploratorias y posibles descartadas antes de elegir un candidato.
Ideas concretas y comparables
Luego 5–7 candidatos, clasificados por mejor ajuste primero, cada uno con una cuña, quién paga, esfuerzo de construcción, fortaleza comercial, mayor riesgo, ajuste, señal + fuente, puntuación de confianza y criterios de descarte.
Inspecciona antes de comprometerte
Cada candidato se abre en un informe completo: tarjeta de puntuación de oportunidad, ajuste de negocio, escalera de oferta, por-qué-ahora, señales de prueba, brecha de mercado, plan de ejecución, ajuste de marco, inteligencia de comunidad y palabras clave, ajuste al fundador, lente de perfil y análisis crítico.
Observa cómo se acumulan las señales
/trends recoge términos de mercado, notas de crecimiento de palabras clave, comunidades relacionadas, fuentes y enlaces de candidatos de los descubrimientos locales.
Toma una decisión más nítida
Guarda informes en /library, añádelos a /compare, ordénalos por puntuaciones y copia Markdown, JSON, resúmenes de una página, prompts de construcción o prompts solo de revisión.
Un clic hacia el consejo
"Promover al consejo" convierte un candidato en una ejecución normal y lleva la tesis del informe, el ajuste al fundador, la oferta principal y el veredicto del análisis crítico al briefing del consejo.
Una función de primera clase. Como la investigación, el Descubrimiento está controlado por modo (candidatos sin conexión deterministas en simulado; exploración en vivo + síntesis en modo CLI) y es de mejor esfuerzo — siempre devuelve candidatos, incluso sin conexión o cuando una fuente está bloqueada.
Los descubrimientos persisten en disco bajo .ideaclyst/discoveries/<id>/ (un discovery.json, MARKET_READ.md, OPPORTUNITY_MAP.md, CANDIDATES.md y artefactos de informe/versión), y la página de descubrimiento sondea en vivo, igual que una ejecución. El radar de tendencias escribe en .ideaclyst/trends; perspectivas, monitores, decisiones, exportaciones, carriles de fuente, importaciones de validación y entrevistas escriben en sus propias carpetas locales bajo .ideaclyst/. La cabecera de la aplicación permanece ligera: Explorar abre /discover, /today y /trends; Espacio de trabajo abre sesiones, biblioteca y validación. Comparar, evidencia, decisiones, perspectivas, monitores, entrevistas, clústeres y configuración de investigación se enlazan contextualmente desde esas páginas.
◆Inteligencia de hoja de ruta
IdeaClyst puede leer la hoja de ruta de un proyecto de Threlmark — un gestor de hojas de ruta local-first independiente — y convertirla en sugerencias de crecimiento fundamentadas. Apúntalo a un proyecto (la ruta /roadmap) y propone nuevas funciones, productos derivados y servicios, cada uno puntuado como una tarjeta de hoja de ruta y respaldado por evidencia web real. Revísalos y luego envía los mejores de vuelta al Inbox de Threlmark.
Apunta a Threlmark
Lee la hoja de ruta de cada proyecto directamente del disco (~/.threlmark) — solo lectura — o a través de la API REST de Threlmark. Configúralo en la nueva página /settings; las variables de entorno siempre tienen precedencia.
Conoce primero la hoja de ruta
Una lectura de cobertura determinista — qué categorías son sólidas, cuáles son escasas o están completamente ausentes, qué está hecho frente a lo que sigue abierto — enmarca el análisis antes de ejecutar cualquier modelo.
Funciones · derivados · servicios
Tres carriles de investigación independientes recorren la web: brechas→funciones, adyacencia→derivados, productizar→servicios. Tú eliges cuántas sugerencias por carril.
Siempre real, nunca simulado
Solo en vivo + estricto. Cada sugerencia cita enlaces de fuente reales y efectivamente obtenidos, más un por-qué-ahora. Sin fuentes no hay fabricación — solo un aviso claro.
Puntuación, fuentes, selección
La página de revisión muestra impacto/evidencia/ajuste/esfuerzo, prioridad calculada, el por-qué-ahora y los enlaces de fuente por tarjeta. Marca las que vale la pena conservar.
Viaje de ida y vuelta al Inbox
"Enviar a Threlmark" escribe archivos de sugerencias planos en la carpeta suggestions/ del proyecto; el Inbox de Threlmark las acepta en la hoja de ruta. Elige un proyecto de destino diferente para promoción cruzada.
Solo lectura excepto una carpeta. IdeaClyst únicamente escribe en el directorio suggestions/ de un proyecto Threlmark — nunca en sus elementos, tablero o metadatos. Las sugerencias llevan procedencia (tipo, por-qué-ahora, fuentes) que va y vuelve intacta a través del Inbox de Threlmark.
Los análisis persisten bajo .ideaclyst/roadmap/<id>/ y la página sondea en vivo, igual que una ejecución. La fuente de datos y cualquier URL base REST se configuran en /settings; consulta las nuevas variables en Configuración. La inteligencia de hoja de ruta está controlada por modo como el resto de la investigación — se ejecuta en vivo + estricto y muestra solo datos reales.
05Ciclo de vida de la solicitud
Desde el momento en que pulsas enviar, este es el camino exacto — ten en cuenta que el servidor responde antes de que el consejo termine:
| # | Etapa | Qué ocurre |
|---|---|---|
| 1 | Envío | El formulario /new hace un POST del briefing de idea a /api/runs. |
| 2 | Validar y crear | Título requerido, idea ≥ 10 caracteres, objetivo debe ser válido. Se escribe una ejecución en estado queued en disco (run.json + IDEA.md). |
| 3 | Disparar y olvidar | El servidor llama a void startRun(id) sin await y devuelve { runId } con un 201 inmediatamente. |
| 4 | Redirigir | El cliente navega a /runs/[runId]. |
| 5 | Sondear | La página de ejecución obtiene GET /api/runs/[runId] cada 1,5 s, re-renderizando a medida que se rellenan los resultados. |
| 6 | Deliberar | En segundo plano, el orquestador ejecuta los pasos 1→5, reescribiendo run.json después de cada uno. |
| 7 | Completar | El paso 5 se divide en pestañas, el estado pasa a completed (o failed), y el sondeo se detiene. |
// api/runs/route.ts — la entrega de disparar y olvidar const run = await createRun(input); void startRun(run.id); // NO se espera — se ejecuta en segundo plano return NextResponse.json({ runId: run.id }, { status: 201 });
06Modo simulado vs. CLI
Una variable de entorno, IDEACLYST_AGENT_MODE, selecciona el backend. El orquestador y la interfaz son idénticos en ambos modos — solo agents/ se comporta de forma diferente.
| Aspecto | Simulado (predeterminado) | CLI |
|---|---|---|
| Se establece con | IDEACLYST_AGENT_MODE=mock | IDEACLYST_AGENT_MODE=cli |
| ¿Necesita CLIs? | No — se ejecuta instantáneamente sin conexión | Sí — claude & codex instalados + con sesión iniciada |
| Impulsado por | Ejecución estructurada + clave de paso (prompt ignorado) | El prompt generado (ejecución/paso ignorados) |
| Salida | Markdown determinista y consciente de la idea | Salida real del modelo |
| Usar para | Demos, trabajo de interfaz, desarrollo sin conexión | Paquetes de planificación reales |
Requisitos previos del modo CLI. Ambos binarios deben estar en PATH y autenticados: claude --version y codex login status. IdeaClyst nunca maneja credenciales — depende completamente de la sesión local propia de cada CLI.
Espera minutos, no segundos. Un consejo completo en modo CLI son cinco llamadas reales al modelo — aproximadamente 50–80 s por paso, ~5–7 min de principio a fin. El modo simulado termina instantáneamente. Las variables de entorno se leen al iniciar el servidor, así que reinicia el servidor de desarrollo tras cambiar de modo, y ten en cuenta que cambiar de modo no recalcula las ejecuciones existentes — inicia una nueva sesión.
¿Una ejecución usó realmente las CLIs reales? Abre su PRODUCT_STRATEGY.md — la salida real es específica de tu idea y hace referencia a tu pila preferida / restricciones, mientras que la salida simulada reutiliza una plantilla fija (intercala el texto de tu idea en frases genéricas como "…apunta a un flujo de trabajo que actualmente es manual, fragmentado o simplemente tolerado").
07Cómo funcionan las llamadas CLI
En modo CLI, cada paso del consejo lanza un proceso real. Ambos backends usan args en array + stdin (nunca una cadena de shell), de modo que un prompt no puede romper el escape ni inyectar sintaxis de shell, y ambos aplican un tiempo de espera por llamada (predeterminado 180 s).
Backend Claude
Sin -p / --print. Cuando la salida estándar de claude no es un TTY (aquí es una tubería), la CLI se ejecuta de forma no interactiva e imprime una única respuesta y luego sale. Así que IdeaClyst simplemente envía el prompt por stdin y lee stdout — no se necesita ninguna flag de impresión. --tools "" lo mantiene como una completación de texto puro (sin acciones agénticas sobre archivos), y se ejecuta dentro del directorio de ejecución propio de la idea (cwd del proceso spawneado):
// agents/claude.ts — se ejecuta en el directorio propio de la ejecución claude --tools "" // prompt por stdin, stdout en tubería (no TTY) [--model <model>] // opcional IDEACLYST_CLAUDE_MODEL
Devuelve stdout recortado. Un binario faltante (ENOENT), una salida no nula sin salida o una salida vacía rechazan con un mensaje claro de "vuelve al modo simulado".
¿Por qué no -p? El comportamiento limpio no interactivo de la CLI se activa por un stdout no TTY, no solo por la flag de impresión — por lo que eliminar -p (y el --output-format exclusivo de -p) aún produce una completación en un solo disparo. Cada idea se ejecuta en su propio directorio, reflejando cómo se aísla Codex.
Backend Codex
Ejecuta Codex de forma no interactiva, en modo de solo lectura, dentro de un directorio de trabajo temporal desechable para que no pueda tocar tu sistema de archivos — solo queremos la completación de texto:
// agents/codex.ts codex exec --json --skip-git-repo-check --ephemeral \ -s read-only --color never \ -C <temp-dir> -o last-message.txt - // prompt por stdin
El mensaje final limpio se lee del archivo de salida -o; el flujo de eventos --json se analiza como alternativa (y para mostrar un error de API limpio). El directorio temporal siempre se elimina después. Un IDEACLYST_CODEX_MODEL opcional añade -m <model>, de lo contrario se delega en ~/.codex/config.toml.
08Modelo de datos y almacenamiento
IdeaClyst es local-first: no hay base de datos ni estado en memoria. Cada ejecución es un directorio, y run.json es la única fuente de verdad — el orquestador lo reescribe después de cada paso, la API de sondeo simplemente lo lee de vuelta.
Estructura en disco
El registro de ejecución
Una ejecución lleva el briefing (título, idea, objetivo, cliente objetivo opcional / restricciones / pila preferida), un status de queued → running → completed | failed, una etiqueta currentStep legible por humanos para la interfaz, y un objeto outputs que comienza vacío y se rellena. Los IDs de ejecución son slugs con prefijo de marca de tiempo, por lo que un ordenamiento inverso de cadenas produce las más recientes primero de forma gratuita.
| Estado | Significado |
|---|---|
queued | Creada, el consejo aún no ha comenzado. |
running | Consejo en curso; currentStep rastrea dónde estamos. |
completed | Los 5 pasos completados; pestañas rellenadas. |
failed | Un paso generó error; error contiene el mensaje, pasos previos preservados. |
División de secciones indulgente. El paso 5 solicita encabezados exactos ##, pero markdown.ts los hace coincidir sin distinguir mayúsculas/minúsculas por palabra clave (p. ej., "mvp" / "backlog" / "scope") y tolera ###. Si no se encuentra una sección, el plan completo vuelve a la pestaña Resumen — así que una pestaña nunca queda en blanco.
09Referencia de la API
/api/runsLista todas las ejecuciones, las más recientes primero. Devuelve { runs: Run[] }.
/api/runsValida el briefing, crea una ejecución en cola, lanza el consejo en segundo plano y devuelve { runId } (201). Validación: título requerido; idea ≥ 10 caracteres; objetivo ∈ validate · plan · build · pitch · refine.
// cuerpo de la solicitud { "title": "...", // requerido "idea": "...", // requerido, 10+ caracteres "goal": "validate", // requerido, uno de los cinco "targetCustomer": "...", // opcional "constraints": "...", // opcional "preferredStack": "..." // opcional }
/api/runs/[runId]Devuelve una sola ejecución como { run: Run } — esto es lo que sondea la página de detalle cada 1,5 s.
Controlar una ejecución desde el terminal
La interfaz es solo un cliente de esta API — todo lo que puedes hacer en el navegador lo puedes hacer desde un script. Crea una ejecución, sondea hasta que se complete y luego lee el paquete del disco:
# 1. Crear una ejecución → devuelve { "runId": "..." } curl -s -X POST http://localhost:5417/api/runs \ -H 'Content-Type: application/json' \ -d '{"title":"StandupScribe","idea":"A Slack bot that posts a daily standup digest.","goal":"plan"}' # 2. Sondear el estado hasta completado (cada pocos segundos) curl -s http://localhost:5417/api/runs/<runId> | jq '.run.status, .run.currentStep' # 3. Leer el paquete terminado cat .ideaclyst/runs/<runId>/FINAL_PLAN.md
10Mapa de archivos
11Configuración
Toda la configuración vive en .env.local (copia desde .env.example). No se requieren secretos.
| Variable | Predeterminado | Propósito |
|---|---|---|
IDEACLYST_AGENT_MODE | mock | mock o cli |
IDEACLYST_CLAUDE_BIN | claude | Binario/ruta de la CLI Claude |
IDEACLYST_CLAUDE_MODEL | vacío | Modelo Claude concreto (p. ej. opus), o delegar al predeterminado de la CLI |
IDEACLYST_CODEX_BIN | codex | Binario/ruta de la CLI Codex |
IDEACLYST_CODEX_MODEL | vacío | Modelo Codex concreto, o delegar a ~/.codex/config.toml |
IDEACLYST_AGENT_TIMEOUT_MS | 180000 | Tiempo de espera por llamada al agente |
IDEACLYST_DATA_DIR | .ideaclyst | Dónde se almacenan las ejecuciones |
Investigación y descubrimiento
Todo de mejor esfuerzo; la ruta en vivo necesita una instalación de Chrome/Chromium. La investigación sigue el modo del agente a menos que se sobreescriba.
| Variable | Predeterminado | Propósito |
|---|---|---|
IDEACLYST_RESEARCH_MODE | sigue el modo del agente | Sobreescritura mock o live |
IDEACLYST_RESEARCH_STRICT | desactivado | 1 = nunca mostrar contenido simulado/sin conexión; mostrar un aviso claro si los datos en vivo no están disponibles (combinar con live) |
IDEACLYST_RESEARCH_ENGINE | duckduckgo | duckduckgo · bing · google |
IDEACLYST_CHROME_BIN | detección automática | Sobreescritura de ruta de Chrome/Chromium |
IDEACLYST_RESEARCH_USER_AGENT | UA de Chrome de escritorio | Sobreescritura de UA (evita desafíos de bots headless) |
IDEACLYST_RESEARCH_CDP_PORT | 9222 | Puerto de depuración de Chrome sin cabeza |
IDEACLYST_RESEARCH_TIMEOUT_MS | 20000 | Tiempo de espera de reconocimiento por página |
IDEACLYST_RESEARCH_BUDGET_MS | 60000 | Presupuesto completo del paso de investigación/exploración |
IDEACLYST_RESEARCH_MAX_RESULTS | 6 | Resultados de búsqueda analizados por consulta |
IDEACLYST_RESEARCH_MAX_SOURCES | 3 | Páginas con reconocimiento en profundidad |
IDEACLYST_RESEARCH_IDLE_MS | 120000 | Eliminar Chrome sin cabeza inactivo después de |
Inteligencia de hoja de ruta (Threlmark)
Desde dónde IdeaClyst lee los proyectos Threlmark. La página /settings también edita estos valores; las variables de entorno tienen precedencia.
| Variable | Predeterminado | Propósito |
|---|---|---|
IDEACLYST_ROADMAP_SOURCE | settings / disk | disk o rest |
THRELMARK_DATA_DIR | ~/.threlmark | Raíz de datos Threlmark (fuente de disco) |
IDEACLYST_ROADMAP_DIR | = THRELMARK_DATA_DIR | Sobreescritura explícita de ruta |
IDEACLYST_THRELMARK_API | ninguno | URL base para la fuente REST (p. ej. http://localhost:5418) |
12Ejecución
# inicio rápido — modo simulado, sin CLIs necesarias npm install cp .env.example .env.local npm run dev # → http://localhost:5417 # luego: abre la app → "Start an Idea Session" → envía → observa cómo se ensambla
| Script | Hace |
|---|---|
npm run dev | Servidor de desarrollo en :5417 (Turbopack) |
npm run build | Compilación para producción |
npm run start | Sirve la compilación de producción en :5417 |
npm run lint | ESLint |
npm run typecheck | tsc --noEmit |
13Límites y solución de problemas
El hot reload interrumpe las ejecuciones en curso. El orquestador se ejecuta en proceso. En desarrollo, editar un archivo durante una ejecución puede matar un consejo activo. Reinicia dev e inicia una nueva sesión. Los pasos ya completados en disco se conservan.
"The council run failed" en modo CLI. Casi siempre es una CLI no instalada o sin sesión iniciada. Comprueba claude --version y codex login status, o establece IDEACLYST_AGENT_MODE=mock para volver a las salidas simuladas.
Alcance v0. Sin autenticación, facturación, equipos, base de datos ni Docker. Las ejecuciones son archivos locales. Esto es intencional — IdeaClyst es un instrumento de planificación local-first, no un producto alojado.