<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Alvaro Llamojha</title>
    <description>The latest articles on Forem by Alvaro Llamojha (@llamojha).</description>
    <link>https://forem.com/llamojha</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3617468%2F194837f9-bb65-4a5b-b928-3d17e82a7234.jpeg</url>
      <title>Forem: Alvaro Llamojha</title>
      <link>https://forem.com/llamojha</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/llamojha"/>
    <language>en</language>
    <item>
      <title>Cómo sacar el máximo partido a Kiro</title>
      <dc:creator>Alvaro Llamojha</dc:creator>
      <pubDate>Mon, 16 Mar 2026 22:20:04 +0000</pubDate>
      <link>https://forem.com/aws-builders/como-sacar-el-maximo-partido-a-kiro-4i00</link>
      <guid>https://forem.com/aws-builders/como-sacar-el-maximo-partido-a-kiro-4i00</guid>
      <description>&lt;p&gt;Empecé con Kiro hace unos meses, en octubre de 2025, durante un hackathon llamado Kiroween. Fue básicamente mi punto de partida para empezar a probar Kiro como IDE y entender qué estaba intentando hacer AWS con esta propuesta. Mi objetivo era probar Kiro y ver en qué se diferenciaba de otras herramientas que ya estaba usando.&lt;/p&gt;

&lt;p&gt;En aquel entonces tampoco había demasiadas guías sobre Kiro. Así que casi todo lo que hice fue exploratorio: abrir proyectos, probar el vibecoding, entender eso del spec-driven development y ver cómo respondía el IDE.&lt;/p&gt;

&lt;p&gt;Con el paso de los meses y metiéndome más en la comunidad de Kiro, empecé a descubrir todo lo que realmente hay detrás del IDE. No es solamente un editor con IA. Hay todo un sistema alrededor de cómo gestionar el contexto de la IA, cómo configurar el comportamiento del IDE y cómo gobernar lo que hace.&lt;/p&gt;

&lt;p&gt;Ahí es donde empiezan a aparecer conceptos como:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;steerings&lt;/li&gt;
&lt;li&gt;hooks&lt;/li&gt;
&lt;li&gt;MCPs&lt;/li&gt;
&lt;li&gt;powers&lt;/li&gt;
&lt;li&gt;agentes&lt;/li&gt;
&lt;li&gt;prompts&lt;/li&gt;
&lt;li&gt;skills&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Si ya estás usando Kiro, o estás pensando en usarlo, y aun no sabes como encajan todas estas piezas, este artículo es para ti.&lt;/p&gt;

&lt;h2&gt;
  
  
  TLDR: instalar Kiro
&lt;/h2&gt;

&lt;p&gt;Si todavía no tienes Kiro instalado, aquí tienes los enlaces:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://kiro.dev/docs/getting-started/installation/" rel="noopener noreferrer"&gt;Instalación de Kiro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kiro.dev/downloads/" rel="noopener noreferrer"&gt;Instalación en Windows&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kiro.dev/docs/cli/installation/" rel="noopener noreferrer"&gt;Instalación en Linux&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Con eso deberías poder tener el IDE funcionando en unos minutos.&lt;br&gt;
A partir de aquí es donde empieza lo interesante.&lt;/p&gt;

&lt;h2&gt;
  
  
  Steerings
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fln5u8gu7wnrvh2fq36yv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fln5u8gu7wnrvh2fq36yv.png" alt="Kiro Steerings" width="578" height="302"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Los &lt;a href="https://kiro.dev/docs/steering/" rel="noopener noreferrer"&gt;Steerings&lt;/a&gt; son simplemente archivos Markdown donde defines instrucciones, reglas o contexto que quieres que Kiro tenga en cuenta cuando trabaja en tu proyecto. &lt;/p&gt;

&lt;p&gt;No solamente sirven para dar instrucciones. También pueden contener información estructural sobre tu proyecto.&lt;/p&gt;

&lt;p&gt;Por ejemplo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;La estructura y organizacion del repositorio&lt;/li&gt;
&lt;li&gt;Convenciones de código y nomenclatura&lt;/li&gt;
&lt;li&gt;Arquitectura del proyecto&lt;/li&gt;
&lt;li&gt;Como generar la documentación&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Uno de los casos más comunes es pedirle a Kiro que genere los &lt;em&gt;Foundational&lt;/em&gt; Steerings.&lt;/p&gt;

&lt;p&gt;Cuando haces esto, Kiro escanea tu proyecto y genera varios archivos dentro del directorio de configuración de Kiro. Normalmente incluyen:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;producto&lt;/li&gt;
&lt;li&gt;estructura&lt;/li&gt;
&lt;li&gt;tech&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Todo esto se genera usando el contexto que Kiro detecta en el repositorio. Es un buen punto de partida porque te da una base de documentación que la IA puede usar cuando trabaja en el código.&lt;/p&gt;

&lt;h3&gt;
  
  
  Steerings que recomiendo usar
&lt;/h3&gt;

&lt;p&gt;Además de los foundational steerings, hay varios tipos que son bastante útiles añadir en proyectos reales.&lt;/p&gt;

&lt;p&gt;Por ejemplo:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reglas de trabajo en el proyecto&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Cómo trabaja el equipo en ese repositorio. Esto puede incluir cosas como:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Convenciones de nomenclaturas&lt;/li&gt;
&lt;li&gt;Estructura de carpetas&lt;/li&gt;
&lt;li&gt;Vision y Mision del projecto&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Esto ayuda mucho a que Kiro no empiece a generar cosas que se salgan del estilo del proyecto.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Estilo de documentación&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Puedes definir cómo se documenta el código, qué secciones deben aparecer, o cómo se escriben los READMEs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Convenciones de arquitectura&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Si tu proyecto sigue un patrón concreto, hexagonal, event driven, clean architecture, etc., tener eso definido en un steering ayuda bastante a mantener consistencia.&lt;/p&gt;

&lt;p&gt;Cuanto más claro le dejes a Kiro cómo funciona tu proyecto, mejores resultados vas a obtener.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hooks
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fquoqo18s8ognijcf5tuz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fquoqo18s8ognijcf5tuz.png" alt="Kiro Hooks" width="628" height="478"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Los &lt;a href="https://kiro.dev/docs/hooks/" rel="noopener noreferrer"&gt;Hooks&lt;/a&gt; son otra pieza bastante potente dentro de Kiro. Básicamente son prompts que se ejecutan automáticamente cuando ocurre un evento.&lt;/p&gt;

&lt;p&gt;Unos ejemplos de esos eventos son:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cuando se crea, modifica o elimina un fichero&lt;/li&gt;
&lt;li&gt;Al empezar o terminar una tarea&lt;/li&gt;
&lt;li&gt;Manualmente&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Un ejemplo bastante simple:&lt;br&gt;
Si estás modificando archivos Markdown, puedes tener un hook que:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ejecute un lint&lt;/li&gt;
&lt;li&gt;Formatee el Markdown&lt;/li&gt;
&lt;li&gt;Revise enlaces rotos&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Otro ejemplo:&lt;br&gt;
Si estás modificando código, podrías tener un hook que genere automáticamente documentación sobre los cambios que se han hecho.&lt;/p&gt;

&lt;p&gt;Esto abre la puerta a automatizar bastantes cosas dentro del flujo de desarrollo.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cómo empezar con hooks
&lt;/h3&gt;

&lt;p&gt;Los hooks tienen distinta maneras de dispararse: &lt;a href="https://kiro.dev/docs/hooks/types/" rel="noopener noreferrer"&gt;hook triggers&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Mi recomendación es empezar siempre con hooks manuales.&lt;/p&gt;

&lt;p&gt;Primero pruebas qué hacen, verificas que el resultado es el esperado y te aseguras de que no están haciendo nada raro.&lt;br&gt;
Cuando ya estás contento con el resultado entonces sí puedes empezar a automatizarlos.&lt;br&gt;
Recuerda que los hooks lanzan una tarea en Kiro, si tienes muchos hooks automatizados eso puede acarrear un coste elevado de creditos. Esa fue una de las primeras lecciones que aprendi con los hooks. &lt;/p&gt;

&lt;h2&gt;
  
  
  MCPs
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmwimtp0frka1y1xbb400.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmwimtp0frka1y1xbb400.png" alt="Kiro MCPs" width="612" height="274"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Los &lt;a href="https://kiro.dev/docs/mcp/" rel="noopener noreferrer"&gt;MCPs&lt;/a&gt; son otra de las piezas importantes dentro de Kiro y de la IA en general.&lt;/p&gt;

&lt;p&gt;Para explicarlo de una manera muy sencilla, un MCP es básicamente como una API para que la IA lo use. Los MCPs permiten conectar la IA con servicios externos. Le da acceso a información o herramientas que normalmente no estarían dentro del contexto del proyecto.&lt;/p&gt;

&lt;p&gt;Algunos ejemplos bastante comunes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cocumentación de AWS&lt;/li&gt;
&lt;li&gt;Context7 para documentación técnica&lt;/li&gt;
&lt;li&gt;Integración con Atlassian, como Jira o Confluence&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Puedes conectar Kiro con documentación, herramientas externas o sistemas internos del equipo y hacer que la IA pueda trabajar con todo eso.&lt;/p&gt;

&lt;h2&gt;
  
  
  Powers
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqjf5tzqurv178ca5b309.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqjf5tzqurv178ca5b309.png" alt="Kiro Powers" width="640" height="770"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;La parte no tan buena de los MCPs es que añade contexto dentro de la sesión de IA. Y cuantos mas MCPs tengas activados mas contexto va a consumir, causando que te cueste mas las tareas.&lt;/p&gt;

&lt;p&gt;Muchas veces no necesitas tener todos los MCPs activos todo el tiempo. Y aquí es donde entran los Kiro &lt;a href="https://kiro.dev/docs/powers/" rel="noopener noreferrer"&gt;Powers&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Los powers permiten encapsular tareas o dominios que se repiten mucho. Includas tareas que usen MCPs. &lt;br&gt;
Imaginate que tienes un MCP de la base de datos Supabase. Pero para esta tarea sabes que no vas a necesitar la base de datos. Si lo encapsulas con un Power, Kiro lo invocaria solo cuando necesites la base de datos, liberandote el contexto que usaria ese MCP cuando no lo uses.&lt;/p&gt;

&lt;p&gt;Hace tiempo escribir un articulo sobre la creacion de mi primer Power (esta en Ingles, sorry): &lt;a href="https://dev.to/kirodotdev/building-my-first-kiro-power-posthog-observability-fik"&gt;Construyendo mi primer Kiro Power - Posthog Observability&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Agentes customizables
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0novq28mpwcm9ncaqnzn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0novq28mpwcm9ncaqnzn.png" alt="Custom Agents" width="800" height="315"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A principios de este año, Kiro anuncio los &lt;a href="https://kiro.dev/docs/chat/subagents/" rel="noopener noreferrer"&gt;agentes customizables&lt;/a&gt; o sub-agentes. Los agentes ya existian dentro de Kiro, esto lo habréis visto si ya habéis hecho el spec-driven development en el IDE o el &lt;a href="https://kiro.dev/docs/cli/chat/planning-agent/" rel="noopener noreferrer"&gt;modo plan&lt;/a&gt; con el CLI. Ambos usan agentes que ya están definidos dentro de Kiro, para ejecutar una tipo especifico de tarea. &lt;/p&gt;

&lt;p&gt;Los agents tienen una structura y un prompt propio que lo hace comportarse de la manera especificada. &lt;/p&gt;

&lt;p&gt;Lo que hacen es que tienen una estructura y un prompt interno en el cual solamente aparece el agente. Tiene ciertas herramientas en las cuales están habilitadas o no. Y pueden tener selecionado un modelo. &lt;br&gt;
Por ejemplo, el agente del plan se comporta como un guia para planificar una tarea dada, te hace preguntas acerca de la tarea y te hace un plan detallado. Este agente tiene la herramienta de escribir ficheros deshabilitada, ya que solamente es un plan el que vas a hacer, no vas a hacer la implementación.&lt;/p&gt;

&lt;p&gt;El plan es un agente que ya estaba pre-definido por Kiro. Ahora tú puedes hacer los tuyos propios, lo que significa que puedes llevar esto al siguiente nivel. O cuatro niveles mas alla. Y por que cuatro? porque con los sub-agentes puedes tener cuatro agentes corriendo en paralelo. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb1hf40qmfdjy91rpybbx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb1hf40qmfdjy91rpybbx.png" alt="Agentes en paralelo" width="800" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Cómo uso yo los agentes customizables
&lt;/h2&gt;

&lt;p&gt;Los agentes que siempre uso son agentes que estén relacionados con lo que estás haciendo en el proyecto como tal.&lt;/p&gt;

&lt;p&gt;Por ejemplo, tengo un proyecto que es de TypeScript, pues tengo un agente que es &lt;a href="https://kirohub.dev/resource/llamojha/typescript-expert" rel="noopener noreferrer"&gt;experto en TypeScript&lt;/a&gt;. Tiene un prompt especifico de como trabajar como un experto de TypeScript. Y le doy a habilitar tools de write y read.&lt;/p&gt;

&lt;h2&gt;
  
  
  Consejo de LLMs para planificación y arquitectura
&lt;/h2&gt;

&lt;p&gt;Otro ejemplo que tengo es para tareas de planificación, arquitectura y toma de decisiones.&lt;/p&gt;

&lt;p&gt;Normalmente, si le preguntas al mejor modelo que tengas, te puede dar una opción que sea bastante buena, pero lo ideal es que tengas varias opciones, ya que la IA es no-deterministica y puede alucinar. &lt;/p&gt;

&lt;p&gt;A la hora de hacer planificación, arquitectura, toma de decisiones, asuntos en los cuales sea más crear un plan o un diseño, y no una implementación, en la vida real te juntas con un equipo, haces una lluvia de ideas y tienes diferentes opiniones por parte del equipo. &lt;/p&gt;

&lt;p&gt;¿Cómo llevariamos esto dentro de Kiro? Tienes agentes customizables que tienen un prompt específico, por ejemplo en planificar. Como en los agentes customizables tú puedes decir qué modelo está usando, le puedes dar un modelo distinto para el mismo tipo de agente. Por ejemplo: Opus, Sonnet, Haiku y Auto, cuatro modelos.&lt;/p&gt;

&lt;p&gt;A la hora de hacer un plan, le pido a Kiro que use mi &lt;em&gt;Consejo de Agentes&lt;/em&gt; en paralelo. Kiro lanza estos cuatro modelos corriendo en paralelo haciéndome un plan independiente cada uno. Una vez terminan, el agente por defecto me compila esos cuatro planes, cogiendo lo mejor de cada uno. &lt;/p&gt;

&lt;p&gt;Esto es algo que cambia el modelo de hacer una planificación completamente. Haces un brainstorming de varios modelos y te aseguras de tener siempre lo mejor de lo mejor. A lo mejor un modelo puede alucinar, pero que cuatro alucinen a la vez es más difícil. &lt;/p&gt;

&lt;h2&gt;
  
  
  Spec-driven development
&lt;/h2&gt;

&lt;p&gt;La parte que me llamó más la atención de Kiro es el &lt;a href="https://kiro.dev/docs/specs/" rel="noopener noreferrer"&gt;spec-driven development&lt;/a&gt; que ya estaba incluido dentro del IDE.&lt;/p&gt;

&lt;p&gt;Para los desarolladores este no es un concepto del todo nuevo, es parecido a definir un ticket, darle unos requerimientos, sacar el diseño y luego implementar el ticket basado en distintas sub-tareas.&lt;/p&gt;

&lt;p&gt;El spec-mode de Kiro te crea unos requerimientos, un diseño y genera una lista de tareas, todo en ficheros markdown, en los cuales tú los puedes revisar y tener contexto de tu aplicación o tu repositorio.&lt;/p&gt;

&lt;p&gt;Si os interesa que escriba un articulo mas centrado en Spec-Driven Development, dejadme un comentario con vuestro interes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusión
&lt;/h2&gt;

&lt;p&gt;En este artículo hemos visto lo que son los Steerings, Hooks, MCPs, Powers y los agentes customizables, y hemos visto por encima el spec-driven development.&lt;/p&gt;

&lt;p&gt;Todas estas funcionalidades dentro de Kiro se define como el contexto de la IA. Si habeis escuchado hablar del Context-Driven Development, es este contexto al que se refieren. &lt;/p&gt;

&lt;p&gt;Este articulo es el resultado de un aprendizaje que he hecho a lo largo de los meses. Y el aprendizaje es continuo, me sigo encontrando nuevas funcionalidades, como por ejemplo los &lt;a href="https://kiro.dev/docs/skills/" rel="noopener noreferrer"&gt;skills&lt;/a&gt;, que no los he mencionado, pero es algo que también está incluido dentro de Kiro y es se han hecho muy famosos recientemente.&lt;/p&gt;

&lt;p&gt;Si no estás usando Kiro, te recomendaría que lo pruebes, tanto el IDE como por la línea de comandos, el CLI, y que pruebes el spec-driven development.&lt;/p&gt;

&lt;p&gt;Y si te interesa saber mas sobre Kiro, el Context-Driven Development y de Spec-Driven Development, o quieres comentar tu experiencia con Kiro, no dudes en contáctarme o escríbelo en los comentarios. &lt;/p&gt;

</description>
      <category>kiro</category>
      <category>aws</category>
      <category>ai</category>
    </item>
    <item>
      <title>Running Kiro CLI from a Raspberry Pi 400</title>
      <dc:creator>Alvaro Llamojha</dc:creator>
      <pubDate>Thu, 15 Jan 2026 14:32:35 +0000</pubDate>
      <link>https://forem.com/kirodotdev/running-kiro-cli-from-a-raspberry-pi-400-4d2h</link>
      <guid>https://forem.com/kirodotdev/running-kiro-cli-from-a-raspberry-pi-400-4d2h</guid>
      <description>&lt;p&gt;A few years ago, I got a Raspberry Pi 400 as a birthday present. I looked up projects, ideas, cool builds, but nothing really grabbed me. So it went back in the box.&lt;/p&gt;

&lt;p&gt;Recently, I’ve been building with Kiro for a couple of months now, and one day I found the Raspberry Pi and the idea came to me. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What if I could run Kiro CLI from the Raspberry Pi?&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Raspberry Pi setup
&lt;/h2&gt;

&lt;p&gt;I had to buy a microSD and a power cord first before I could get hands on. For the OS on the Micro SD, I used &lt;a href="https://www.raspberrypi.com/software/" rel="noopener noreferrer"&gt;Raspberry Pi Imager&lt;/a&gt; selected the default Raspberry Pi OS (Debian-based), went through the configuration, plugged in the Micro SD and connected the Pi. After a couple of minutes, I was able to SSH in. &lt;/p&gt;

&lt;p&gt;SSH in (if it's in your local network):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh user@&amp;lt;your-pi-hostname-or-ip&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then the usual housekeeping + tools I knew I’d need for the Kiro install:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# update the Pi&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;sudo &lt;/span&gt;apt upgrade &lt;span class="nt"&gt;-y&lt;/span&gt;

&lt;span class="c"&gt;# dev box basics (I wanted git, and I installed Node because I plan to build a small wrapper later)&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://deb.nodesource.com/setup_20.x | &lt;span class="nb"&gt;sudo&lt;/span&gt; &lt;span class="nt"&gt;-E&lt;/span&gt; bash -
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; nodejs
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;One thing that becomes important later is that this machine is ARM64:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;uname&lt;/span&gt; &lt;span class="nt"&gt;-m&lt;/span&gt;
&lt;span class="c"&gt;# aarch64 - you can also see this when doing SSH &lt;/span&gt;
ldd &lt;span class="nt"&gt;--version&lt;/span&gt;
&lt;span class="c"&gt;# ldd (Debian GLIBC 2.41-12+rpt1) 2.41&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Installing Kiro CLI and hitting SIGILL
&lt;/h2&gt;

&lt;p&gt;Once everything was ready, I went straight to the official Kiro CLI install docs and followed the Linux ARM (aarch64) instructions:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kiro.dev/docs/cli/installation/#linux-arm-aarch64" rel="noopener noreferrer"&gt;Kiro CLI — Linux ARM (aarch64)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I downloaded it and ran the installer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;--proto&lt;/span&gt; &lt;span class="s1"&gt;'=https'&lt;/span&gt; &lt;span class="nt"&gt;--tlsv1&lt;/span&gt;.2 &lt;span class="nt"&gt;-sSf&lt;/span&gt; &lt;span class="s1"&gt;'https://desktop-release.q.us-east-1.amazonaws.com/latest/kirocli-aarch64-linux.zip'&lt;/span&gt; &lt;span class="nt"&gt;-o&lt;/span&gt; &lt;span class="s1"&gt;'kirocli.zip'&lt;/span&gt;
unzip kirocli.zip
bash ./kirocli/install.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The install itself looked fine. The binary was in place. Edit the Path in the .bashrc to include the path for the kiro-cli bin:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;'export PATH="$HOME/.local/bin:$PATH"'&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; ~/.bashrc
&lt;span class="nb"&gt;source&lt;/span&gt; ~/.bashrc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And then I ran:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;kiro-cli
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;…and got:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Illegal instruction &lt;span class="o"&gt;(&lt;/span&gt;SIGILL&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I knew then that this may not be straightforward, and I may had to refresh my processor architecture knowledge. Just in case, I've tried re-installing, rebooting, trying multiple times but still was the same issue.&lt;/p&gt;

&lt;h2&gt;
  
  
  The fix: use the ARM64 musl build
&lt;/h2&gt;

&lt;p&gt;After going back to the docs (again), I noticed the musl option:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kiro.dev/docs/cli/installation/#linux-arm-aarch64-with-musl" rel="noopener noreferrer"&gt;Kiro CLI — Linux ARM (aarch64) with musl&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The docs frame it mostly around &lt;code&gt;glibc&lt;/code&gt; version. My &lt;code&gt;glibc&lt;/code&gt; was new enough (2.41), so I assumed the standard build was the right one.&lt;/p&gt;

&lt;p&gt;But at that point, I’d already tried the standard route and it was consistently crashing with SIGILL, so I figured: let’s just try the musl build.&lt;/p&gt;

&lt;p&gt;I installed the aarch64 musl version… and that was it. &lt;code&gt;kiro-cli&lt;/code&gt; ran successfully.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;--proto&lt;/span&gt; &lt;span class="s1"&gt;'=https'&lt;/span&gt; &lt;span class="nt"&gt;--tlsv1&lt;/span&gt;.2 &lt;span class="nt"&gt;-sSf&lt;/span&gt; &lt;span class="s1"&gt;'https://desktop-release.q.us-east-1.amazonaws.com/latest/kirocli-aarch64-linux-musl.zip'&lt;/span&gt; &lt;span class="nt"&gt;-o&lt;/span&gt; &lt;span class="s1"&gt;'kirocli.zip'&lt;/span&gt;
unzip kirocli.zip 
./kirocli/install.sh
kiro-cli
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu55f445ae92ji2xf6f20.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu55f445ae92ji2xf6f20.png" alt="Kiro CLI" width="800" height="297"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Login (headless, over SSH)
&lt;/h2&gt;

&lt;p&gt;Once the CLI actually ran, the login flow was straightforward.&lt;br&gt;
It printed a login URL in the terminal. I copied it, pasted it into my laptop browser, logged in (I used GitHub), went back to the SSH session, and Kiro CLI was authenticated on the Pi.&lt;/p&gt;




&lt;h2&gt;
  
  
  Wrap-up
&lt;/h2&gt;

&lt;p&gt;So yes: you can run Kiro CLI on a Raspberry Pi 400. I've tried running simple and complex tasks, and both worked fine. &lt;/p&gt;

&lt;p&gt;It took me about an hour end-to-end, including the time lost to the SIGILL crash. The key detail was simply using the &lt;strong&gt;ARM64 musl&lt;/strong&gt; build from the docs instead of the standard one.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I’m doing next
&lt;/h2&gt;

&lt;p&gt;Now that it’s running, I want to push this a bit further.&lt;/p&gt;

&lt;p&gt;I want that PM approach for working with Kiro. A workflows that looks like: I create and curate tickets like a PM, and Kiro acts as the dev taking care of the code implementation (running from the Raspberry Pi). &lt;/p&gt;




&lt;p&gt;Do you have a Raspberry Pi and want to try this? What has been your experience with Kiro-CLI? Share it with us in the comments. &lt;/p&gt;

</description>
      <category>raspberrypi</category>
      <category>kiro</category>
    </item>
    <item>
      <title>Stop Vibecoding AI Monoliths</title>
      <dc:creator>Alvaro Llamojha</dc:creator>
      <pubDate>Mon, 05 Jan 2026 21:59:52 +0000</pubDate>
      <link>https://forem.com/llamojha/stop-vibecoding-ai-monoliths-295g</link>
      <guid>https://forem.com/llamojha/stop-vibecoding-ai-monoliths-295g</guid>
      <description>&lt;h2&gt;
  
  
  Vibing a Monolith
&lt;/h2&gt;

&lt;p&gt;I’ve been doing a bit of &lt;strong&gt;vibe coding&lt;/strong&gt; over the last few months. I’ve been jumping into forums, watching what other people are building, and I keep seeing the same pattern.&lt;/p&gt;

&lt;p&gt;People are building &lt;strong&gt;big monoliths with AI&lt;/strong&gt;. At the start it feels amazing. You move fast, you ship features, the AI is “in the zone”. But then the context keeps growing and growing, and eventually you hit a point where you &lt;strong&gt;can’t keep working with the AI anymore&lt;/strong&gt;. The repo turns into spaghetti, the AI starts missing important details, and you end up needing to ask someone else for help because the project has become a monster.&lt;/p&gt;

&lt;p&gt;And I see the exact same thing in my own projects. There’s always a moment where I realize I need a refactor. I need to structure things properly, index things properly, define architecture boundaries, because otherwise the AI is going to miss so much of the context of my application that it becomes actively unhelpful.&lt;/p&gt;




&lt;h2&gt;
  
  
  Microservices &amp;amp; Monorepo
&lt;/h2&gt;

&lt;p&gt;In my time as a DevOps engineer, working with big companies and startups, I kept coming across something that changed how I thought about scaling codebases: the &lt;strong&gt;monorepo&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A monorepo is a &lt;strong&gt;single repository where all your applications live&lt;/strong&gt;. You split it into microservices or micro-frontends, but everything still lives in one place. It’s basically a way to move away from a monolith while keeping a &lt;strong&gt;single source of truth&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgcgfzzzikb1nx0xhqh2d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgcgfzzzikb1nx0xhqh2d.png" alt="Mono=One, Repo=Repo" width="800" height="597"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I don’t want to go deep into what a monorepo is here. You can google it or ask your favorite AI. The important part for this post is &lt;strong&gt;how you split your application&lt;/strong&gt; into microservices and micro-frontends in a way that can actually be managed effectively.&lt;/p&gt;

&lt;p&gt;Because the real goal isn’t monorepo as a buzzword. The goal is to stop feeding your AI one massive, tangled blob of context.&lt;/p&gt;

&lt;p&gt;Instead of one monolith where the AI has to understand everything at once, you split the system into smaller chunks. Now your AI can work with &lt;strong&gt;small, focused context&lt;/strong&gt;, and each part stays more independent from the rest.&lt;/p&gt;

&lt;p&gt;In theory, this should reduce the AI losing focus problem. Fewer wild hallucinations, fewer “it forgot how the auth works”, fewer changes that accidentally break unrelated stuff.&lt;/p&gt;

&lt;p&gt;It also enables parallel work. Instead of one monolith that you just keep vibe coding into, you can have multiple sub-agents working on different parts of the application at the same time without constantly conflicting. Frontend, backend, UX flows, infra, whatever.&lt;/p&gt;




&lt;h2&gt;
  
  
  Monorepo reality check
&lt;/h2&gt;

&lt;p&gt;It sounds simple, right?&lt;/p&gt;

&lt;p&gt;Just switch to microservices or micro-frontends, put everything into a single repository, and that’s it.&lt;/p&gt;

&lt;p&gt;But no, it’s not that easy.&lt;/p&gt;

&lt;p&gt;Monorepos can be a &lt;strong&gt;real challenge&lt;/strong&gt; to handle. There are ways to make it easier, but the &lt;strong&gt;tooling complexity&lt;/strong&gt; is what makes it effort. This is exactly why I probably wouldn’t recommend this approach for a quick MVP.&lt;/p&gt;

&lt;p&gt;If you’re trying to launch something fast and you genuinely don’t know if it’s going to live beyond a few weeks, don’t over-engineer it.&lt;/p&gt;

&lt;p&gt;But once you have a product you actually want to grow, you know you’re going to add multiple features, you know it’s going to expand, then yes, I’d fully recommend moving to a monorepo approach.&lt;/p&gt;




&lt;h2&gt;
  
  
  From a Monolith to a Monorepo
&lt;/h2&gt;

&lt;p&gt;I think the best way to approach a monorepo when you already have a monolith is to start splitting your application into different microservices or micro-frontends. That is the first approach.&lt;/p&gt;

&lt;p&gt;You need to keep two things in consideration.&lt;/p&gt;

&lt;p&gt;First, each of them should be independent from each other. You shouldn’t have any dependencies if possible. That will enable you to keep working on one feature without breaking the others.&lt;/p&gt;

&lt;p&gt;Second, backwards compatibility. You can’t just rip the monolith apart and pray. You need a plan so new services can coexist while old functionality still works.&lt;/p&gt;

&lt;p&gt;Then there’s deployments. Splitting a system means you now have multiple deployable units, which is great, but you can easily create a CI/CD nightmare if you don’t manage it properly.&lt;/p&gt;

&lt;p&gt;There are tools to do this. I would recommend &lt;a href="https://turborepo.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Turborepo&lt;/strong&gt; &lt;/a&gt; for orchestrating tasks and caching across the repo so you are not rebuilding and retesting the world every time you touch one service.&lt;/p&gt;




&lt;h2&gt;
  
  
  So...Is It Worth It?
&lt;/h2&gt;

&lt;p&gt;Having said all this, is this worth your time?&lt;/p&gt;

&lt;p&gt;I would say 100% yes, if your project is going to live long enough to justify the setup cost.&lt;/p&gt;

&lt;p&gt;I think in 2026 we’re going to see a move from vibe coding into a more structured AI coding workflow. Spec-driven development, planning, tickets, sprints, basically the stuff we already did as software engineers, because it works.&lt;/p&gt;

&lt;p&gt;Instead of evolving one giant monolith forever, we’re going to start evolving into microservices, micro-frontends, and monorepos.&lt;/p&gt;

&lt;p&gt;I’m 100% sure there are people working on tools to handle this. I think 2026 is going to be the year where this path becomes much more normal.&lt;/p&gt;

&lt;p&gt;First we build big monoliths and ship by vibing with no structure. Then we introduce tickets and sprint planning, which is basically spec-driven development. Now we are hitting the AI version of that same evolution. We need boundaries and context control, and a practical way to do that is to split the system and treat each part as its own focused unit.&lt;/p&gt;




&lt;p&gt;If you’re building with AI and you’re building monoliths, have you run into any of these issues? Have you considered moving to a monorepo structure? And if you’re already doing monorepos with AI, what’s been your experience?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>vibecoding</category>
      <category>monorepo</category>
    </item>
    <item>
      <title>Building my first Kiro Power: PostHog Observability</title>
      <dc:creator>Alvaro Llamojha</dc:creator>
      <pubDate>Thu, 18 Dec 2025 01:14:24 +0000</pubDate>
      <link>https://forem.com/kirodotdev/building-my-first-kiro-power-posthog-observability-fik</link>
      <guid>https://forem.com/kirodotdev/building-my-first-kiro-power-posthog-observability-fik</guid>
      <description>&lt;p&gt;When I first explored &lt;strong&gt;Kiro Powers&lt;/strong&gt;, the &lt;strong&gt;Datadog Power&lt;/strong&gt; immediately stood out. I'm a DevOps Engineer focused on Observability and Monitoring. I have experience with Datadog, New Relic and PostHog, so this piqued my attention. I was also participating in a hackathon that used Datadog, so I got to try that Power in a real workflow—not just as a demo. That experience triggered a simple thought: I also use &lt;strong&gt;PostHog&lt;/strong&gt; heavily in another project, and I couldn’t find a PostHog Power. Since PostHog already has an &lt;strong&gt;MCP server&lt;/strong&gt;, it felt like a perfect candidate for my first Power project.&lt;/p&gt;

&lt;p&gt;TLDR; You can try my first Kiro Power for Posthog: &lt;a href="https://github.com/llamojha/posthog-kiro-power" rel="noopener noreferrer"&gt;posthog-kiro-power&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What are Kiro Powers?
&lt;/h2&gt;

&lt;p&gt;Kiro Powers are &lt;strong&gt;on-demand capability bundles&lt;/strong&gt; for your AI agent. Instead of always loading every tool and every set of best practices into context, a Power is activated when it’s relevant—so the agent can load the right context and tools at the right time.&lt;/p&gt;

&lt;p&gt;A Power typically packages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;MCP servers / tool connections&lt;/strong&gt; (so the agent can interact with real systems)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Steering / guidance files&lt;/strong&gt; (best practices and workflow patterns)&lt;/li&gt;
&lt;li&gt;Optional &lt;strong&gt;hooks&lt;/strong&gt; (validation or automation depending on the Power)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That “load on demand” part is the key idea for me. Powers are meant to keep the agent focused without overwhelming it with irrelevant context.&lt;/p&gt;

&lt;p&gt;If you want the official docs: &lt;a href="https://kiro.dev/docs/powers" rel="noopener noreferrer"&gt;Kiro Powers&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Building the Power with Kiro's Build a Power
&lt;/h2&gt;

&lt;p&gt;The first step for me was using the Power that helps you &lt;a href="https://github.com/kirodotdev/powers/tree/main/power-builder" rel="noopener noreferrer"&gt;Build a Power&lt;/a&gt;. This power guides you through the structure and basic setup.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flgsrlahexb372ikzdssa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flgsrlahexb372ikzdssa.png" alt="Build a Power" width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My approach was simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I told Kiro I wanted to create a Power for &lt;strong&gt;PostHog MCP&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;I provided the PostHog MCP URL/docs as context (link below)&lt;/li&gt;
&lt;li&gt;I also mentioned I already had the Datadog Observability Power installed, and asked if we could use it as a template since both are observability-oriented&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Normally, I use spec-driven development with Kiro. But in this case, I didn’t. This was small and specific, and I knew exactly what I wanted—so I treated it more like a guided conversation than a formal spec.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fea16mux531pk0zb7tir2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fea16mux531pk0zb7tir2.png" alt="Power Folder Structure" width="306" height="222"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  “An unexpected error occurred, please retry.”
&lt;/h2&gt;

&lt;p&gt;There’s a common Kiro error that people mention a lot:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“An unexpected error occurred, please retry.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I’d seen it discussed in the Discord community, but I’d never hit it myself until I installed my own Power.&lt;/p&gt;

&lt;p&gt;Because this was my first Power, I initially assumed I’d made a mistake in the implementation or missed a required configuration step. I ended up going down a rabbit hole trying to figure out what was wrong.&lt;/p&gt;

&lt;p&gt;In the end, it was much simpler: it was a &lt;strong&gt;misconfiguration / bad state in the Power setup&lt;/strong&gt;. What fixed it was:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Uninstalling a couple of Powers I wasn’t using&lt;/li&gt;
&lt;li&gt;Reinstalling cleanly&lt;/li&gt;
&lt;li&gt;Re-trying the install&lt;/li&gt;
&lt;li&gt;Click on 'Try this Power'&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2pu682hvzgon2ameso4b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2pu682hvzgon2ameso4b.png" alt="Try This Power" width="490" height="262"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fosnvwaos82eka4tjv6ms.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fosnvwaos82eka4tjv6ms.png" alt="Try this power chat" width="800" height="651"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Installing it, testing it, and open sourcing it
&lt;/h2&gt;

&lt;p&gt;For a testing installation, I decided to import power from a folder and it worked fine. I just have to add my &lt;strong&gt;PostHog API key&lt;/strong&gt; and it was ready to go.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9brywl6cbas52anmhrxx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9brywl6cbas52anmhrxx.png" alt="Add Power" width="542" height="132"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Testing was straightforward because my application was already wired up with PostHog. Once the Power was installed, I could ask Kiro to inspect what I already had in PostHog dashboards, existing insights, and the general shape of my data. It actually came back and propose to use Feature Flags with PostHog, which is a really good suggestion, as I am using feature flags in a very basic way.&lt;/p&gt;

&lt;p&gt;I also asked Kiro to look at my PostHog setup and propose a plan for adding &lt;strong&gt;LLM monitoring&lt;/strong&gt;, because I’m currently missing that. It gave me a concrete direction, and implementing that is the next feature I want to add after writing this blog post.&lt;/p&gt;

&lt;p&gt;This Kiro Power is key as I can focus my development to be more &lt;strong&gt;data-driven&lt;/strong&gt; by just asking Kiro to look into my data on PostHog and use it as context or new features.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to try it?
&lt;/h2&gt;

&lt;p&gt;In order to install it, you just need the GitHub URL &lt;code&gt;https://github.com/llamojha/posthog-kiro-power/tree/main/powers/posthog&lt;/code&gt;, plus your PostHog API key in the MCP config.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcf06vuu88l1fkm4t07du.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcf06vuu88l1fkm4t07du.png" alt="Add power via Github URL" width="800" height="143"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F25szorr9yq2oi8rtzwq7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F25szorr9yq2oi8rtzwq7.png" alt="My Power URL" width="800" height="97"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Lessons learned and what’s next
&lt;/h2&gt;

&lt;p&gt;Initially, it felt a bit intimidating having to 'build a power'. This all changed once I tried. Having the 'Build a Power' power to help me and guide me building helped a lot. It felt like a conversation with Kiro and it was very straightforward. I fully recommend you try to build a Power even if it's just to find out how it works. &lt;/p&gt;

&lt;p&gt;If you already know the tool you want to wrap—an MCP server, a CLI, or a workflow you use often—then creating a Power is mostly about packaging it cleanly and making it easy for the agent to load when relevant.&lt;/p&gt;

&lt;h3&gt;
  
  
  Next steps
&lt;/h3&gt;

&lt;p&gt;This was a fun and smooth experience so I'm eager to keep building. I have a couple of ideas on what to do next:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I’ve used &lt;strong&gt;New Relic&lt;/strong&gt; as well, so I’m looking into the New Relic MCP side and creating a &lt;strong&gt;New Relic Power&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;I also want to build a more complex Power. Bundle up Hooks and Steerings and test how far the Power concept can go in a larger workflow.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If someone from PostHog is reading this, please feel free to copy my work and make an official PostHog Kiro Power &amp;lt;3. &lt;/p&gt;

&lt;p&gt;What was your experience with Kiro Powers? Have you built your own? Share your experience in the comments or join the &lt;a href="https://discord.gg/kirodotdev" rel="noopener noreferrer"&gt;Kiro Discord&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;My first Kiro Power for PostHog repository: &lt;a href="https://github.com/llamojha/posthog-kiro-power" rel="noopener noreferrer"&gt;Link&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Kiro Powers docs: &lt;a href="https://kiro.dev/docs/powers" rel="noopener noreferrer"&gt;Link&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;PostHog MCP docs: &lt;a href="https://posthog.com/docs/model-context-protocol" rel="noopener noreferrer"&gt;Link&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>kiro</category>
      <category>posthog</category>
    </item>
    <item>
      <title>No Vibe No Code: Bootstrapping Ideas</title>
      <dc:creator>Alvaro Llamojha</dc:creator>
      <pubDate>Wed, 03 Dec 2025 18:34:20 +0000</pubDate>
      <link>https://forem.com/kirodotdev/no-vibe-no-code-bootstrapping-ideas-o88</link>
      <guid>https://forem.com/kirodotdev/no-vibe-no-code-bootstrapping-ideas-o88</guid>
      <description>&lt;h2&gt;
  
  
  1. The Core Problem: Too Many Ideas, Not Enough Finished Things
&lt;/h2&gt;

&lt;p&gt;I always have loads of ideas for projects. Often I start them, and most of the time I don't even finish them. My problem isn’t creativity. The problem is that most of those ideas never make it past the “oh, that would be cool” stage.&lt;/p&gt;

&lt;p&gt;So I end up with this growing backlog of “things I could build someday” and no clear way to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;store them&lt;/li&gt;
&lt;li&gt;compare them&lt;/li&gt;
&lt;li&gt;or decide which one actually deserves my time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I saw an opportunity in this Kiroween Hackathon to build an app where I could:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;dump all my ideas&lt;/li&gt;
&lt;li&gt;validate them against the hackathon (or any) criteria&lt;/li&gt;
&lt;li&gt;and then actually move them towards something shippable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And so &lt;strong&gt;No Vibe No Code&lt;/strong&gt; was created.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. What is No Vibe No Code?
&lt;/h2&gt;

&lt;p&gt;The core concept is &lt;strong&gt;from idea to vibecoding&lt;/strong&gt; (or spec-coding in Kiro's case) &lt;/p&gt;

&lt;p&gt;At a high level, &lt;strong&gt;No Vibe No Code&lt;/strong&gt; is &lt;em&gt;A place to bootstrap your ideas and get them into a Kiro-ready, development-ready shape as quickly as possible&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Here is an example of the user flow: &lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Get an idea (or generate one)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Write your own idea&lt;/strong&gt; – maybe something that’s been sitting in your notes app for months
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Or&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;Dr. Frankenstein&lt;/strong&gt;, this is basically a chaotic idea generator (inspired by the Kiroween category)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I personally love Dr. Frankenstein feature on No Vibe No Code because it randomly picks a few popular &lt;strong&gt;tech companies&lt;/strong&gt; or a few &lt;strong&gt;AWS services&lt;/strong&gt; -&amp;gt; Smashes them together -&amp;gt; And creates some weird hybrid idea that actually fits nicely for hackathon-style creativity.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fljr68qns7uvj7c9blvjc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fljr68qns7uvj7c9blvjc.png" alt="Dr Frankenstein selecting Tech Companies to mix up"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdwng55aqgcrax2r2wjrc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdwng55aqgcrax2r2wjrc.png" alt="Dr Frankenstein selecting AWS Services to mix up"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Validate your idea
&lt;/h3&gt;

&lt;p&gt;Ok, so I have 100s of ideas, but how do I know if they are good ideas? How do I know if they are feasible? Are they even good ideas for this hackathon? &lt;/p&gt;

&lt;p&gt;For that, we've added a 'Kiroween Analyser'. This feature will generate a report against the hackathon criteria and score it accordingly. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx98itfvocp5scnkd3r40.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx98itfvocp5scnkd3r40.png" alt="Our own score in the Kiroween Analyser"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This validator opens a possibility to add multiple validators that can serve to analyse ideas against specific criteria like hackathons, games, small side-projects, the possibilities are endless. In this case, we were focused on Kiroween. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsazn4glsbnzxzr5yilp8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsazn4glsbnzxzr5yilp8.png" alt="Kiroween Category match"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Generate some core documents
&lt;/h3&gt;

&lt;p&gt;Once you have an idea (manual or Frankenstein’ed), No Vibe No Code helps you generate the &lt;strong&gt;core docs&lt;/strong&gt; you need to support your building:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;PRD&lt;/strong&gt; – to clarify the problem and the user&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;technical design doc&lt;/strong&gt; - to describe how the solution will work at a feature level&lt;/li&gt;
&lt;li&gt;An &lt;strong&gt;architecture design&lt;/strong&gt; - to map the high-level components, services, and boundaries (more tech-oriented)&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;roadmap for an MVP&lt;/strong&gt; – to define the smallest version worth shipping and how to get there&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5hg0q2jrkxh4ws9tsta1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5hg0q2jrkxh4ws9tsta1.png" alt="Documents generation flow"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The goal is: your idea stops being just a sentence and starts becoming a &lt;strong&gt;structured concept&lt;/strong&gt;. &lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Power up Kiro
&lt;/h3&gt;

&lt;p&gt;Once those docs exist, you can &lt;code&gt;export to kiro&lt;/code&gt;:&lt;/p&gt;

&lt;p&gt;No Vibe No Code will then:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generate &lt;strong&gt;steering rules&lt;/strong&gt; for Kiro
&lt;/li&gt;
&lt;li&gt;Generate &lt;strong&gt;spec templates&lt;/strong&gt; aligned with your roadmap
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe6zuupfkfoq2kj41v2kj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe6zuupfkfoq2kj41v2kj.png" alt="Export to Kiro"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So instead of opening Kiro with a blank chat and writing “Help me build X,” you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Walk in with a defined idea
&lt;/li&gt;
&lt;li&gt;Have a PRD, design, architecture, and MVP roadmap
&lt;/li&gt;
&lt;li&gt;Already have steering rules and spec scaffolding ready to go&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;From there, you can just start kicking off specs and building.&lt;/p&gt;

&lt;p&gt;That’s the main idea of No Vibe No Code:&lt;br&gt;&lt;br&gt;
&lt;strong&gt;from raw idea → structured docs → Kiro-ready boilerplate, with as little friction as possible.&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Demo
&lt;/h3&gt;

&lt;p&gt;

  &lt;iframe src="https://www.youtube.com/embed/aL1Jmpw0g-w"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;




&lt;h2&gt;
  
  
  3. Building &lt;em&gt;Before&lt;/em&gt; Kiro
&lt;/h2&gt;

&lt;p&gt;Because of my background as a platform / DevOps engineer, I naturally thought in terms of structure: roadmaps, milestones, and tasks.&lt;/p&gt;

&lt;p&gt;So my workflow looked roughly like this:&lt;/p&gt;

&lt;p&gt;Create a PRD or Readme with context for the project -&amp;gt; Create a roadmap with milestones to achieve and divided by tasks -&amp;gt; Ask the AI to implement each task based on those documents.  &lt;/p&gt;

&lt;p&gt;At the time, I didn’t even realise there was a name for what I was doing!!&lt;/p&gt;

&lt;p&gt;So when I eventually discovered Kiro and saw its spec-driven development focus, I had this moment of:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Hold on your horses… they’re doing exactly what I’ve been trying to do, just… better.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That’s when I decided to go all in on Kiro.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. My Journey with Kiro
&lt;/h2&gt;

&lt;p&gt;When I first set up Kiro for this project, I went with the &lt;strong&gt;default, raw setup&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No custom &lt;strong&gt;steering rules&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;No &lt;strong&gt;MCPs&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;No &lt;strong&gt;hooks&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Obviously, this wasn't ideal as I was missing a lot of features.&lt;/p&gt;

&lt;h3&gt;
  
  
  Discovering Kiro’s Best Practices
&lt;/h3&gt;

&lt;p&gt;In my first week, I joined the &lt;a href="https://discord.gg/kirodotdev" rel="noopener noreferrer"&gt;Kiro Discord&lt;/a&gt; and started reading through posts and getting to know &lt;strong&gt;best practices&lt;/strong&gt; and how other people were building with Kiro.&lt;/p&gt;

&lt;p&gt;Around that time, Kiro also released the &lt;a href="https://kiro.dev/docs/mcp/servers" rel="noopener noreferrer"&gt;&lt;strong&gt;MCP Server directory&lt;/strong&gt;&lt;/a&gt;, which made it much easier to install MCPs.&lt;/p&gt;

&lt;p&gt;I also discovered that Kiro could &lt;strong&gt;auto-generate&lt;/strong&gt; some basic &lt;a href="https://kiro.dev/docs/steering/" rel="noopener noreferrer"&gt;steering&lt;/a&gt; files for things like: tech, structure and product.&lt;/p&gt;

&lt;h3&gt;
  
  
  Taking it to the next Level
&lt;/h3&gt;

&lt;p&gt;From there, my Kiro setup evolved gradually:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Started adding steering rules and adapting them to my setup.
&lt;/li&gt;
&lt;li&gt;Wired in some useful MCPs (context7, github, supabase).
&lt;/li&gt;
&lt;li&gt;Using rules for &lt;a href="https://kiro.dev/docs/steering/#inclusion-modes" rel="noopener noreferrer"&gt;inclusion&lt;/a&gt; on steering and &lt;a href="https://kiro.dev/docs/hooks/types/" rel="noopener noreferrer"&gt;triggers&lt;/a&gt; on hooks
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Over days and weeks, this went from:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Just raw Kiro, let’s see what happens.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;to:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I have a small ecosystem here that actually understands how I like to work.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Models - From autopilot to Opus 4.5
&lt;/h3&gt;

&lt;p&gt;When I started this project, I kicked things off using &lt;strong&gt;Kiro Auto model&lt;/strong&gt;. I wasn't sure if I was going to burn all my credits with the other models, and I didn't know the actual difference between those models. Default seems like a good plan. &lt;/p&gt;

&lt;p&gt;For a big chunk of the journey, Auto was genuinely fine. Sometimes it produced bugs or weird decisions but nothing too critical.&lt;/p&gt;

&lt;p&gt;Later on, when I saw I still had credits left, I decided to experiment a bit.&lt;/p&gt;

&lt;h4&gt;
  
  
  Sonnet 4.5
&lt;/h4&gt;

&lt;p&gt;I tried &lt;strong&gt;Sonnet 4.5&lt;/strong&gt; for a few specs. Overall, it felt the same as Auto model bit more expensive. I still had to babysit some results and debug like crazy. &lt;/p&gt;

&lt;p&gt;But then... There was an announcement!&lt;/p&gt;

&lt;h4&gt;
  
  
  Opus 4.5
&lt;/h4&gt;

&lt;p&gt;Opus 4.5 landed, at x2.2 cost and with 500 credits left for the month, I decided to go all in with Opus for the last few specs.&lt;/p&gt;

&lt;p&gt;That’s where I actually felt the difference. The code quality was noticeably higher, and there were fewer bugs (still some, but manageable).&lt;/p&gt;

&lt;p&gt;Yes, it’s more expensive, but for the final specs, where I really cared about quality and didn’t want to waste time chasing edge cases, it felt absolutely worth it (I ended the month with 50 credits left)&lt;/p&gt;

&lt;h3&gt;
  
  
  Adding Property-Based Testing to the mix
&lt;/h3&gt;

&lt;p&gt;Kiro announced &lt;a href="https://kiro.dev/docs/specs/correctness/" rel="noopener noreferrer"&gt;Property-based testing&lt;/a&gt; halfway through Kiroween. It was such a good concept that I couldn't resist spending a spec on this. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpkt33avup4d22sc5c1yg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpkt33avup4d22sc5c1yg.png" alt="Asking on discord about Property-based testing"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After implementing it, I felt more comfortable trusting AI-generated code. It aligned well with the whole “let’s automate the boring but important parts” mindset. It creates a pretty solid safety net.&lt;/p&gt;




&lt;h2&gt;
  
  
  7. What I’d Do Differently (And how No Vibe No Code can help)
&lt;/h2&gt;

&lt;p&gt;Let's recap on my journey:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Started with a raw Kiro setup (no steering, no MCPs, no hooks).
&lt;/li&gt;
&lt;li&gt;Added things gradually, as I discovered them.
&lt;/li&gt;
&lt;li&gt;Let my IDE configuration drift and change over time.
&lt;/li&gt;
&lt;li&gt;Tweaked the ecosystem spec by spec.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That worked, but it could have been a smoother experience. What I’d prefer instead is a solid &lt;strong&gt;boilerplate&lt;/strong&gt; from day one: sensible project structure, steering rules setup, and documentation to get ready to spec. &lt;/p&gt;

&lt;p&gt;And that’s exactly the point of &lt;strong&gt;No Vibe No Code&lt;/strong&gt;. I want a place where I can show up with an idea, press a few buttons, and end up with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;project docs generated.&lt;/li&gt;
&lt;li&gt;clear path from idea → MVP.&lt;/li&gt;
&lt;li&gt;boilerplate Kiro ready.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If there’s &lt;strong&gt;no vibe&lt;/strong&gt; with the idea and documents, there’s &lt;strong&gt;no code&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Share your Work and Ideas
&lt;/h2&gt;

&lt;p&gt;You can try it out now!! Go to &lt;a href="https://www.novibenocode.com" rel="noopener noreferrer"&gt;No Vibe No Code&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can spin up your own No Vibe No Code too!! Open Source GitHub repo: (&lt;a href="https://github.com/llamojha/no-vibe-no-code-kiroween" rel="noopener noreferrer"&gt;https://github.com/llamojha/no-vibe-no-code-kiroween&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;If you end up playing with this No Vibe No Code workflow, I’d genuinely love to see what you come up with.&lt;/p&gt;

&lt;p&gt;In particular:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What &lt;strong&gt;Dr. Frankenstein&lt;/strong&gt; ideas did you generate?
&lt;/li&gt;
&lt;li&gt;Which ones actually made it past the “haha that’s funny” stage and into a real &lt;strong&gt;PRD / design / roadmap&lt;/strong&gt;?
&lt;/li&gt;
&lt;li&gt;How was your experience going from &lt;strong&gt;raw idea → Kiro → working thing&lt;/strong&gt;?&lt;/li&gt;
&lt;li&gt;If you think I should rebrand to &lt;strong&gt;No Vibe No Spec&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Let’s get building!!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>kiro</category>
      <category>kiroween</category>
      <category>hackathon</category>
      <category>kirodotdev</category>
    </item>
  </channel>
</rss>
